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