지도와 같은 쿼리 기능을 수행 할 Cypher 쿼리가 있는지 확인하려고합니다. 주어진 예제 데이터.중첩 된 관계에 대한 Cypher 쿼리
(stack)
/ | \
/ | \
(item) (item) (item)
/\ | /\
/ \ | / \
(node) (node) (node) (node)(node)
여기까지는 node
과 일치하는 쿼리가 있습니다.
START stack=node({stack})
MATCH (stack)-[:Item]-(item)-[:Representation]-(representation)
RETURN representation
(이 쿼리에
representation
난 그냥 쓰는 표현을 유지하기 위해 위의 그림에서 공간이 충분하지 않은
node
에 해당합니다).
예상대로이 쿼리는 모든 item
노드와 관련된 표현의 단순 목록 만 반환합니다. 예 :
[ representation, representation, representation.... ]
는 내가 정말 원하는 것은 자신의 관련 representation
의 예와 items
의 중첩 된 구조를 반환하는 쿼리입니다
[
[ item, representations ],
[ item, representations ],
[ item, representations ]
]
return
의 정확한 구조는 중요하지 않습니다. 각 item
representations
에 대한 쿼리를 보내지 않고 item
을 representations
에 쉽게 매핑 할 수 있습니다.
이것은 사소한 질문처럼 보일 수 있지만 Cypher 치트 시트를보고 동영상 및 인터넷 검색 Cypher 자습서를보고 난 후에 볼 수 있습니다. Cypher를 사용하여 이러한 쿼리 (또는 대부분의 쿼리)를 수행하는 방법에 대한 간단한 설명을 아직 찾지 못했습니다.
(사람이 또한 "인형에 대한 사이퍼"는의 내가 더 감사하겠습니다 튜토리얼을 알고 있다면 보조 노트에.)
'반환 항목, 표현 ', 아니요? –
@ JamesR 나는 단서가 없다. 단락의 목적을 결코 이해하지 못했다.'items'의 편평한 목록과'표현의 편평한 목록 '을 반환하는 것을 의미한다고 생각했습니다. 나는 그것을 시도 할 것이다 :) – AshHeskes
@JamesR \t 그냥 시도하고'items'과'representation'의 편평한 목록을 참으로 반환합니다. – AshHeskes