2017-10-23 15 views
1

문서 컬렉션 '노드'와 에지 컬렉션 '속성'이 있습니다. 'attribute'컬렉션의 모든 에지를 'node/582148'에서 'node/582016'으로 가져 오려고합니다.ArangoDB : 두 개의 특정 노드 사이에서 모든 에지를 가져 오는 AQL 쿼리

FOR v, e, p IN OUTBOUND 'node/582148' TO 'node/582016' `attribute` RETURN p 

그것은 만 가능 :

FOR v, e, p IN OUTBOUND 'node/582148' `attribute` 
    FILTER e._to == 'node/582016' 
    RETURN p 

처럼, 정말 하나에서이 작업을 수행 할 수있는 방법이 없습니다 :

내가 고안 할 수있었습니다 간단한 AQL 쿼리는 다음과 같다 SHORTEST_PATH와 함께 'TO'키워드를 사용하십시오. 명확히하기 위해 : 내가 노드 사이의 직접 경로 (1 가장자리)에 의해 필터링되는 모든 보내는 가장자리를 얻기 위해 다음 AQL 쿼리를 사용하는 것이 내가 추천을 그래프 탐색을 사용하여

감사

답변

1

에만 관심 대상 꼭지점 키

FOR v, e IN OUTBOUND 'node/582148' `attribute` 
FILTER v._key == '582016' 
RETURN e 

다른 접근법 _from 속성을 가진 문서로 에지를 해결하고 그래프 순회없이 _to :

FOR e IN `attribute` 
FILTER e._from == 'node/582148' && e._to == 'node/582016' 
RETURN e 
+0

감사합니다. 첫 번째 예에서 ** v ** ** 유형이 'node'가 아닌 경우 FILTER v._key == 'node/582016'을 추가하면 안됩니다. – zra

+0

아니요, v._key에는 문서의 키만 포함해야하며 컬렉션 이름은 포함하면 안됩니다. –

+0

'_key'는 문서 키만을 저장합니다. ''1234 ''. 문서 키에는 슬래시를 포함 할 수 없습니다. https://docs.arangodb.com/3.2/Manual/DataModeling/NamingConventions/DocumentKeys.html'_id'는 콜렉션 이름, 슬래시 및 문서 키의 연결입니다 (예 : ' "노드/1234"'. – CoDEmanX