Wie die Rückkehr der Beziehungstyp mit Neo4J Cypher-Abfragen?
Ich versuche, die Art der Beziehung eine sehr einfache Cypher-Abfrage, wie im folgenden
MATCH (n)-[r]-(m) RETURN n, r, m;
Leider ist diese Rückkehr ein leeres Objekt für r
. Dies ist lästig, da kann ich nicht unterscheiden zwischen den verschiedenen Arten von Beziehungen. Ich kann monkey patch dies durch hinzufügen einer Eigenschaft wie [r:KNOWS {type:'KNOWS'}]
aber ich Frage mich, ob es nicht einen direkten Weg, um die Art der Beziehung.
Ich selbst folgte die offizielle Neo4J-tutorial (wie unten beschrieben), zeigt das problem.
Graph-Setup:
create (_0 {`age`:55, `happy`:"Yes!", `name`:"A"})
create (_1 {`name`:"B"})
create _0-[:`KNOWS`]->_1
create _0-[:`BLOCKS`]->_1
Abfrage:
MATCH p=(a { name: "A" })-[r]->(b)
RETURN *
JSON-ANTWORT KÖRPER:
{
"results": [
{
"columns": [
"a",
"b",
"p",
"r"
],
"data": [
{
"row": [
{
"name": "A",
"age": 55,
"happy": "Yes!"
},
{
"name": "B"
},
[
{
"name": "A",
"age": 55,
"happy": "Yes!"
},
{},
{
"name": "B"
}
],
{}
]
},
{
"row": [
{
"name": "A",
"age": 55,
"happy": "Yes!"
},
{
"name": "B"
},
[
{
"name": "A",
"age": 55,
"happy": "Yes!"
},
{},
{
"name": "B"
}
],
{}
]
}
]
}
],
"errors": []
}
Wie Sie sehen können, bekomme ich ein leeres Objekt für r
, was es unmöglich macht zu unterscheiden zwischen den Beziehungen.
HINWEIS: ich bin mit Neo4J v. 2.2.2
- Es ist nur
TYPE(r)
wor
ist die Beziehung der Bezeichner. Check it out hier: neo4j.com/docs/stable/... - Super!!! Das war einfach. Ich Frage mich, warum ich noch nicht gefunden, die Seite.
- Es ist nicht genau zu sehen. 🙂 In die Zukunft, halten die Cypher refcard praktisch, weil es wird Ihnen zeigen, Dinge wie, dass. neo4j.com/docs/stable/cypher-refcard
- Ich habe das schreiben von cypher für ein paar Jahre jetzt, und ich habe immer refcard und die cypher Spickzettel in der Nähe.
- Danke, ich denke mal du meinst diese PDF-Datei assets.neo4j.org/download/Neo4j_CheatSheet_v3.pdf
- Vielen Dank für den ausgezeichneten Tipp!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden Sie die
type()
Funktion.