Ich habe einen Knoten und ich möchte eine Eigenschaft property_x
hinzufügen, deren Wert ich {"year1":value, "year2":value}
sein möchte. Es wird nicht benötigt, mehr als einen Knoten für jedes Jahr zu erstellen, da ich diese Werte in meiner Verarbeitung zusammen benötige.Wie kann ich py2neo verwenden, um ein Wörterbuch als einen Eigenschaftswert für einen einzelnen Eigenschaftsschlüssel eines Knotens in neo4j zu speichern?
Antwort
Neo4j unterstützt nur bestimmte Arten von Immobilien (docs):
... gibt es Einschränkungen, um welche Arten von Werten können als Eigenschaftswerte verwendet werden. Erlaubt Werttypen sind wie folgt:
Zahlen: Beide ganzzahlige Werte, mit einer Kapazität als Java
Long
Typ und Gleitpunkte, mit einer Kapazität als JavaDouble
.Boolesche Werte.
Strings.
Arrays der oben genannten Basistypen.
Sie können also nicht ein Wörterbuch als Eigenschaft festgelegt. Sie könnten versuchen, json.dumps
zu verwenden, um das Wörterbuch in eine JSON-Zeichenfolge zu konvertieren und die Zeichenfolge zu speichern. Dies bedeutet jedoch, dass Sie den Inhalt des Objekts beim Schreiben von Abfragen nicht einfach verwenden können und die Daten beim Zurückholen des Knotens json.loads
zurückgeben müssen. Alternativ können Sie das Objekt als separaten Knoten mit den Eigenschaften year1
, year2
usw. definieren und es mit dem ersten Knoten mit einer Beziehung verknüpfen.
Versucht zu bearbeiten, aber die Frage ist sehr vage und braucht mehr Details, wenn Sie hoffen, dass es beantwortet wird. – AlBlue