[
https://issues.apache.org/jira/browse/TINKERPOP-3261?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18095038#comment-18095038
]
ASF GitHub Bot commented on TINKERPOP-3261:
-------------------------------------------
spmallette commented on code in PR #3483:
URL: https://github.com/apache/tinkerpop/pull/3483#discussion_r3553186119
##########
docs/src/upgrade/release-4.x.x.asciidoc:
##########
@@ -800,6 +887,37 @@ Kryo's default `Map` serializer because it extended
`HashMap`, whereas in 4.x it
serializer. As a result, Gryo-serialized `Tree` data written by 3.x cannot be
read by 4.x and vice versa. The
Gryo type registration id (`61`) is unchanged and 4.x-to-4.x Gryo round-trips
correctly; this Gryo break is
expected for the 4.0.0 major release.
+===== Multi-Label Support
Review Comment:
Seems worth mentioning that the intent is that `getLabelCardinality` may be
a static value if that's all the graph support but ultimately should reflect
the state of the current graph instance. I'm not sure that's always clear to
folks. There is a fair bit of detail here in the Upgrade docs for providers -
possibly too much? Shouldn't we put these details in the Provider docs
themselves and link to it from here with a more brief introduction?
> Enable multiple label support on vertex with configurable label cardinality
> ---------------------------------------------------------------------------
>
> Key: TINKERPOP-3261
> URL: https://issues.apache.org/jira/browse/TINKERPOP-3261
> Project: TinkerPop
> Issue Type: Task
> Affects Versions: 4.0.0
> Reporter: Yang Xia
> Priority: Major
>
> Vertices are currently limited to a single immutable label assigned at
> creation. This prevents modeling common real-world scenarios where entities
> naturally belong to multiple categories (e.g., a person who is both an
> employee and a manager).
>
> Introduce a configurable LabelCardinality that controls how many labels a
> vertex may have and whether they can be mutated after creation. Three
> proposed modes: ONE (current behavior, default), ONE_OR_MORE (mutable,
> minimum one), ZERO_OR_MORE (fully flexible).
>
> New steps:
>
> - labels() — flatMap step emitting each label as a traverser
> - addLabel(String, String...) — add labels to a vertex
> - dropLabel(String, String...) — remove specific labels
> - dropLabels() — remove all labels
> Edge labels remain at cardinality ONE. The infrastructure would support
> future edge multi-label enablement without wire format changes.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)