У меня есть проект, который использует весеннюю загрузку и базу данных neo4j.Я хочу написать запрос, который за один match
получает все, что имеет некоторые параметры и минус узел, который приводит ко второму match
.Я использую optional match
, но когда второй match
имеет 2 узла в ответ, он не работает.Я пытался использовать оператор UNWIND
, но он не работает.Я должен сказать, что результат от до match
- это один и тот же узел, и когда результаты второго match
- это один узел, запрос хорошо работает в этом проекте, у меня есть твит, пользовательский и ArchivedChat узлы, и пользователь может создатьили ответьте на другой твит или заархивированный твит, который создаете сам.
запрос, который хорошо отвечает для некоторого уравнения:
match (n:Twit)-[t:TAGS]->(y:Hashtag)
where n.isPrivate=true and y.name="#PRIVATE_xxxxx"
match (a:ArchivedChat)
where a.username="xxxxx" and a.chatId<>n.chatId
return distinct n
Я ищу и читаю много документов и использую WITH
и UNWIND
операторы и не получают правильного ответа.
Я думаю, что ситуация аналогична СУБД, когда вы хотите использовать select
, где IN
другой select
.
Если у вас есть предложения по этой проблеме, пожалуйста, свяжитесь со мной или ответьте на сообщение.
спасибо