2017-03-14 4 views
1

Salut J'essaie de faire correspondre un sous-graphique qui peut avoir un chemin de Extends bords.Gremlin Match Traversal qui contient une structure répétitive

enter image description here

Les parties connues sont les vertices avec ids 1,2,3 et 6 et leurs bords .. Ce qui est inconnu est le nombre de sommets et de leurs ids entre 1 et 6. Le match débute à partir de sommet avec id = 1. La traversée de correspondance doit correspondre à l'ensemble du sous-graphe avec une limite de 10 pas entre 4 et 6. Dans le cas trivial, le sommet avec l'identifiant 6 est directement connecté au sommet ayant id = 1 par le bord ContainsB.

Toute aide est appréciée!

Répondre

1

Je pense que cela semble fonctionner comme je le voulais:

g.V().match(
    __.as("s").hasId("1").outE("ContainsB").inV().until(hasId("6")).repeat(out("Extends")).limit(10), 
    __.as("s").hasId("1").outE("ContainsA").inV().hasId("2"), 
    __.as("s").hasId("1").outE("ContainsC").inV().hasId("3") 
)