RedisGraph - объединение нескольких директив с помощью MERGE - PullRequest
0 голосов
/ 18 декабря 2018

В настоящее время я запускаю приведенный ниже запрос на 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. Можно ли изменить запрос, чтобы он мог выполнять те же функции без оператора сравнения?

1 Ответ

0 голосов
/ 19 декабря 2018

Единственный вариант, который я вижу сейчас, - это разделить его на два запроса. Первый проверяет, связан ли 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)
...