[英]Do MERGE query in java neo4j
我有用戶 1 和 7,我想合並他們之間的關系朋友。密碼查詢工作正常,但是當我嘗試用 Java 編寫它時,它不起作用
如何使用 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 語法錯誤。
)
。 它還需要以分號結尾。以下是適用於您的情況的完整代碼片段:
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();
}
這里值得注意的事情:
{aId}
和{bId}
Map
傳遞到數據庫您可能應該從 Java開發人員資源中查看使用 Neo4j ,以獲取有關該主題的更多示例和信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.