gpt4 book ai didi

Neo4j:为什么不返回长度为 0 的路径?

转载 作者:行者123 更新时间:2023-12-04 18:04:11 25 4
gpt4 key购买 nike

想象一个简单的场景,其中一家公司拥有产品,并且此数据:

(c:Company {name: 'Uber'})-[:has_product]->(p:Product {name: 'Uber App'})

我希望这个查询

match (c:Company)-[:has_product*0..1]->(p:Product)
return c.name, p.name;

返回

Uber, null
Uber, Uber App

因为路径的长度可以是0。但是,它只返回

Uber, Uber App

我是否误解了路径在 Neo4j 中的工作方式?

最佳答案

我认为您混淆了零长度匹配的工作原理。零长度关系跃点将匹配起始节点本身。在您的查询中,虽然路径中的结束节点指定了 :Product 标签。由于第一个节点具有 :Company 标签,您的查询永远不会产生零长度匹配。如果您在未在末端节点上指定标签的情况下尝试以下查询,您应该返回几行:其中 'Uber' 在两列中,另一行在 'Uber' 在一栏中,另一栏中有产品'Uber App'

MATCH (c:Company {name: 'Uber'})-[*0..1]->(p)
RETURN c.name, p.name;

关于Neo4j:为什么不返回长度为 0 的路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29948949/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com