을 반환해야한다고 생각, 여기에 결과의 일부입니다 :
gremlin> g.V().has('name', 'F').repeat(__.in()).emit().path().count(local).max()
==>5
gremlin> g.V().has('name', 'C').repeat(__.in()).emit().path().count(local).max()
==>3
gremlin> g.V().has('name', 'A').repeat(__.in()).emit().path().count(local).max()
==>-2147483648
우리는 지난 몇 단계를 제거하여 행동에 대해 자세히 알아볼 수 있습니다
:
을
gremlin> g.V().has('name', 'C').repeat(__.in()).emit().path()
==>[v[4],v[6]]
==>[v[4],v[2]]
==>[v[4],v[2],v[0]]
gremlin> g.V().has('name', 'A').repeat(__.in()).emit().path()
gremlin>
'C'에는 3 개의 경로가 있고 'A'에는 0 개의 경로가 있음을 볼 수 있습니다. 이것은 모든 사람이 방출되기 전에 살해 당했기 때문입니다. 당신이 repeat()
단계 전에 emit()
단계를 이동하는 경우, 당신은 당신의 원하는 동작을 얻을 것이다 :
gremlin> g.V().has('name', 'A').emit().repeat(__.in()).path()
==>[v[0]]
gremlin> g.V().has('name', 'A').emit().repeat(__.in()).path().count(local).max()
==>1
당신은 repeat()
단계와 TinkerPop documentation의 emit()
단계와의 상호 작용에 대한 자세한 내용을보실 수 있습니다. emit()
가 repeat()
뒤에 위치
경우, 반복-통과를 떠나는 횡단에 평가 : 구체적으로 명시 콜 아웃 상자가있다. emit()
이 repeat()
앞에 놓이는 경우, 반복 - 순회를 입력하기 전에 트래 버에 대해 평가됩니다.
멋진 작품입니다. 이 경우에 emit()의 배치가 어떻게 바뀌 었는지 이해하려면 설명서 나 기타 리소스를 가르쳐 주시겠습니까? 나는 모든 traversers가 방사되기 전에 당신이 의미했던 것을 이해하려고 노력하고 있습니다. – livetolearn
은'repeat()'와'emit()'에 대한 정보를 더합니다. 문서에서 더 많은 개선이 필요하다고 생각되면 [문제를 열어주세요.] (https://issues.apache.org/jira/projects/TINKERPOP/issues). –