我擁有數百萬個節點的人員和公司標籤。 我正嘗試創建一個關係: (person)-[:WORKS_AT]->(company)
根據兩個標籤中存在的唯一公司編號屬性。 我試圖用下面的查詢來做到這一點: MATCH (company:Company), (person:Person) WHERE company.companyNumber=person.comp_number CREATE (person)-[:WORKS_AT]->(company)
但這個查詢需要很長時間才能執行並最終失敗。 我有索引companyNumber
和comp_number
。 所以,我的問題是:它有一種方法來創建段的關係,例如(50000,然後再50000等...)?Neo4j將大量關係添加到已有的節點
0
A
回答
0
使用臨時標籤將事情標記爲已完成,並在創建關係之前添加限制步驟。當你全部完成後,只需從每個人中刪除標籤。
MATCH (company:Company)
WITH company
MATCH (p:Person {comp_number: company.companyNumber})
WHERE NOT p:Processed
WITH company, p
LIMIT 50000
MERGE (p) - [:WORKS_AT] -> (company)
SET p:Processed
RETURN COUNT(*) AS processed
這將返回已處理行的數量(通常爲50000)當它返回小於50000(或任何你設定的限制)時,你都完成了。直到你得到的結果小於50000你或許可以把所有這些數字可達10或者更多,這取決於你的數據庫設置
MATCH (n:Processed)
WITH n LIMIT 50000
REMOVE n:Processed
RETURN COUNT(*) AS processed
:運行這個傢伙呢。
相關問題
- 1. Neo4j密碼查詢將關係添加到現有節點
- 2. neo4j添加關係到具有相似屬性的節點
- 3. Neo4j節點沒有關係
- 4. neo4j節點ID和關係
- 5. 添加與現有節點的關係
- 6. 插入大量的節點到Neo4J
- 7. 不能在neo4j中添加多個節點之間的關係
- 8. 爲什麼neo4j中有節點和關係的容量限制?
- 9. 如何在neo4j的現有節點中附加關係?
- 10. 如何將屬性添加到現有節點neo4j密碼?
- 11. Neo4j查詢到具有相同關係的多個節點
- 12. Neo4j Cypher查詢找到有關係的連接節點
- 13. Neo4j節點之間的關係
- 14. 複製neo4j中的節點和關係
- 15. 將Neo4j Java節點和關係對象嵌入到JSON中
- 16. 與已有節點創建關係
- 17. 添加關係後需要再次找到節點實體(neo4j/java/spring)
- 18. Neo4j導入節點和關係
- 19. 在Neo4j節點之間創建關係
- 20. Neo4j插入節點與各種關係
- 21. Neo4j如何返回節點和關係?
- 22. 如何可視化Neo4J節點關係?
- 23. neo4j密碼交錯節點和關係
- 24. Neo4J:自動將節點添加到手動選擇的索引
- 25. 在Neo4j中,能找到其關係是另一個節點關係超集的所有節點嗎?
- 26. 如何刪除neo4j中的所有節點和所有關係
- 27. 在Neo4j中匹配有和沒有關係的節點
- 28. 獲取Neo4j中沒有特定關係的所有節點
- 29. 的Neo4j - 添加節點之間的額外關係列表中的
- 30. neography/neo4j更改關係終點到另一個節點
請注意,有一個APOC過程[apoc.periodic.iterate()](https://neo4j-contrib.github.io/neo4j-apoc-procedures/#_apoc_periodic_iterate),可以幫助批量處理它,因此它不會不必手動完成。由於我在使用a:Tore解決方案中使用a:Processed標籤時自己嘗試時遇到的一些潛在錯誤,因此我現在不會將其作爲實際答案提交。如果他們修復它,我會提交它作爲一個可行的解決方案。 – InverseFalcon