如何在Java neo4j Cypher-DSL中创建变量拼接查询,cypher中不允许使用n:$label?

问题描述 投票:0回答:1

我想在java Cypher-DSL中实现这个neo4j查询:

WITH "Person" as label
CALL apoc.cypher.run("MATCH (n) WHERE n:"+ label + " RETURN n",{})
YIELD value
RETURN value

但是标签不允许使用变量:

apoc.cypher.run
与参数的正确用法是什么?

如何使用 Cypher-DSL 实现它:

Cypher.with( Cypher.literalOf("Person").as("label"))
.call(
   ??,
   Cypher.mapOf()
)
.yield("value")
.returning("value")
.build();
java neo4j cypher cypher-dsl
1个回答
0
投票

您可以执行类似于 Cypher-DSL 文档中的

Listing 4
示例的操作

例如:

var people = Cypher.node("Person").named("people");
var statement = Cypher.match(people) 
    .returning(people)
    .build();
© www.soinside.com 2019 - 2024. All rights reserved.