0
我在csv文件中有兩列,emp_id
和mngr_id
。關係是(emp_id)-[:WORKS_UNDER]->(mngr_id)
。我想合併所有那些emp_id = mngr_id的節點。如何在創建節點本身時做到這一點?避免具有相同值的節點上的重複neo4j
我在csv文件中有兩列,emp_id
和mngr_id
。關係是(emp_id)-[:WORKS_UNDER]->(mngr_id)
。我想合併所有那些emp_id = mngr_id的節點。如何在創建節點本身時做到這一點?避免具有相同值的節點上的重複neo4j
如果我理解正確,您希望確保避免在迭代CSV數據時創建重複關係,並避免在某人爲自己工作的情況下輸入關係。
爲了避免創建一個關係,其中emp_id
和mngr_id
識別同一個人,我建議在處理它之前過濾CSV以輸入數據。在將文件傳遞給Neo4j之前,應該更容易忽略CSV文件中emp_id
和mngr_id
爲相同值的任何行。
接下來,如果你使用的Cypher做進口,這樣的事情可能是有用的:
MERGE (emp:Person{id:'emp_id'}) MERGE (mgr:Person{id:'mngr_id'}) MERGE (emp)-[:WORKS_UNDER]->(mgr) RETURN emp,mgr
請注意,如果你在一個塊語句多次運行上面的查詢,那麼你就需要每個查詢中的emp
和mgr
的唯一標識符。
合併在Neo4j的文檔很好地解釋:http://docs.neo4j.org/chunked/stable/query-merge.html
你能使用的是精確的進口商什麼?或者它是從Cypher LOAD CSV? – Rolf