Пропустить обратный путь в запросе neo4j - PullRequest
0 голосов
/ 12 июля 2020

У меня есть пример графа из 5 узлов, соединенных 4 ребрами. enter image description here

    create (a:Person {name:'A'}), (b:Person {name:'B'}),  (c:Person {name:'C'}), (d:Person {name:'D'}), (e:Person {name:'E'}), (b)-[:KNOWS]->(a), (b)-[:KNOWS]->(c), (d)-[:KNOWS]->(c), (d)-[:KNOWS]->(e)

And I would like to select all the node triplets barring duplicates.

MATCH (p)--(q)--(r) RETURN DISTINCT p,q,r

Вот игровая площадка

В результате я хочу всего 3 тройки

a-b-c
b-c-d
c-d-e

но вместо этого я получаю также перевернутые тройки

a-b-c
b-c-d
c-d-a
c-b-a
d-c-b
e-d-c

Как избежать выбора обратного пути?

Спасибо

1 Ответ

1 голос
/ 12 июля 2020

Вы можете добавить:

WHERE id (p)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...