RedisGraph - 使用 MERGE 组合多个指令
RedisGraph - Combining multiple directives with MERGE
我目前 运行 Neo4J 上的以下查询
match (p:Initial{state: 'Initial', name: 'Initial'}), (c:Encounter{code:'abcd', state: 'Encounter', name: 'Encounter1'})
merge (p)-[:raw {person_id:'1234', type:'Encounter', code:'abcd'}]->(c)
但是我无法在 RedisGraph 上执行相同的查询。
根据我目前的了解,Redis 似乎不支持 combining MERGE
with other directives
- 有什么解决方法吗?
- 是否可以更改查询以使其在没有匹配语句的情况下执行相同的功能?
我现在看到的唯一选择是将其拆分为两个查询,
第一个检查 p 是否连接到 c:
MATCH (p:Initial{state: 'Initial', name: 'Initial'})-[:raw {person_id:'1234', type:'Encounter', code:'abcd'}]->(c:Encounter{code:'abcd', state: 'Encounter', name: 'Encounter1'}) RETURN p,c
如果上述查询 returns 为空,则发出第二个查询以形成关系:
MATCH (p:Initial{state: 'Initial', name: 'Initial'})(c:Encounter{code:'abcd', state: 'Encounter', name: 'Encounter1'}) CREATE (p)-[:raw {person_id:'1234', type:'Encounter', code:'abcd'}]->(c)
我目前 运行 Neo4J 上的以下查询
match (p:Initial{state: 'Initial', name: 'Initial'}), (c:Encounter{code:'abcd', state: 'Encounter', name: 'Encounter1'})
merge (p)-[:raw {person_id:'1234', type:'Encounter', code:'abcd'}]->(c)
但是我无法在 RedisGraph 上执行相同的查询。
根据我目前的了解,Redis 似乎不支持 combining MERGE
with other directives
- 有什么解决方法吗?
- 是否可以更改查询以使其在没有匹配语句的情况下执行相同的功能?
我现在看到的唯一选择是将其拆分为两个查询, 第一个检查 p 是否连接到 c:
MATCH (p:Initial{state: 'Initial', name: 'Initial'})-[:raw {person_id:'1234', type:'Encounter', code:'abcd'}]->(c:Encounter{code:'abcd', state: 'Encounter', name: 'Encounter1'}) RETURN p,c
如果上述查询 returns 为空,则发出第二个查询以形成关系:
MATCH (p:Initial{state: 'Initial', name: 'Initial'})(c:Encounter{code:'abcd', state: 'Encounter', name: 'Encounter1'}) CREATE (p)-[:raw {person_id:'1234', type:'Encounter', code:'abcd'}]->(c)