Nicht folgen, was mit meiner Abfrage cypher ist. Ich habe eine Reihe von Knoten, die ich erfolgreich erstellt habe, indem ich CSV geladen habe, und ich habe eine zweite CSV, mit der ich Beziehungen laden möchte. Die Knoten und ihre Eigenschaften werden alle korrekt geladen, und die Beziehungen werden alle korrekt geladen, aber die Beziehungseigenschaften werden nie geladen (keine Fehler, nur wenn keine Requisiten vorhanden sind, wenn ich fertig bin).Load CSV in Neo4j füllt nicht die Beziehungseigenschaften
Meine CSV-Dateien sind alle kopflos, ich glaube nicht, dass das wichtig ist (aber sag mir, wenn ich falsch liege). Die Beziehung csv sieht wie folgt aus:
a,b,1
a,c,2
a,d,3
Wenn die erste Spalte die Kennung der Ausgangsseite des rel ist, die zweite ist die Kennung der Eingangsseite ist, und die dritte ist die Eigenschaft I auf die Beziehung wollen erstellt.
Ich habe ein paar Variationen versucht:
erste:
USING PERIODIC COMMIT LOAD CSV FROM "file:///children.csv" AS row
MATCH (p1:DashboardPage {path:row[0]}), (p2:DashboardPage {path:row[1]})
CREATE (p1)-[:CHILD {order: row[3]}]->(p2);
dann das:
USING PERIODIC COMMIT LOAD CSV FROM "file:///children.csv" AS row
MATCH (p1:DashboardPage {path:row[0]}), (p2:DashboardPage {path:row[1]})
MERGE (p1)-[c:CHILD]->(p2) ON MATCH SET c.order=toInt(row[3]);
Ein paar andere kleinere Versionen derselben. In allen Fällen wurde alles wie erwartet in der DB erstellt außer die Eigenschaften, die ich den Beziehungen zuweisen wollte.
OK, ich beantworte das später selbst, aber nachdem ich dies geschrieben habe, habe ich es mit 'WITH HEADERS' versucht und es hat wie gewünscht funktioniert. Hoffentlich wird einer von euch in der Lage sein, mir zu sagen, wie es nach Spaltenindex funktioniert, falls es in Zukunft wichtig sein sollte. – Paul