[
https://issues.apache.org/jira/browse/TINKERPOP-1345?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15339489#comment-15339489
]
Marko A. Rodriguez commented on TINKERPOP-1345:
-----------------------------------------------
So, I assume you are having this issue with respects to
DSEGraph/SparkGraphComputer so I'll provide 2 solutions specific to your
situation.
1. Have your "complex id" object not implement {{Collection}} even if it is a
"complex id."
2. Like for OLTP, write your own {{GraphStep}} that is added via a
{{TraversalStrategy}}. {{DseSparkGraphStep}} which will NOT unroll collections.
For TinkerPop, I suppose we could be more specific than {{Collection}} --
{{Set}} or {{List}} perhaps? Or do {{DSEGraph}} ids implement one of those?
Note that this would be a major breaking change for TinkerPop so a solution on
our side would require a major release and {{dev@}} by in.
> Unrolling of collection for ids
> -------------------------------
>
> Key: TINKERPOP-1345
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1345
> Project: TinkerPop
> Issue Type: Bug
> Reporter: Matthias Broecheler
>
> In GraphStep, TinkerPop does this:
> {code}
> this.ids = (ids.length == 1 && ids[0] instanceof Collection) ? ((Collection)
> ids[0]).toArray(new Object[((Collection) ids[0]).size()]) : ids;
> {code}
> which means that collections are automatically unrolled when there is only
> one element. This breaks TP implementations that use collections to represent
> ids, for instance, because their id representation has multiple components
> (like a primary key in an RDMBS).
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)