2016-06-02 8 views
1

Mein Ziel ist es, dynamische Beziehungen mit Zeitstempel als Eigenschaft der Beziehung gespeichert zu erstellen. So können 2 Knoten viele Beziehungen mit demselben Label, aber unterschiedlichen Eigenschaftswerten haben.Erstellen von Beziehungen mit demselben Label, aber unterschiedlichen Eigenschaften

Ich kann das durch die folgende Verwendung von Cypher erreichen:

CREATE 
(s1:Node {name:'s1'}), 
(s2:Node{name:'s2'}), 
(s1)-[r1:CONNECTS_TO{from:456}]->(s2), 
(s1)-[r2:CONNECTS_TO{from:1234}]->(s2) 

Allerdings habe ich nicht die gleiche Art und Weise, dass die Verwendung Py2neo zu tun gibt. Ich versuchte dies:

from py2neo import Graph, Node, Relationship 

graph = Graph(password='neo4jneo4j') 

s1 = Node('Node', name='s1') 
s2 = Node('Node', name='s2') 

aw = Relationship(s1, 'CONNECTS_TO', s2, from=456) 
graph.create(aw) 

aw2 = Relationship(s1, 'CONNECTS_TO', s2, from=1234) 
graph.create(aw2) 

Der obige Code nicht zwei Beziehungen schafft. Stattdessen aktualisiert letzterer den früheren.

Wie kann ich es mit Py2neo tun?

Danke!

+0

Bitte fügen Sie ein Code-Snippet ein, das tatsächlich ausgeführt werden würde. Die Variablen 'arif' und' wicaksana' sind nicht definiert. –

+0

@NicoleWhite tut mir leid, habe das Snippet nur mit dem richtigen Code aktualisiert – Arif

Antwort

1

Dies ist mit den Objekten py2neo Node und Relationship nicht möglich. Sie müssen Cypher verwenden, um mehrere ähnliche Beziehungen wie diese zu erstellen.

+0

Anfangs dachte ich, ich würde keine Low-Level-Abfrage mit Cypher verwenden. Aber anscheinend muss ich es in meinem Fall benutzen. Danke Nigel für die Aufklärung! – Arif

Verwandte Themen