在JavaNeo4j中进行合并查询
我有用户1和7,我想在他们之间合并一个关系朋友。cypher查询工作正常,但当我试图用java编写它时,它不起作用在JavaNeo4j中进行合并查询,java,neo4j,Java,Neo4j,我有用户1和7,我想在他们之间合并一个关系朋友。cypher查询工作正常,但当我试图用java编写它时,它不起作用 Result result = db.execute( "MERGE (a:user {ID:'7'})-[:friend]->(b:user {ID:'5'}) return a.ID,b.ID") ) 如何使用java执行此密码查询: MATCH (a:user), (b:user) WHERE a.ID="1" AND b
Result result = db.execute( "MERGE (a:user {ID:'7'})-[:friend]->(b:user {ID:'5'}) return a.ID,b.ID") )
如何使用java执行此密码查询:
MATCH (a:user), (b:user)
WHERE a.ID="1" AND b.ID="7"
Merge (a)-[:friend]->(b)
return a, b
我试过这样做,但不起作用
Result result = db.execute( "MERGE (a:user {ID:'7'})-[:friend]->(b:user {ID:'5'}) return a.ID,b.ID") )
我也试过这个
Result result = db.execute(MATCH (a:user), (b:user) WHERE a.ID='1' AND b.ID='7' Merge (a)-[: friend]->(b) return a, b)
两者都不起作用您有几个Java语法错误
Result result = db.execute( "MERGE (a:user {ID:'7'})-[:friend]->(b:user {ID:'5'}) return a.ID,b.ID") )
)
。它还需要以分号结尾以下是适用于您的案例的完整代码段:
try (Transaction tx = db.beginTx()) {
// Query, with params
String query = "MATCH (a:user {ID: {aId}}), (b:user {ID: {bId}}) " +
"MERGE (a)-[:friend]->(b) " +
"RETURN a, b";
// Params
Map<String, Object> params = new HashMap<>();
params.put("aId", 1);
params.put("bId", 7);
// Execute in try-with-resource, to ensure that result will be closed
try (Result result = db.execute(query, params)) {
// read result here
}
tx.success();
}
try(事务tx=db.beginTx()){
//查询,带参数
String query=“匹配(a:user{ID:{aId}),(b:user{ID:{bId})”+
“合并(a)-[:朋友]->(b)”+
“返回a、b”;
//Params
Map params=新的HashMap();
参数put(“辅助”,1);
参数put(“投标”,7);
//在try with resource中执行,以确保结果将被关闭
try(Result=db.execute(查询,参数)){
//在这里阅读结果
}
成功();
}
值得注意的是:
- 事务在try with resource块中执行
- 查询正在使用params-
和{aId}
{bId}
- 参数作为
传递,并带有对数据库的查询Map
- 在try with resource块中执行查询ix,以确保资源将被关闭
可能您应该签出开发人员资源,以获取有关该主题的更多示例和信息。我已经尝试过,但它不起作用,这是完整的代码:try(Transaction-ignored=db.beginTx();Result-Result=db.execute(“MERGE(a:user{ID:'7})-[:friend]>(b:user{ID:'5'}返回a.ID,b.ID”))
try
语句需要一个代码块({…}
)。有关示例代码,请参见。是一个完整的示例。“匹配(a:user{ID:'1'}),(b:user{ID:'5'})合并(a)-[:friend]->(b)返回a,b”。我试过了,但它也不起作用。嗨,请在你的问题中添加所有相关信息:Java代码片段,异常,关于你试图实现什么的详细信息。