最好的辦法是使用ON CREATE SET
和ON MATCH SET
創建/唯一鍵的值與MERGE
節點匹配後。
LOAD CSV WITH HEADERS FROM 'FILE:///company_name.csv' AS line
MERGE (C:Company {Company: line.Company })
MERGE (N:Name {Name: line.Name })
ON CREATE SET
N.Position = line.Position,
N.Location = line.Location,
N.Country = line.Country,
N.Phone = line.Phone
ON MATCH SET
N.Position = line.Position,
N.Location = line.Location,
N.Country = line.Country,
N.Phone = line.Phone
MERGE (C)<-[:works_for]-(N);
另外,您可以在單個節點上設置好一切,但如果在您的CSV文件中對應於同一的身份和一些要設置的值都在這些行不同,那麼它會導致多行之後數據庫中有多個節點。
LOAD CSV WITH HEADERS FROM 'FILE:///company_name.csv' AS line
MERGE (C:Company {Company: line.Company })
MERGE (N:Name {Name: line.Name, Position: line.Position, Location line.Location, Country: line.Country, Phone: line.Phone })
MERGE (C)<-[:works_for]-(N);
原諒我,但我不清楚你想要完成什麼。如果你想在同一個節點中有多個屬性(可能應該是Person而不是Name),你可以用逗號分隔它們:MERGE(p:Person {Name:line.Name,Phone:line.Phone})。有用的是在執行LOAD之前爲您的節點創建唯一的屬性約束,例如CREATE CONSTRAINT ON(p:Person)ASSERT p.personID IS UNIQUE; –
我的歉意,我的意思是說多個屬性。我會嘗試使用CREATE CONSTRAINT ON方法。 – AngryAsianMan