想象一下,存在两个节点(:USER {name: "John"})
和(:AGE {name: "28"})
。现在,使用Neo4j可以进行以下查询
MATCH (u:USER {name: "John"})
MATCH (a:AGE {name: "28"})
MERGE (u)-[:IS]->(a)
并在两个节点之间创建IS
关系。在Redis Graph上运行相同的查询时,出现以下错误:
Syntax error at offset 22 near 'MERGE'
。有谁知道如何在Redis Graph上运行相同的查询?
我应该补充一点,CREATE
代替MERGE
无效,因为它将创建(可能)已经存在的边缘的副本。
答案 0 :(得分:2)
当前,MERGE仅用作独立子句,因此不能与MATCH或RETURN等其他指令组合。
您可以执行以下操作(但它将创建整个模式):
static def(name: string) {
switch (name) {
case 'test':
return console.error;
default:
return console.warn;
}
}
def("test")("Your message to log as error");
def("nottest")("Your message to log as warning");
所以我认为目前唯一的选择是执行两个单独的命令:
MERGE (u:USER {name: "John"})-[:IS]->(a:AGE {name: "28"})
如果此事务返回空结果,则需要创建关系:
MATCH (u:USER {name: "John"})-[r:IS]->(a:AGE {name: "28"})
RETURN count(r)