Jede x
, die Sie drucken, ist eigentlich eine Record
Instanz. Denken Sie an diese Record
Instanz als Ergebnis Zeile: für jeden Alias, den Sie in Cypher zurückgeben, gibt es eine "Zelle" in jeder "Zeile", die diesem Alias in diesem Datensatz entspricht. Sie können auf diese durch numerischen Index (x[0]
, x[1]
) zugreifen, der der Bestellung in der RETURN
Anweisung entspricht, oder durch den tatsächlichen Alias, der in der RETURN
Anweisung zugewiesen wurde (in diesem Fall möchten Sie x['r']
erreichen). Auf diese Weise können Sie die tatsächliche Relationship
Instanz zugreifen, die Ihre Daten hat, die die Attribute hat id
, type
, start
, end
und properties
, der letzte ein dict
-alike der Beziehung der zugeordneten Eigenschaften zu sein.
Es ist allgemein gute Praxis, nur gibt die Informationen, die Sie von einer Cypher Anweisung benötigen, wenn Sie also nur Beziehungstyp, Ihre Cypher Anweisung sollte beenden mit RETURN TYPE(r)
wollten und dann könnte man x['TYPE(r)']
greift nur die Art zu erhalten. Wenn Sie nur die Eigenschaften RETURN PROPERTIES(r)
und x['PROPERTIES(r)']
möchten. Der in einem Record
verwendete Zeichenfolgenschlüssel muss genau dem Alias entsprechen, der zurückgegeben wird; Wenn Sie das Parsen vereinfachen möchten, weisen Sie in der RETURN
-Anweisung einen Alias zu, z. B. RETURN TYPE(r) AS a
, und die entsprechende x['a']
.
Als Nebenwirkung Sie brauchen auch nicht, etwas zu importieren aus neo4j.v1
außer GraphDatabase
und basic_auth
, alles andere sollte von GraphDatabase
abgeleitet unter der Decke von Methoden instanziiert werden.
Sie haben Recht! Vielen Dank ! ich ändere wie dieses result = session.run ('' 'MATCH (: Person {Handy: 15309912652}) - [r] -() RÜCKKEHR EIGENSCHAFTEN (r)' '') # für x im Ergebnis: x drucken ['EIGENSCHAFTEN (r)'] – zhaowei