假设存在两个节点(:USER {name: "John"})和(:AGE {name: "28"})。现在,Neo4j 可以执行以下查询
MATCH (u:USER {name: "John"})
MATCH (a:AGE {name: "28"})
MERGE (u)-[:IS]->(a)
Run Code Online (Sandbox Code Playgroud)
并创建IS两个节点之间的关系。在 Redis Graph 上运行相同的查询时,出现以下错误:
Syntax error at offset 22 near 'MERGE'。有谁知道如何在 Redis Graph 上运行相同的查询?
我应该补充一点CREATE,MERGE因为它会创建一个(可能)已经存在的边缘的副本,而不是它不起作用。
Raw*_*hi 5
目前,MERGE 仅用作独立子句,因此不能与其他指令(如 MATCH 或 RETURN)结合使用。
你可以做这样的事情(但它会创建整个模式):
MERGE (u:USER {name: "John"})-[:IS]->(a:AGE {name: "28"})
Run Code Online (Sandbox Code Playgroud)
所以我认为现在唯一的选择是执行两个单独的命令:
MATCH (u:USER {name: "John"})-[r:IS]->(a:AGE {name: "28"})
RETURN count(r)
Run Code Online (Sandbox Code Playgroud)
如果此交易返回空结果,则您需要创建关系:
MATCH (u:USER {name: "John"})
MATCH (a:AGE {name: "28"})
CREATE (u)-[:IS]->(a)
Run Code Online (Sandbox Code Playgroud)
编辑:20-06-2020 之后,此答案不相关,因为它们现在支持此类查询。
| 归档时间: |
|
| 查看次数: |
550 次 |
| 最近记录: |