2016-03-24 8 views
0

は私がのNeo4jサイファーを学び始めた結果。私はNeo4jサンプルムービーグラフデータベースを使用しています。以下はのNeo4jクエリ

私が書かれており、サイファーは、結果1964が、そのretruningのNULL値を返すことを期待サイファーです。

あなたは私に知らせてくださいます。

MATCH(トム:人)tom.Name = "トム・ハンクス" がtom.bornを返します。 Neo4jのチュートリアルを通って行く 私は関係が、私は、クエリの下に実行property.When、それはまた、NULLにつながる持っていることがわかりました。私が期待しているところでは、関係 "ACTED_IN"はプロプライの役割を果たしています。だから、価値 "ロール"を返すべきです。

マッチ(:Person:名前: 'Keanu Reeves') - [rel] - >(M)RETURN M.title、rel.property;

ありがとうございます。

よろしく Faizan

+0

MATCH(あたり:人を{名: "トム・ハンクス"})戻りper.born。また、Tom Hanksが生まれた年になるためにはCypherを書いたが、クエリーはnullを返す。しかし、私が逆Cypherを書いているとき、すなわち、生まれた年を与え、名前を取得できる。ここではcypher MATCH(Per:Person {生年月日:1964年)} per.name;を返します。だからなぜ私はNULLを取得しているときに私は名前を生まれた年を見つけるしようとしています。 – Faiz

答えて

2

プロパティは、大文字と小文字が区別されます。プロパティがnameの場合、Nameを使用しています。試してみてください:他のクエリのために

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

property:ACTED_IN関係のプロパティではありません。それはrolesと呼ばれます。試してみてください:

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

あなたがその関係のプロパティのキー場合:

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

情報ありがとうございました。 – Faiz