2

DSE-5.0.5 및 DSE-studio를 사용 중이고 노트북 그래프의 gremlin에 쿼리를 작성하려고합니다. tinkerpop3에서 순회를 통해 반환 된 두 세트 사이에 공통 요소를 줄 수있는 교차 쿼리가 있습니까?tinkerpop3 gremlin에 대한 교차 쿼리

내가이 쿼리를 작성했습니다

:.....

GV()가 ('이름', 'PERSON1') outE ('속') INV() INE (​​'HAS') outV() outV(). has ('name', 'App1'). select (('y')) .as ('HAS' (outE(). hasLabel ('IS'))까지 반복 (out()). in ('IS'). dedup(). otherV()) .as ('a1'). ('a1', 'a2')

이렇게 집합 a1과 a2의 교차가 필요합니다. 아니면 이것을 줄 수있는 효율적인 방법이 있습니까?

답변

3

샘플 그래프를 가지고하는 것이 도움이되었을 것입니다,하지만 난이 일을해야한다고 생각 : 그 :) 유용 ..

g.V().has("name","Person1"). 
    out("BELONGS").in("HAS").dedup().as("x"). 
    in("HAS").filter(__.in("HAS").has("name","App1")).store("y"). 
    select("x").dedup().in("HAS").hasLabel("Org"). 
    repeat(out()).until(outE().hasLabel("IS")).store("a").cap("y"). 
    unfold().in("HAS").hasLabel("Class"). 
    repeat(inE("IS").dedup().otherV()).until(inE("HAS")). 
    where(within("a")) 
+0

감사 –