neo4j / cypher -为什么排除起始节点?

fhity93d  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(103)

我有一个简单的图表:

当我在neoeclipse中运行这个简单的查询时:

START me=node:node_auto_index(name="Me") 
MATCH me-[:LIVES_IN]->()<-[:LIVES_IN]-(f)
RETURN f.name;

只有我女朋友回来了!
为什么我被排除在结果之外?

Results
f.name  Girlfriend
mspsb9vt

mspsb9vt1#

因为路径(在匹配中指定的路径)永远不会包含两次相同的关系。
要查找居住在同一位置的所有人(包括您自己),您需要分为两个操作,一个是查找您所在的城市,另一个是使用with语句收集这个城市中的人:

start me=node:node_auto_index(name='Me') 
match me-[:LIVES_IN]->homebase 
with homebase 
match homebase<-[:LIVES_IN]-people 
return people

参见http://console.neo4j.org/?id=t0wjhg

相关问题