2016-03-24 15 views
0

Ich begann Neo4j Cypher zu lernen. Ich verwende Neo4j Sample Movie Graph Database.NEo4j Abfrage Ergebnis

Unten ist der Cypher, den ich geschrieben habe und erwarte, dass Cypher das Ergebnis 1964 zurückgibt, aber seinen NULL-Wert retruning.

Bitte lassen Sie es mich wissen.

MATCH (tom: Person) wo tom.Name = "Tom Hanks" zurück tom.born; Going Neo4j Tutorial Ich habe gefunden, dass Beziehung Eigenschaft hat. Wenn ich unter Abfrage ausführen, ergibt es auch in NULL. Wo ich erwarte Beziehung "ACTED_IN" hat Eigenschaft Rolle. Also sollte es Wert "Rolle" geben.

Übereinstimmung (: Person {Name: 'Keanu Reeves'}) - [rel] -> (M) RETURN M.title, rel.property;

Vielen Dank im Voraus.

Grüße Faizan

+0

MATCH (pro: Person {Name: "Tom Hanks"}) return per.born; auch geschriebene Chiffre, um Jahr für Tom Hanks zu bekommen, aber Abfrage zurück Null. Aber wenn ich Reverse cypher schreibe, d. H. Giving geboren Jahr und in der Lage, Name zu holen. Hier ist die Ziffer MATCH (per: Person {born: 1964}) return per.name ;. Also warum ich NULL bekomme, wenn ich Name schreibe, versuche, das Geburtsjahr herauszufinden. – Faiz

Antwort

2

Eigenschaften sind Groß- und Kleinschreibung. Sie verwenden Name, wenn die Eigenschaft name ist. Versuchen:

MATCH (tom:Person) WHERE tom.name = "Tom Hanks" RETURN tom.born; 

Für die andere Abfrage, property auf der :ACTED_IN Beziehung keine Eigenschaft ist. Es heißt roles. Versuchen:

MATCH (:Person {name:'Keanu Reeves'})-[rel]->(M) 
RETURN M.title, rel.roles; 

Wenn Sie die Schlüssel der Eigenschaften auf dieser Beziehung:

MATCH (:Person {name:'Keanu Reeves'})-[rel]->(M) 
RETURN M.title, KEYS(rel); 
+0

Vielen Dank für Info. – Faiz