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

Reply via email to