gpt4 book ai didi

Neo4j:列表类型参数的使用

转载 作者:行者123 更新时间:2023-12-04 10:04:57 24 4
gpt4 key购买 nike

列表参数无法在 neo4j 4 中建立索引。每当您尝试从列表类型的参数中获取元素时,都会抛出此错误:

Neo.DatabaseError.General.UnknownError
Did not find any type information for expression ContainerIndex(Parameter(r,Any),SignedDecimalIntegerLiteral(0))

Neo4j 版本:4.0.3

操作系统:Ubuntu 18.04.3 LTS

数据库模式:因果集群

重现该问题的示例查询是:
MATCH (user:User)
WHERE ($range[0] > user.id OR user.id > $range[1])
return user
limit 1
$range是有问题的参数,示例值为 [100, 200]
这个错误在之前的 neo4j 3.5 版本中不会发生,因为我们目前正在迁移到 neo4j 4。它发生在 neo4j 浏览器中,并通过驱动程序发生。我目前使用 python 驱动程序 1.7.6

最佳答案

看来neo4j 4确实有问题,很高兴看到你已经提交了issue为了那个原因。

我找到了 2 个解决方法(但希望这个问题很快得到解决):

  • 将列表值显式转换为正确的类型。例如,如果 id值为整数:
    MATCH (user:User)
    WHERE TOINTEGER($range[0]) > user.id OR user.id > TOINTEGER($range[1])
    RETURN user
    LIMIT 1
  • 将列表值分配给变量并改用变量:
    WITH $range[0] AS upper, $range[1] AS lower
    MATCH (user:User)
    WHERE upper > user.id OR user.id > lower
    RETURN user
    LIMIT 1
  • 关于Neo4j:列表类型参数的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61635183/

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