[ https://issues.apache.org/jira/browse/TINKERPOP-1650?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ted Wilmes reopened TINKERPOP-1650: ----------------------------------- > PathRetractionStrategy makes Match steps unsolvable > --------------------------------------------------- > > Key: TINKERPOP-1650 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1650 > Project: TinkerPop > Issue Type: Bug > Components: process > Affects Versions: 3.2.3, 3.2.4 > Reporter: Branden Moore > Assignee: Ted Wilmes > Fix For: 3.2.7, 3.3.1 > > > The `PathRetractionStrategy` can make certain Match() steps "Unsolvable". > This (nonsensical) example demonstrates the issue: > {code} > gremlin> g = graph.traversal() > ==>graphtraversalsource[tinkergraph[vertices:6 edges:6], standard] > gremlin> > g.V().hasLabel("person").as("perp").match(__.as("a").out("created").as("sw"), > __.as("sw").has("lang", "java").as("java")).where("sw", > neq("a")).select("perp") > The provided match pattern is unsolvable: [[MatchStartStep(a), > VertexStep(OUT,[created],vertex), MatchEndStep(sw)], [MatchStartStep(sw), > HasStep([lang.eq(java)]), MatchEndStep(java)], [MatchStartStep(sw), > WherePredicateStep(neq(a)), MatchEndStep]] > Type ':help' or ':h' for help. > Display stack trace? [yN]n > gremlin> > {code} > If we remove the `PathRetractionStrategy`, or use `g.withPath()` the match > step is solvable, and works fine. > {code} > g.withoutStrategies(PathRetractionStrategy).V().hasLabel("person").as("perp").match(__.as("a").out("created").as("sw"), > __.as("sw").has("lang", "java").as("java")).where("sw", > neq("a")).select("perp") > ==>v[1] > ==>v[4] > ==>v[4] > ==>v[6] > gremlin> > g.withPath().V().hasLabel("person").as("perp").match(__.as("a").out("created").as("sw"), > __.as("sw").has("lang", "java").as("java")).where("sw", > neq("a")).select("perp") > ==>v[1] > ==>v[4] > ==>v[4] > ==>v[6] > gremlin> > {code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)