[
https://issues.apache.org/jira/browse/TINKERPOP-1587?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15783746#comment-15783746
]
stephen mallette commented on TINKERPOP-1587:
---------------------------------------------
I tried a bunch of things with this and the only one that ended up making sense
was to default the instantiated TinkerGraph with default cardinality of
{{list}}. I can't think of any reason why this is a bad approach and should
only cause trouble if you were mutating the subgraph after it was returned
from Gremlin Server and expected the default of {{property(k,v)}} to be
{{single}} and ended up with {{list}} instead. The obvious fix would be to
specify {{Cardinality}} when setting the property.
I will give it some more thought over night and will likely push the fix
tomorrow as CTR as it is a very small change.
> Gremlin Server Subgraph Cardinality Not Respected
> -------------------------------------------------
>
> Key: TINKERPOP-1587
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1587
> Project: TinkerPop
> Issue Type: Bug
> Components: io
> Affects Versions: 3.2.3
> Reporter: Michael Margitus
> Assignee: stephen mallette
>
> The subgraph traversal step does not respect the cardinality of properties
> when executed on a graph remotely accessed from Gremlin Server. When
> queried, only one value of a multi-value property is returned. The following
> Java-based traversal illustrates the issue on The Crew graph. Below g is a
> Graph Traversal Source created using the withRemote() method on the
> EmptyGraph.
> {code}
> GraphTraversal<Edge, Object> traversal
> =g.E().hasLabel("develops").subgraph("subgraph").cap("subgraph");
> TinkerGraph subgraph = (TinkerGraph)traversal.next();
> GraphTraversalSource sg = subgraph.traversal();
> GraphTraversal<Vertex, Object> locationTraversal =
> sg.V(1L).values("location");
> while (locationTraversal.hasNext()) {
> System.out.println(locationTraversal.next());
> }
> {code}
> This traversal should return four locations {code} {id=1, name=[marko],
> location=[san diego, santa cruz, brussels, santa fe], label=person} {code}
> however it only returns santa fe.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)