Ich habe 4 Etiketten (A, B, C, D). Alle haben eine einzige Eigenschaft {id}. Jetzt habe ich eine Datei mit Beziehungen, die ich laden möchte. Jede Zeile hat diese Struktur:Neo4j laden Datenrelationen mit unbekannten Etiketten
{ID_1}, {type_of_relations}, {} ID_2
Wie kann ich die Beziehungen schaffen?
Meine Nicht-Arbeits Vermutung ist:
USING PERIODIC COMMIT
LOAD CSV WITH HEADERS FROM "file:/data.csv" AS line
FIELDTERMINATOR ','
MATCH (a:A{id:line.id_1} OR a:B{id:line.id_1} OR a:C{id:line.id_1} OR a:D{id:line.id_1})
MATCH (b:A{id:line.id_2} OR b:B{id:line.id_2} OR b:C{id:line.id_2} OR b:D{id:line.id_2})
MERGE (a)-[:line.type_of_relations]->(b)
Ich bekomme den folgenden Fehler "Abfrage kann nicht mit CALL abgeschlossen werden (müssen RETURN oder eine Update-Klausel sein) (Zeile 5, Spalte 1 (Offset: 167)) " CALL apoc.create.relationship (a, line.rel_type , {}, b) "" Meine Problemumgehung besteht darin, die große Datei je nach Beziehungstyp in kleinere zu teilen. –
Ah, richtig. Entschuldigung - Ich habe die Abfrage mit einer RETURN-Klausel aktualisiert. Beachten Sie, dass Sie [apoc procedures library] installieren müssen (https://github.com/neo4j-contrib/neo4j-apoc-procedures#download-latest-release), um diese Prozedur zu verwenden. –
Vielen Dank! Ich erhalte immer noch einen Fehler "Prozeduraufruf innerhalb einer Abfrage unterstützt nicht implizit Benennungsresultate (stattdessen wird explizit' YIELD' verwendet) " Ich habe apoc installiert. Es macht Spaß mit zu spielen. Was ich versuche zu erreichen, ist derzeit vielleicht nicht möglich. –