Uploaded image for project: 'TinkerPop'
  1. TinkerPop
  2. TINKERPOP-1650

PathRetractionStrategy makes Match steps unsolvable

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 3.2.3, 3.2.4
    • 3.2.7, 3.3.1
    • process
    • None

    Description

      The `PathRetractionStrategy` can make certain Match() steps "Unsolvable".

      This (nonsensical) example demonstrates the issue:

      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> 
      

      If we remove the `PathRetractionStrategy`, or use `g.withPath()` the match step is solvable, and works fine.

      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> 
      
      

      Attachments

        Issue Links

          Activity

            People

              twilmes Ted Wilmes
              bjmoor Branden Moore
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: