2016-12-26 3 views
1

Я новичок в Neo4j. Ниже мой социальный графический образ, который я создал в моем Neo4j. В настоящее время я ищу Cypher запрос, который будет получать все друзья «Рохит», которые, как «треккинг»Neo4j Социальные отношения Query

Social Graph

Я попытался следующие, но он не работает.

MATCH (:Profile{name:"Rohit"})-[:Friend]-(p:Profile) 
WITH p 
MATCH (p)-[l:Like]-(:Hobby{name:"Trekking"}) 
RETURN l 
+1

Что вы пробовали до сих пор? В стороне я бы подумал, что «Трекинг» будет единственным узлом. –

+0

MATCH (: Профиль {имя: "Rohit"}) - [: Friend] - (p: Профиль) с p MATCH (p) - [l: Like] - (: Hobby {name: "Trekking"}) return l – Biswajit

+1

, похоже, что он сделает то, что вы захотите; чего ты ожидал? что вы испытываете? –

ответ

2

Если вы хотите, чтобы вернуть друга, вы должны вернуться p вместо l. Более того, я думаю, вам не нужно использовать WITH здесь (хотя вы можете, если вы хотите), вы можете попробовать что-то вроде

MATCH (:Profile{name:"Rohit"})-[:Friend]->(p:Profile)-[:Like]->(:Hobby{name:"Trekking"}) 
RETURN p 

Это должно работать

Смежные вопросы