【问题标题】:Limiting ShortestPath in Cypher to nodes with specific properties将 Cypher 中的 ShortestPath 限制为具有特定属性的节点
【发布时间】:2015-02-17 01:49:20
【问题描述】:

我试图弄清楚如何限制密码中的最短路径查询,以便它只连接包含特定属性的“Person”节点。

这是我的查询:

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

我想限制它,以便当它从一个 Person 节点连接到另一个 Person 节点时,Person 节点必须包含一个名为“job”的属性和一个值为“engineer”的值。

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

【问题讨论】:

    标签: neo4j cypher


    【解决方案1】:

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

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

    如果您还为Personidjob 属性创建索引,这种查询应该会快得多。

    【讨论】:

    • 感谢您的评论。很抱歉不清楚。我明白你在说什么,但我希望 Person ID:1 到 Person ID:2 之间的连接只能通过具有 {job: "engineer"} 作为节点属性的 Persons。因此,如果一个连接节点没有那个工作,那么我不希望我的最短路径通过它们进行连接。这有帮助吗?
    猜你喜欢
    • 2018-08-12
    • 1970-01-01
    • 1970-01-01
    • 2018-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-14
    • 1970-01-01
    相关资源
    最近更新 更多