You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tinkerpop.apache.org by "Branden Moore (JIRA)" <ji...@apache.org> on 2017/03/15 19:57:41 UTC
[jira] [Created] (TINKERPOP-1650) PathRetractionStrategy makes
Match steps unsolvable
Branden Moore created TINKERPOP-1650:
----------------------------------------
Summary: PathRetractionStrategy makes Match steps unsolvable
Key: TINKERPOP-1650
URL: https://issues.apache.org/jira/browse/TINKERPOP-1650
Project: TinkerPop
Issue Type: Bug
Affects Versions: 3.2.4, 3.2.3
Reporter: Branden Moore
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.3.15#6346)