Ich versuche, eine Datenbank in Neo4j mit einer Struktur, die sieben verschiedene Arten von Knoten, insgesamt rund 4-5000 Knoten und zwischen ihnen etwa 40000 Beziehungen enthält. Der CYPHER Code ich zur Zeit ist, dass ich zum ersten Mal der Knoten mit dem Code erstellen:Erstellen von Knoten und Beziehungen zur gleichen Zeit in Neo4j
Create (node1:type {name:'example1', type:'example2'})
um 4000 von diesem Beispiel mit einzigartigen Knoten.
Dann habe ich bekam Beziehungen als solche genannt:
Create
(node1)-[:r]-(node51),
(node2)-[:r]-(node5),
(node3)-[:r]-(node2);
Rund 40.000 solcher einzigartigen Beziehungen.
Mit kleineren Graphen war dies überhaupt kein Problem. Mit dieser Option wird die ausführende Abfrage jedoch nicht mehr geladen.
Irgendwelche Vorschläge, wie ich diese Art von Abfrage arbeiten kann? Oder was sollte ich stattdessen tun?
bearbeiten. Was ich versuche zu erstellen, ist eine große Grafik über ein Produkt, mit seinen Releases, Release-Versionen, Features usw., genauso wie das Movie-Beispiel erstellt wird.
Das Produkt hat etwa 6 Releases insgesamt, jedes Release hat etwa 20 Releaseversion. Insgesamt gibt es 371 Features und von dort 371 Features gibt es auch 438 Featureversionen. Jede Release-Version (120 insgesamt) hat dann jeweils etwa 2-300 Featureversionen. Diese Featureversionen sind ihrem Feature zugeordnet, das Abhängigkeiten zu ein bisschen von allem in der Datenbank hat. Ich habe auch HW Abhängigkeiten wie die mögliche hw involed diese Merkmale auf, Mitteilungen usw. so basicaly im mit Chiffre-Code wie auszuführen:
Create (Product1:Product {name:'ABC', type:'Product'})
Create (Release1:Release {name:'12A', type:'Release'})
Create (Release2:Release {name:'13A, type:'release'})
Create (ReleaseVersion1:ReleaseVersion {name:'12.0.1, type:'ReleaseVersion'})
Create (ReleaseVersion2:ReleaseVersion {name:'12.0.2, type:'ReleaseVersion'})
und unter denen ich sie aufgebaut haben sich mit der
Create (Product1)<-[:Is_Version_Of]-(Release1),
(Product1)<-[:Is_Version_Of]-(Release2),
(Release2)<-[:Is_Version_Of]-(ReleaseVersion21),
den ganzen Weg hinunter auf Funktionen, und dann habe ich auch Abhängigkeiten zwischen ihnen wie hinzugefügt:
(Feature1)-[:Requires]->(Feature239),
(Feature239)-[:Requires]->(Feature51);
da ich aus vielen verschiedenen Excel-Sheets-all diese Informationen e finden musste tc, ich habe den Code auf diese Art und Weise erstellt, indem ich dachte, ich könnte ihn einfach in einer Massencypherabfrage zusammenstellen und auf dem/browser auf dem localhost ausführen. es funktionierte wirklich gut, solange ich nicht mehr als 4-5000 Abfragen gleichzeitig verwendete. Dann hat es die gesamte Datenbank in ungefähr 5-10 Sekunden am Maximum erstellt, aber jetzt, wenn ich versuche, 45000 Abfragen zur gleichen Zeit zu laufen, läuft es seit fast 24 Stunden, und lädt immer noch und sagt "Ausführen der Abfrage. .. ". Ich frage mich, ob es auf jeden Fall die Zeit, die es braucht, verbessern kann, wird die Datenbank schließlich erstellt werden? Oder kann ich einige intelligentere Indizes oder andere Dinge tun, um die Leistung zu verbessern? weil übrigens meine Chiffre jetzt geschrieben wird, kann ich sie nicht in Stücke teilen, da alles in der Datenbank eine Art Verbindung zum Produkt hat. Muss ich den Code neu schreiben oder gibt es einen reibungslosen Weg?
Danke! Dies sollte als Antwort angenommen werden. – troig
Brauchen wir hier keine Klammern? (a) - [: BLAH] -> (b) – orestiss
Ja. Die Antwort wurde 2014 geschrieben, als Sie sie nicht brauchten. – FrobberOfBits