2017-10-20 10 views
1

그래서 간단한 그래프가 있습니다. 가장 왼쪽 노드는 '팀'클래스입니다. 두 번째로 오른쪽 (회색)은 '스포츠'클래스 노드입니다.OrientDB 특정 클래스까지 깊이 탐색

MATCH {class:Team, as: team} --> {class: Sport, maxDepth: 10} 
RETURN team.Abbreviation 

내가의 두 번째 노드를 추가 한 후 :

SimpleGraph

은 내가이 쿼리가 작동하는 하나 개의 팀 노드가있는 경우 특정 스포츠

에 관한 모든 팀을 찾을 필요 '팀'수업이 오류가 발생했습니다 :

java.lang.RuntimeException: Invalid pattern to match! 

'maxDepth'를 제거하면 작동하지만 아무 것도 반환하지 않습니다.

어떻게 작동시켜야합니까?

답변

1

확실히 버그입니다. 확인하고 있습니다. 으로 빠른 해결 방법 당신은 거기에서 시작하도록 집행을 강제 있도록, 패턴의 첫 번째 요소에 조건을 추가 할 수 있습니다

MATCH {class:Team, as: team, where:(true)} --> {class: Sport, maxDepth: 10} 
RETURN team.Abbreviation 

는 더 나은, 오른쪽에서 "클래스"를 제거 :

MATCH {class:Team, as: team} --> {where: (@class = 'Sport'), maxDepth: 10} 
RETURN team.Abbreviation 

문제는 여기에 패턴이 바로

+0

감사 왼쪽에서 그것을 평가하는 OrientDB을 강요 위의 주위에 일에, (오른쪽에서 왼쪽으로) 잘못된 방향으로 평가되고 있다는 점이다 많이! 이제 작동합니다 :) – Szer

+1

좋은 소식입니다. 2.2.x 지점에 대한 수정 사항을 적용 했으므로 원래 쿼리가 올바르게 작동합니다. 수정본은 2.2.30과 함께 릴리스됩니다. –