2016-02-02 39 views
1

這裏存放有向圖是我的情景:與Neo4j的

  • 一個單一的應用程序產生一個有向圖 - 這是比較均衡的,具有約10個級別,20K節點和30K關係,

  • 這圖表必須立即存儲在neo4j內,以便該應用程序可以進行一些Cypher查詢並繼續前進 - 儘快執行此步驟非常重要,因爲此圖必須以某種方式存儲C ypher查詢? CSV? ),以便另一個應用程序可以在某個時候獲取幾千個這樣的圖,將所有這些圖添加到neo4j中,並對它們執行Cypher查詢 - 時間不是這一步的關鍵因素。


我想我將能夠創建將一次插入整個圖形單一的Cypher查詢。這樣可以很好地匹配我的場景,因爲我可以構建我的圖形,將其表示爲Cypher查詢,在本地執行應用程序在單個圖形上執行的操作,然後將該查詢存儲在某處以供將來使用。 不幸的是,它只適用於小圖。

當我打電話下面一樣使用Java代碼中的Neo4j殼或從一個查詢 - 它打破了在具有幾百節點/關係的任何圖形:

CREATE (h1:Node:_Node {...}), (h2:Node:_Node {...}), (h3:Node:_Node {...}), ..., 
     (h1)-[:REL1]->(h2), (h1)-[:REL2]->(h3), (h2)-[:REL2]->(h3), ... 

我試過多次其他的東西,但沒有按預期工作。
請告知這裏最好的辦法是什麼。

回答

1

將您的數據存儲到幾個csv文件(節點,關係,..)中並使用LOAD CSV cypher clause

這應該是非常快,你應該能夠加載數據和查詢你的圖形在幾秒鐘的事情。

然後,您可以將csv文件分發到另一臺計算機並以相同的方式加載它。