将Cypher中的ShortestPath限制为具有特定属性的节点

时间:2015-02-17 01:49:20

标签: neo4j cypher

我试图找出如何在cypher中限制最短路径查询,以便它只连接" Person"包含特定属性的节点。

这是我的问题:

MATCH p = shortestPath( (from:Person {id: 1})-[*]-(to:Person {id: 2})) RETURN p

我想限制它,以便当它从一个Person节点连接到另一个Person节点时,Person节点必须包含一个名为" job"的属性。和#34;工程师的价值。"

你能帮我构建查询吗?谢谢!

1 个答案:

答案 0 :(得分:2)

您的要求不是很清楚,但如果您只是希望其中一个人的id为1而另一个人是工程师,那么您可以使用:

MATCH p = shortestPath( (from:Person {id: 1})-[*]-(to:Person {job: "engineer"}))
RETURN p;

如果您还为id的{​​{1}}和job属性创建了索引,那么这种查询应该会快得多。