0
我有一個數據結構,其中數據由兩種節點組成:item
和claim
。 claim
代表關於物品的一些信息並且可以指其他物品,例如 - 某個實體位於某個其他實體中,例如, 「德國在歐洲」。示例結構:Cypher中的多步遍歷?
create
(v1:item {id:"Q1", name: "Europe"}),
(v2:item {id:"Q2", name: "France"}),
(v3:item {id:"Q3", name: "Germany"}),
(v4:item {id:"Q4", name: "Bavaria"}),
(v5:item {id:"Q5", name: "Munich"}),
(c1:claim:located),
(c2:claim:located),
(c3:claim:located),
(c4:claim:located),
(v5)-[:claim]->c4,
(c4)-[:located]->v4,
(v4)-[:claim]->c3,
(c3)-[:located]->v3,
(v3)-[:claim]->c2,
(c2)-[:located]->v1,
(v2)-[:claim]->c1,
(c1)-[:located]->v1;
也在http://console.neo4j.org/?id=ncbom6。現在,如果我想穿過它 - 例如找出德國或歐洲的所有項目,我該怎麼做? Cypher在這種模式下可能嗎?我知道有類似v1-[r:*]->v2
的東西,但是這個假設或者是一個特定的關係或者任何關係,並且我需要claim-located
對的重複模式。
這將適用於我提供的迷你數據示例,但當然這不是真實的數據。我認爲它可以匹配索賠和所在位置的任何組合,即索賠 - 索賠 - 索賠,定位 - 索賠等。但是有沒有一種方法可以匹配特定的順序「索賠,然後定位,任何次數「? – StasM 2015-02-11 01:57:18
我簡化了我的第二個查詢。 – cybersam 2015-02-13 02:06:54