2014-09-20 6 views
2

엄청난 양의 노드와 관계가있는 그래프 DB를 만들어야합니다. 모든 노드는 문자열 값의 목록을 보유해야하며 시작 노드에 연결된 모든 노드를 쿼리 할 수 ​​있어야합니다.이 노드는 목록에 지정된 값을가집니다.neo4j : 효율적으로 목록에서 값을 검색하는 방법은 무엇입니까?

예를 들어 노드 목록에 [ "dog", "cat", "bird"]가있을 수 있으며 목록에 "dog"값이있는 모든 노드를 쿼리해야 할 수도 있습니다.

지금 내 질문은 - 네오위즈에서 그 목록에 대해 더 효율적인 해결책이 무엇입니까?

  1. 값을 실제 목록으로 유지하고 쿼리 중에 해당 목록 내의 값을 검색 하시겠습니까? 또는 ...
  2. 대신 목록 속성을 사용하여 목록을 구분 된 속성으로 구현하고 HAS (n.property)를 사용하여 속성이있는 모든 노드를 찾으십니까?
  3. 다른 솔루션?

(많은 쿼리에 대해) 가장 효율적인 방법은 무엇입니까?

감사합니다.

답변

0

목록을 별도의 속성으로 구현하면 taht가 많은 양의 데이터를 효율적으로 처리 할 수 ​​있습니다.

그럼 당신은 예컨대

MATCH (n:node) where n.property = {SearchValue} return n; 

목록을 구현하는 것은 좋은 생각이 아니다 데이터에 액세스 할 수 있습니다.

관련 문제