[
https://issues.apache.org/jira/browse/TINKERPOP-1139?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
stephen mallette updated TINKERPOP-1139:
----------------------------------------
Description:
I am using the Neo4jGraph with the following SubgraphStrategy:
{code}
SubgraphStrategy.build().vertexCriterion(has("isLatest", true)).create();
{code}
I have 2 traversals. This one working works:
{code}
Map<String, Long> languageCounts =
searchResult.as("a").inE("isCreatedBy").outV().outE("hasWorkLanguage").inV().as("b").dedup("a",
"b")
.has("wwlanguage_name").<String>groupCount()
.by("wwlanguage_name").next();
{code}
This translates to:
{code}
[Neo4jGraphStep([],vertex)@[a],
TraversalFilterStep([HasStep([isLatest.eq(true)])]),
VertexStep(IN,[isCreatedBy],edge),
TraversalFilterStep([AndStep([[EdgeVertexStep(IN),
TraversalFilterStep([HasStep([isLatest.eq(true)])]),
TraversalFilterStep([HasStep([isLatest.eq(true)])])], [EdgeVertexStep(OUT),
TraversalFilterStep([HasStep([isLatest.eq(true)])]),
TraversalFilterStep([HasStep([isLatest.eq(true)])])]])]), EdgeVertexStep(OUT),
TraversalFilterStep([HasStep([isLatest.eq(true)])]),
VertexStep(OUT,[hasWorkLanguage],edge),
TraversalFilterStep([AndStep([[EdgeVertexStep(IN),
TraversalFilterStep([HasStep([isLatest.eq(true)])]),
TraversalFilterStep([HasStep([isLatest.eq(true)])])], [EdgeVertexStep(OUT),
TraversalFilterStep([HasStep([isLatest.eq(true)])]),
TraversalFilterStep([HasStep([isLatest.eq(true)])])]])]),
EdgeVertexStep(IN)@[b], TraversalFilterStep([HasStep([isLatest.eq(true)])]),
TraversalFilterStep([PropertiesStep([wwlanguage_name],property)]),
DedupGlobalStep([a, b]), GroupCountStep(value(wwlanguage_name))]
{code}
This one fails:
{code}
Map<String, Long> languageCounts =
searchResult.as("a").in("isCreatedBy").out("hasWorkLanguage").as("b")
.dedup("a",
"b").has("wwlanguage_name")
.<String>groupCount().by("wwlanguage_name").next();
{code}
This translates to:
{code}
[Neo4jGraphStep([],vertex)@[a],
TraversalFilterStep([HasStep([isLatest.eq(true)])]),
VertexStep(IN,[isCreatedBy],edge),
TraversalFilterStep([AndStep([[EdgeVertexStep(IN),
TraversalFilterStep([HasStep([isLatest.eq(true)])]),
TraversalFilterStep([HasStep([isLatest.eq(true)])])], [EdgeVertexStep(OUT),
TraversalFilterStep([HasStep([isLatest.eq(true)])]),
TraversalFilterStep([HasStep([isLatest.eq(true)])])]])]), EdgeVertexStep(OUT),
TraversalFilterStep([HasStep([isLatest.eq(true)])]),
VertexStep(OUT,[hasWorkLanguage],edge),
TraversalFilterStep([AndStep([[EdgeVertexStep(IN),
TraversalFilterStep([HasStep([isLatest.eq(true)])]),
TraversalFilterStep([HasStep([isLatest.eq(true)])])], [EdgeVertexStep(OUT),
TraversalFilterStep([HasStep([isLatest.eq(true)])]),
TraversalFilterStep([HasStep([isLatest.eq(true)])])]])]), EdgeVertexStep(IN),
TraversalFilterStep([HasStep([isLatest.eq(true)])]),
TraversalFilterStep([PropertiesStep([wwlanguage_name],property)]),
DedupGlobalStep([a, b]), GroupCountStep(value(wwlanguage_name))]
{code}
The failing query misses the '@[b]' of the last EdgeVertexStep(IN).
was:
I am using the Neo4jGraph with the following SubgraphStrategy:
SubgraphStrategy.build().vertexCriterion(has("isLatest", true)).create();
I have 2 traversals. This one working works:
Map<String, Long> languageCounts =
searchResult.as("a").inE("isCreatedBy").outV().outE("hasWorkLanguage").inV().as("b").dedup("a",
"b")
.has("wwlanguage_name").<String>groupCount()
.by("wwlanguage_name").next();
This translates to:
[Neo4jGraphStep([],vertex)@[a],
TraversalFilterStep([HasStep([isLatest.eq(true)])]),
VertexStep(IN,[isCreatedBy],edge),
TraversalFilterStep([AndStep([[EdgeVertexStep(IN),
TraversalFilterStep([HasStep([isLatest.eq(true)])]),
TraversalFilterStep([HasStep([isLatest.eq(true)])])], [EdgeVertexStep(OUT),
TraversalFilterStep([HasStep([isLatest.eq(true)])]),
TraversalFilterStep([HasStep([isLatest.eq(true)])])]])]), EdgeVertexStep(OUT),
TraversalFilterStep([HasStep([isLatest.eq(true)])]),
VertexStep(OUT,[hasWorkLanguage],edge),
TraversalFilterStep([AndStep([[EdgeVertexStep(IN),
TraversalFilterStep([HasStep([isLatest.eq(true)])]),
TraversalFilterStep([HasStep([isLatest.eq(true)])])], [EdgeVertexStep(OUT),
TraversalFilterStep([HasStep([isLatest.eq(true)])]),
TraversalFilterStep([HasStep([isLatest.eq(true)])])]])]),
EdgeVertexStep(IN)@[b], TraversalFilterStep([HasStep([isLatest.eq(true)])]),
TraversalFilterStep([PropertiesStep([wwlanguage_name],property)]),
DedupGlobalStep([a, b]), GroupCountStep(value(wwlanguage_name))]
This one fails:
Map<String, Long> languageCounts =
searchResult.as("a").in("isCreatedBy").out("hasWorkLanguage").as("b")
.dedup("a",
"b").has("wwlanguage_name")
.<String>groupCount().by("wwlanguage_name").next();
This translates to:
[Neo4jGraphStep([],vertex)@[a],
TraversalFilterStep([HasStep([isLatest.eq(true)])]),
VertexStep(IN,[isCreatedBy],edge),
TraversalFilterStep([AndStep([[EdgeVertexStep(IN),
TraversalFilterStep([HasStep([isLatest.eq(true)])]),
TraversalFilterStep([HasStep([isLatest.eq(true)])])], [EdgeVertexStep(OUT),
TraversalFilterStep([HasStep([isLatest.eq(true)])]),
TraversalFilterStep([HasStep([isLatest.eq(true)])])]])]), EdgeVertexStep(OUT),
TraversalFilterStep([HasStep([isLatest.eq(true)])]),
VertexStep(OUT,[hasWorkLanguage],edge),
TraversalFilterStep([AndStep([[EdgeVertexStep(IN),
TraversalFilterStep([HasStep([isLatest.eq(true)])]),
TraversalFilterStep([HasStep([isLatest.eq(true)])])], [EdgeVertexStep(OUT),
TraversalFilterStep([HasStep([isLatest.eq(true)])]),
TraversalFilterStep([HasStep([isLatest.eq(true)])])]])]), EdgeVertexStep(IN),
TraversalFilterStep([HasStep([isLatest.eq(true)])]),
TraversalFilterStep([PropertiesStep([wwlanguage_name],property)]),
DedupGlobalStep([a, b]), GroupCountStep(value(wwlanguage_name))]
The failing query misses the '@[b]' of the last EdgeVertexStep(IN).
> [Neo4JGraph] GraphTraversal with SubgraphStrategy removes addLabelStep
> (as("b"))
> --------------------------------------------------------------------------------
>
> Key: TINKERPOP-1139
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1139
> Project: TinkerPop
> Issue Type: Bug
> Components: neo4j
> Affects Versions: 3.1.0-incubating
> Reporter: Martijn Maas
> Fix For: 3.1.2-incubating
>
>
> I am using the Neo4jGraph with the following SubgraphStrategy:
> {code}
> SubgraphStrategy.build().vertexCriterion(has("isLatest", true)).create();
> {code}
> I have 2 traversals. This one working works:
> {code}
> Map<String, Long> languageCounts =
> searchResult.as("a").inE("isCreatedBy").outV().outE("hasWorkLanguage").inV().as("b").dedup("a",
> "b")
> .has("wwlanguage_name").<String>groupCount()
> .by("wwlanguage_name").next();
> {code}
> This translates to:
> {code}
> [Neo4jGraphStep([],vertex)@[a],
> TraversalFilterStep([HasStep([isLatest.eq(true)])]),
> VertexStep(IN,[isCreatedBy],edge),
> TraversalFilterStep([AndStep([[EdgeVertexStep(IN),
> TraversalFilterStep([HasStep([isLatest.eq(true)])]),
> TraversalFilterStep([HasStep([isLatest.eq(true)])])], [EdgeVertexStep(OUT),
> TraversalFilterStep([HasStep([isLatest.eq(true)])]),
> TraversalFilterStep([HasStep([isLatest.eq(true)])])]])]),
> EdgeVertexStep(OUT), TraversalFilterStep([HasStep([isLatest.eq(true)])]),
> VertexStep(OUT,[hasWorkLanguage],edge),
> TraversalFilterStep([AndStep([[EdgeVertexStep(IN),
> TraversalFilterStep([HasStep([isLatest.eq(true)])]),
> TraversalFilterStep([HasStep([isLatest.eq(true)])])], [EdgeVertexStep(OUT),
> TraversalFilterStep([HasStep([isLatest.eq(true)])]),
> TraversalFilterStep([HasStep([isLatest.eq(true)])])]])]),
> EdgeVertexStep(IN)@[b], TraversalFilterStep([HasStep([isLatest.eq(true)])]),
> TraversalFilterStep([PropertiesStep([wwlanguage_name],property)]),
> DedupGlobalStep([a, b]), GroupCountStep(value(wwlanguage_name))]
> {code}
> This one fails:
> {code}
> Map<String, Long> languageCounts =
> searchResult.as("a").in("isCreatedBy").out("hasWorkLanguage").as("b")
> .dedup("a",
> "b").has("wwlanguage_name")
> .<String>groupCount().by("wwlanguage_name").next();
> {code}
> This translates to:
> {code}
> [Neo4jGraphStep([],vertex)@[a],
> TraversalFilterStep([HasStep([isLatest.eq(true)])]),
> VertexStep(IN,[isCreatedBy],edge),
> TraversalFilterStep([AndStep([[EdgeVertexStep(IN),
> TraversalFilterStep([HasStep([isLatest.eq(true)])]),
> TraversalFilterStep([HasStep([isLatest.eq(true)])])], [EdgeVertexStep(OUT),
> TraversalFilterStep([HasStep([isLatest.eq(true)])]),
> TraversalFilterStep([HasStep([isLatest.eq(true)])])]])]),
> EdgeVertexStep(OUT), TraversalFilterStep([HasStep([isLatest.eq(true)])]),
> VertexStep(OUT,[hasWorkLanguage],edge),
> TraversalFilterStep([AndStep([[EdgeVertexStep(IN),
> TraversalFilterStep([HasStep([isLatest.eq(true)])]),
> TraversalFilterStep([HasStep([isLatest.eq(true)])])], [EdgeVertexStep(OUT),
> TraversalFilterStep([HasStep([isLatest.eq(true)])]),
> TraversalFilterStep([HasStep([isLatest.eq(true)])])]])]), EdgeVertexStep(IN),
> TraversalFilterStep([HasStep([isLatest.eq(true)])]),
> TraversalFilterStep([PropertiesStep([wwlanguage_name],property)]),
> DedupGlobalStep([a, b]), GroupCountStep(value(wwlanguage_name))]
> {code}
> The failing query misses the '@[b]' of the last EdgeVertexStep(IN).
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)