2016-06-14 6 views
3

가장자리 제외 : 나는 e.someConditionfalse 되었다면, 문제의 끝이 통과되지 않을 것이라고했다 일어날 것으로 예상 무엇ArangoDB 그래프 순회 : 나는 유사한 쿼리를 실행하고 있습니다

FOR v, e IN 1..10 ANY @start GRAPH @graph 
    FILTER e.someCondition 
    RETURN v 

을 (그리고 다른 모든 꼭지점과 가장자리는 e을 통해서만 도달 할 수 있습니다).

그러나 어떤 일이 발생하는 것은 e은 단순히 건너 뛴 다음 해당 경로를 따라 순회하는 것입니다.

그래서 어떻게 AQL을 사용하여 에지 속성별로 그래프 - 탐색에서 경계를 설정할 수 있습니까?

답변

3

쿼리는 v, e 및 p를 지원합니다. 여기서 p는 걸리는 경로입니다.

ArangoDB documentation에는 몇 가지 예가 나와 있습니다.

경로의 지정된 깊이에서 특정 노드를 제외하기 위해이 방법을 사용했지만 노드의 깊이를 지정해야합니다. 예 : p.vertices[0].something != 'value').

당신이 보길 원하는 또 다른 사항은 쿼리가 경로를 따라 이동하면서 평가되는 '사용자 지정 방문자'기능을 사용하는 것입니다.

This good blog post 및이 ArangoDB guide은 실제 사례를 보여 주며 샘플 작업을 읽으려는 노력과 가치가 있습니다. 이 함수를 사용하여 경로의 정점에있는 속성별로 집계 된 경로의 데이터를 요약했지만 맞춤 경로를 따르기 위해이 함수를 사용할 수도 있습니다.

그래프를 탐색 할 때 따르는 계산에 대해 큰 유연성을 제공하기 때문에 노력해야 할 가치가 있습니다. 분기를 제외하고 특정 요구 사항을 충족하는 분기 만 포함 시키거나 수행 한 경로에 대한 데이터를 집계 할 수 있습니다.

도움이 되었기를 바랍니다.