RedisGraph - объединение нескольких директив с помощью 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, похоже, не поддерживает комбинирование MERGE с другими директивами

  1. Есть ли обходной путь к этому?
  2. Можно ли изменить запрос, чтобы он мог выполнять те же функции без оператора сравнения?

1 ответ

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