2014-09-20 66 views
2

我需要建立一個具有大量節點和關係的圖形數據庫。每個節點應該包含一個字符串值列表,我需要能夠查詢連接到一個起始節點的所有節點,這些節點的列表中有一個給定的值。例如,我可能有一個包含[「dog」,「cat」,「bird」]列表的節點,我可能需要查詢其列表中具有值「dog」的所有節點。neo4j:如何有效地搜索列表中的值?

現在我的問題是這樣 - neo4j中該列表的更有效的解決方案是什麼?

  1. 將值保存爲實際列表,並在查詢過程中在該列表中搜索值? 或...
  2. 改爲使用list屬性,將列表實現爲分隔屬性並使用HAS(n.property)來查找具有屬性的所有節點?
  3. 其他解決方案?

什麼是最有效的方法(對於大量的查詢)?

謝謝!

回答

0

實現列表爲單獨的屬性,taht是處理大量數據的有效方式。

然後你就可以訪問數據e.g

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

實現列表是不是一個好主意。