2012-07-26 63 views
1

我正在使用neo4j,我有兩個屬性的節點:名稱和ID。我有一個id的索引。 我與屬性「CALL」有關係:「by_test」。該屬性可以採用不同的值(任何節點的ID)。如何檢索由關係鏈接的所有節點

兩個節點可以有多個CALL關係,具有不同的by_test屬性值。

因此我們假設我有1..N個節點通過相同的CALL.by_test屬性值鏈接。

節點1 - >節點2 - >節點3 - > .. - >的NodeN

  • 我怎樣才能得到所有這些節點?

    1. 我是否需要對關係進行索引?

    2. 我是否必須建立動態關係?而不是CALL.by_test =值,使用值有一個關係。

謝謝!

回答

1

使用暗號,可以查詢該名單如下:

START n=node:node_auto_index(name="one") 
MATCH p=(n)-[r:CALL*1..]->(m) 
WHERE ALL(x in r WHERE x.by_test = 3) 
RETURN n,m 

MATCH綁定一個術語rCALL關係,你那麼WHERE子句中使用檢查的by_test財產每。

正如Michael Hunger指出的那樣,r是一組關係,所以WHERE需要使用ALL來檢查每個關係。

+0

謝謝,但我得到一個錯誤:未知的標識符'r'。 – kdelemme 2012-07-31 00:55:03

+0

您使用的是哪個版本的Neo4j?語法正在發生轉變。 – akollegger 2012-08-01 02:13:41

+0

最後一個:1.8 – kdelemme 2012-08-06 22:17:24

相關問題