У меня следующая структура neo4j:
:Label1 -[:rel-label-1]- :Label2
It may happen that :Label1 -- :Label3
And sometime :Label2 -[:rel-label-2]- :Label3
Я хотел бы получить данные со следующей структурой таблицы
| LABEL1 | LABEL2 |
|--------|--------|
НО такой, что
IF исходящих данных нет: rel-label-2 из узла Label2 в таблице Lable 3 равен нулю, а узел Label2 будет встречаться только в строке
и
ЕСЛИ нет inbounding: rel-label-2, из узла Label3, в таблице Lable 2 имеет значение null, а узел Label3 будет встречаться только в строке
. Сейчас я просто могу производить декартово произведение на основе совпадение первой строки в структуре:
MATCH(n:Label1)--(:rel-label-1)--(z1:Label2)
Followed by the 2 optional Matches to retrieve :Label3 and :rel-label-2
Ниже приведен пример ожидаемого результата таблицы и шифра