2017-03-03 20 views
-1

시작 노드없이 ARANGO DB의 모든 그래픽을 얻는 방법은 무엇입니까? OrientDB처럼시작 노드없이 모든 그래프를 얻는 방법

에 대한 모든 그래프 만 사용 image

는 지금까지 내가 시작 노드와 ArangoDB에 AQL을 사용하게 'V에서 선택'을 얻을 : ANY 2 IN 을 'V, E를 들어, P 'user/188802'그래프 'return p'

이제 시작 노드를 사용하지 않고 ArangoDB에서 모든 그래프를 얻으려고합니까? 내 친구에게 .. 줄래!! 전에 감사드립니다 !!

답변

2

그래프는 Edge 컬렉션을 그룹화 한 것입니다. 각 Edge 컬렉션은 Document 컬렉션에 저장된 _from 및 _to 문서를 참조합니다.

그래프 탐색 쿼리는 시작 위치를 가질 것으로 기대하며 단일 시작 위치에 대한 결과를 반환합니다.

가능한 모든 시작 위치를 식별 한 다음 해당 위치에서 그래프 횡단을 실행할 수 있습니다.

당신은이 같은 AQL 쿼리에 삽입 할 수 있습니다 그래프를 구성하는 문서 컬렉션의 이름을 알아야합니다 :

FOR vertex IN UNION(
     (FOR v IN document_collection_1 RETURN v._id), 
     (FOR v IN document_collection_2 RETURN v._id), 
     (FOR v IN document_collection_3 RETURN v._id) 
    ) 
    FOR v, e IN 1..5 OUTBOUND vertex GRAPH 'my_graph_name' OPTIONS { uniqueVertices: true } 
    RETURN DISTINCT [ 
     { 
      _from: e._from, 
      _to: e._to 
     } 
    ] 

가 그 ArangoDB에서 문서 가능하다 기억 컬렉션을 두 개 이상의 그래프에 바인딩해야하므로 그래프의 일부인 모든 문서 컬렉션을 식별해야합니다.

이 쿼리는 그래프에 정의 된 모든 링크가 포함 된 개체 배열을 추출합니다. 이 쿼리는 그래프의 일부인 모서리가있는 꼭지점에만 초점을 맞 춥니 다. 꼭지점에 모서리가 없으면 그래프에 포함되지 않으므로 출력에 나타나지 않습니다.

+0

감사합니다. 매우 도움이됩니다. –