0

我目前正在 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 似乎不支持与其他指令结合使用MERGE

  1. 有什么解决方法吗?
  2. 可以更改查询以允许它在没有 match 语句的情况下执行相同的功能吗?
4

1 回答 1

2

我现在看到的唯一选择是将其拆分为两个查询,第一个检查 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

如果上述查询返回空问题,则进行第二个查询以形成关系:

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)
于 2018-12-19T09:33:19.713 回答