Вернуть узлы с отношением и без отношения - PullRequest
0 голосов
/ 30 апреля 2020

Привет, я очень новичок в Cypher Syntax и мне нужна помощь!

Я хочу написать запрос, который возвращает все "a" по отношению к "b" и все "a", которые не иметь отношение с «b», поэтому я могу вернуть каждое «a» и только «b» по отношению к «a».

Что я хочу сделать

 match (a:TypeA)-[r]->(b:TypeB) 
 match (a:TypeA) 
 return a, b

Что я надену не хочу делать

 match (a1:TypeA)-[r]->(b:TypeB) 
 match (a2:TypeA)
 return a1, a2, b

Есть ли способ сделать это или мой единственный вариант go для второго запроса?

Ответы [ 2 ]

0 голосов
/ 30 апреля 2020

Этот запрос будет возвращать каждый TypeA в отдельной строке вместе с (возможно, пустым) списком TypeB конечных узлов:

MATCH (a:TypeA) 
RETURN a, [(a)-->(b:TypeB) | b] AS bs
0 голосов
/ 30 апреля 2020

Дополнительное совпадение - это то, что вы ищете:

MATCH (a: TypeA) ДОПОЛНИТЕЛЬНОЕ MATCH (a) - [r] -> (b: TypeB) ВОЗВРАТ a, b

https://neo4j.com/docs/cypher-manual/current/clauses/optional-match/

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