当前位置: 首页 > 知识库问答 >
问题:

neo4j密码,当试图用ID(n)更新和删除时出现奇怪的错误

屠华辉
2023-03-14
String remove = "MATCH (n:Player {ID(n): {id} })-[r]-() DELETE n, r";
            ExecutionResult result = engine.execute(remove,
                   params); 

  and

 String query = "MERGE (n:Person {ID(n): {id}}) ON CREATE SET n.name={name}, n.surname={surname}, n.position={position} ON MATCH SET";

            ExecutionResult result = engine.execute(query,
                    params);

无效输入“(”:应为标识符字符、空格、“:”或“}”(第1行,第20列)“match(n:player{ID(n):{ID}})-[r]-()DELETE n,r”

通常我使用的是Spring数据neo4j,并没有发现这种类型的错误。

谢谢

共有1个答案

刘胜泫
2023-03-14

id是一个函数,它返回节点或关系的内部id,但在查询中,您可以将其用作节点上的属性。根据节点的内部id匹配节点的方法

MATCH (n)
WHERE ID (n) = {id}

在删除情况下,您可以

MATCH (n:Player)-[r]-()
WHERE ID (n) = {id}
DELETE r, n

您不能将内部id分配给节点,Neo4j在内部处理它,因此将id函数与merge一起使用是没有意义的。您可以选择一个您控制的不同的唯一标识属性,并为其创建唯一约束,然后在现在使用内部ID的大多数(可能是所有)地方使用该属性。

 类似资料:
  • 我有一个数据帧,我试图在条形图中绘制,但我面临一个奇怪的错误。 print语句给出: 然后是绘图代码:给出以下错误: ---------------------------------------------------------------------------KeyError回溯(最近一次调用上次)~/opt/anaconda3/lib/python3。8/现场包/熊猫/核心/索引/基础。

  • 所以在离开我的Android Studio项目一段时间后,我运行了所有的更新。

  • 所以我在做一个定时器包装函数,但是我在尝试打印参数的时候不断地得到错误。 我的计时器功能看起来是这样的: 理想的情况下,它也会打印kwargs,但显然这是一个完全不同的问题,尽管我会非常感谢如果有人帮助我做这件事。所以当没有一个论点的时候,我的结果很好: 给出:使用参数1000执行dummy_fn,取:0.2128157615661621 但是,如果我重新定义dummy_fn以获取更多的参数并传递

  • 我在打印报告时出现了一个奇怪的错误。

  • 问题内容: 我一直在使用PyCharm在PyQt中调试我的GUI。到目前为止,这确实非常成功,直到我在尝试调试gui时遇到一个奇怪的错误。我已经在脚本的开始以及各个点设置了一个断点,但是程序没有机会到达这一点。我也尝试删除所有断点并运行调试,但得到相同的结果。完整的回溯是: 有谁知道导致此错误的原因以及如何解决?当我正常运行代码(无需调试)时,不会遇到任何这些错误。 问题答案: 我遇到了同样的问题

  • 问题内容: 我和之间有关系 所以当我尝试持久化对象时 我懂了 如您所见,它尝试插入正确的值,但是以某种方式将其标记为语法错误。我认为它缺少左右的单引号,但是由于它是在后台进行查询的,所以我不知道如何解决它。请注意,我对同一项目中的其他实体执行了完全相同的操作,并且工作正常。太沮丧了!! 问题答案: GROUP确实是保留的关键字,您必须对其进行转义。在JPA 2.0中,有一种标准化的方法来指定分隔标