gpt4 book ai didi

neo4j - 在 Neo4j 密码查询中使用表达式限制

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

我的密码查询是

start item= node:jobSearch ("title:Job*") WITH collect(item) as items limit 10  RETURN items as job union start item2= node:jobSearch ("title:Job*") WITH collect(item2) as item2s , count(item2) as paths  match (job1:Job)-[relation]-(relationNode)  where 
(relationNode.name IN ['java','Dance','Programming'] OR relation.duration IN
['java','Dance','Programming']) AND NOT (job1 IN item2s) AND paths < 10 RETURN job1 as job limit 8

我在上述查询中使用限制 8 的地方,我想使用 10 条路径。我该如何使用它?

最佳答案

因此,您似乎应该能够使用 limit 子句中的表达式来执行此操作,或者也许可以通过在最后一个 WITH 语句中计算正确的整数(例如 WITH ( 10-paths) as resultCount (...) limit resultCount) 但我对此进行了测试,但它不起作用。

为了好玩,我查看了 neo4j 源代码,看看是否遗漏了什么。 In this source file你可以看到密码语言本身的一些子句和解析规则。

坏消息是 LIMIT 表达式需要一个无符号整数文字或一个参数。所以基本上你不能做你要求做的事情,除非你在一个单独的查询中计算 (10-paths),然后把一个 {resultCount} 参数,然后给它那个预先计算的值。这可能需要大量工作,但值(value)不大。

从好的方面来说,除非你的结果真的非常大,否则最简单的方法可能就是 LIMIT 10 并在你的结果集中包含整数 paths ,这样代码使用这些结果知道要忽略比这更多的结果。

关于neo4j - 在 Neo4j 密码查询中使用表达式限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28742709/

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