[ 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)