2016-06-25 1 views
0

J'ai un noeud et je veux ajouter une propriété property_x dont la valeur que je veux être {"year1":value, "year2":value}. Faire plus d'un noeud pour chaque année n'est pas nécessaire car j'ai besoin de ces valeurs dans mon traitement ensemble.Comment puis-je utiliser py2neo pour stocker un dictionnaire en tant que valeur de propriété à la clé de propriété unique d'un nœud dans neo4j?

+0

J'ai essayé d'éditer mais la question est très vague et a besoin de plus de détails si vous espérez qu'il y soit répondu. – AlBlue

Répondre

1

Neo4j ne supporte que certains types de propriétés (docs):

... il y a des restrictions quant à quels types de valeurs peuvent être utilisées comme la valeur des propriétés. Autorisé types de valeur sont les suivants:

  • Nombres: Les deux valeurs entières, avec une capacité en tant que type Java Long et flottants, avec une capacité de Java de Double.

  • Booléens.

  • Chaînes.

  • Tableaux des types de base ci-dessus.

Vous ne pouvez donc pas définir un dictionnaire comme une propriété. Vous pouvez essayer d'utiliser json.dumps pour convertir le dictionnaire en chaîne JSON et stocker la chaîne. Toutefois, cela signifie que vous ne pouvez pas facilement utiliser le contenu de l'objet lors de l'écriture de requêtes et que vous devrez récupérer les données lorsque vous récupérez le nœud.

Vous pouvez également faire de l'objet un noeud distinct avec les propriétés year1, year2, etc. et le lier au premier noeud avec une relation.