Ich benutze Neo4j Grafik, um Graph-Datenbank zu erstellen. Verwenden des Befehls load csv zum Erstellen einer Beziehung. Es dauert 2 Stunden, um eine Million Datenzeilenbeziehung in eine beliebige Beziehung zu laden. Gibt es eine andere Möglichkeit, Beziehungen schneller zu erstellen?Neo4j Beziehung schreiben Prozess
Antwort
CREATE ist schneller als MERGE.Und die Verwendung von MERGE oder MATCH kann zu "Eager Operation" führen. Bitte gehen Sie durch diese blog für mehr Referenz.
Als eine Arbeit können Sie versuchen, die folgende Abfrage.
Sie können WITH in der Abfrage verwenden, um das cartisianische Produkt und die gesamte 'Zeile' zu vermeiden. Versuchen Sie, Index zu "indexed_date" hinzuzufügen und versuchen Sie die folgende Abfrage.
USING PERIODIC COMMIT LOAD CSV WITH HEADERS FROM "file:///raw.csv" AS row
MATCH (tweet_id:tweet_id {name: row.tweet_id}) with tweet_id
MATCH (indexed_date:indexed_date {name: row.indexed_date}) with indexed_date,tweet_id
CREATE (indexed_date)-[date_i_tweet:date_i_tweet]->(tweet_id);
this helps
Dank dieser helps.Just eine Frage. Hast du an einem Echtzeit-Update auf neo4j gearbeitet? Wenn die Datengröße zunimmt, ist der Aktualisierungsprozess niedriger. Irgendwelche Vorschläge zum Aktualisieren des Garph schneller? –
Ja, die Aktualisierung ist langsam. Versuchen Sie, die Daten zu begrenzen oder sich auf einen Satz von Eigenschaften/Knoten gleichzeitig zu konzentrieren. Die Geschwindigkeit des Updates hängt auch von Ihrem Schema ab. – techie95
Für Ihre Abfrage, sollten Sie haben:
- eine eindeutige Einschränkung auf
tweet_id
:CREATE CONSTRAINT ON (n:tweet_id) ASSETS n.tweet_id IS UNIQUE
- eine eindeutige Einschränkung oder ein
indexed_date
:CREATE CONSTRAINT ON (n:indexed_date) ASSETS n.indexed_date IS UNIQUE
Prost
Danke an alle. Das hilft. –
- 1. Neo4j Beziehung schreiben Leistung mit Neo4j.Driver.V1
- 2. Neo4j doppelte Beziehung
- 3. Neo4j Beziehung Liniendesign
- 4. Neo4j Filter auf Beziehung
- 5. Neo4j multiple Beziehung Abfrage
- 6. Neo4j Multiple Beziehung Mähdreschers
- 7. Zusammengesetzte Beziehung in neo4j
- 8. Neo4j-Prozess zur Replikation in der Community Edition von Neo4j
- 9. Neo4j Chiffre - Schwierigkeiten machen Beziehung
- 10. Neo4j/Cypher: keine Beziehung zulassen
- 11. Erstellen einer Beziehung in Neo4J
- 12. Neo4J. Entfernen Zwischenknoten halten Beziehung
- 13. Neo4j: Datei-Import, Beziehung Spiel, schaffen neue Beziehung
- 14. Neo4j - Erzeuge Beziehung zwischen allen Knoten
- 15. Neo4j Wie man eine Beziehung herstellt
- 16. Neo4j: löschen Beziehung zwischen zwei Knoten Neo.ClientError.Statement.SyntaxError
- 17. Erstellen Sie eine Neo4j-Beziehung dynamisch
- 18. PHP Neo4j NOT Beziehung Abfrage funktioniert nicht
- 19. neo4j übergeben Parameter zu variabler Länge Beziehung
- 20. neo4j erhalten Beziehung Wert von Python
- 21. Neo4j baut Beziehung im gleichen Label
- 22. Erstellen einer Beziehung mit einem Attribut - Neo4j
- 23. Neo4j: Optimierung `WHERE` auf Beziehung Eigenschaft
- 24. Beziehung in Neo4j gezeigt, obwohl es nicht
- 25. Neo4j OGM-Beziehung nur in einer Entität
- 26. Kann die Beziehung in Neo4j nicht erstellen
- 27. Neo4j-Massendaten - Beziehung erstellen [OutOfMemory-Ausnahme]
- 28. „Create Unique“ nicht Beziehung in Neo4j Schaffung
- 29. Neo4j Hochverfügbares Seprate Schreiben und Lesen im Frühjahr Daten Neo4j
- 30. Eine 1: n-Beziehung schreiben
Können Sie Ihre CSV Abfrage cspher laden? Hast du einige Indizes/Constraints erstellt? – logisima
q = '' 'Durch die periodische COMMIT LOAD CSV-Header aus "file: ///raw.csv" als Zeilen MATCH (tweet_id: tweet_id {Name: row.tweet_id}) MATCH (indexed_date: indexed_date {Name: row.indexed_date}) MERGE (indexed_date) - [date_i_tweet: date_i_tweet] -> (tweet_id); ''‘ graph_3.cypher.execute (q) –
i Indizes auf tweet_id erstellt haben –