Я пытаюсь исключить узлы из запроса. Мой график состоит из пользователей, навыков, умение вести счет, вопросов и эндоЗапрос Cypher для исключения результатов, основанных на отношении
- пользователь имеет навыки
- умение имеет задир в связи с вопросами ((квалификация) -> (задиры) -> (вопросы))
- эндо является соотношением для пользователей и навыков задиров ((пользователей) -> (ENDOS) -> (задиры))
Я хотел бы, чтобы найти все вопросы для пользователя, но исключают те вопросы, которые пользователь уже имеет отношения к концу
Я думал, что я мог бы сделать:
MATCH (u:`User`),
u<-[rel1:`USERS`]-(s:`Skill`),
s-[rel2:`SKILLS`]->(k:`SkillScoring`),
k-[rel3:`ANSWER`]->(q:`Question`),
u<-[rel4:`ENDO`]-(e:`Endo`)
WHERE NOT((e)-->(u)) AND (u.id='1')
RETURN u, e, k, q
UPDATE:
эндо узлы соединены, как это.
- синий пользовательский узел
- фиолетовый Журнализированная узел одобрения (созданный в)
- зеленый цвет умение скоринг узел
На самом деле отношения «ОДОБРЕНИЕ» имеет узел (journalised), который соединяет умение скоринг узлы
UPDATE:
Когда я выполнить этот запрос, он возвращает меня вопрос в связи с пользователем
MATCH (u:User),
u<-[rel1:USERS]-(s:SoftSkill),
s-[rel2:SOFT_SKILLS]->(k:SkillScoring),
k-[rel3:ANSWER]->(q:Question),
u<-[:ENDO]-()<-[:ENDO]->(k)
WHERE u.id='1'
RETURN q, u
по минусам, когда я выполнить этот запрос, чтобы исключить этот вопрос, запрос возвращает мне вопросы, но и вопрос, который я не хочу
MATCH (u:User),
u<-[rel1:USERS]-(s:SoftSkill),
s-[rel2:SOFT_SKILLS]->(k:SkillScoring),
k-[rel3:ANSWER]->(q:Question)
WHERE u.id='1' AND NOT u<-[:ENDO]-()<-[:ENDO]->(k)
RETURN q, u
Что случилось? Какие-либо предложения?
Благодаря
Не могли бы вы привести пример вопроса, который запрос не может исключить? Возможно, картина всей модели, где вы отмечаете возвращаемый узел, который не должен возвращаться? – jjaderberg