Neo4j запрашивает только подграф
Я пытаюсь запросить только подграф большего графика. Я хочу сопоставить определенный узел, который не имеет отношения в подграфе, но имеет отношение во всем графе.
Match (a:PlanningGroup{displayname:"PGr6"})-[:input]->(b:PlanningStep)
where not (b)<-[:belongs]-(:ExecutionStep)
with b
Match(b)
where not (b)<-[:next]-()
return b
В примере я отфильтровываю все шаги, которые уже выполнены. Затем я пытаюсь задать подграф с оператором "with" и сопоставить первый шаг, который еще не был выполнен. В подграфе это означает, что нет следующих входящих отношений. Но, глядя на полный график, у него будут входящие следующие отношения из уже выполненного шага. Есть ли способ, которым я могу только запросить этот подграф, игнорируя отношения всего графа? Спасибо
РЕДАКТИРОВАТЬ
CREATE
(aps9 :PlanningStep {id:9, type:"seperating" ,workInstructions:"relation to instruction node", displayname:"PS9", modeltype:"planning", ResponsibleApp:"CPTool"}) ,
(aps10 :PlanningStep {id:10, type:"process" ,workInstructions:"relation to instruction node", displayname:"PS10", modeltype:"planning", ResponsibleApp:"CPTool"}) ,
(aps11 :PlanningStep {id:11, type:"process" ,workInstructions:"relation to instruction node", displayname:"PS11", modeltype:"planning", ResponsibleApp:"CPTool"}) ,
(aps12 :PlanningStep {id:12, type:"process" ,workInstructions:"relation to instruction node", displayname:"PS12", modeltype:"planning", ResponsibleApp:"CPTool"}) ,
(aps13 :PlanningStep {id:13, type:"process" ,workInstructions:"relation to instruction node", displayname:"PS13", modeltype:"planning", ResponsibleApp:"CPTool"}) ,
(pg5 :PlanningGroup {id:5, MaterialCount:"1", MaterialType:"module", workInstructions:"relation to instruction node", displayname:"PGr6", modeltype:"planning", ResponsibleApp:"CPTool"}) ,
(aps9)-[:`next` {modeltype:"planning", ResponsibleApp:"CPTool"}]->(aps10),
(aps10)-[:`next` {modeltype:"planning", ResponsibleApp:"CPTool"}]->(aps11),
(aps11)-[:`next` {modeltype:"planning", ResponsibleApp:"CPTool"}]->(aps12),
(aps12)-[:`next` {modeltype:"planning", ResponsibleApp:"CPTool"}]->(aps13),
(opr1 :ExecutionStep {id:1,dateTime:'2016-11-12 10:02:02',modeltype:"execution", type:"seperating", displayname:"ES-9", ResponsibleApp:"MaterialTracker"}) ,
(opr1)-[:`belongs` {modeltype:"execution", ResponsibleApp:"MaterialTracker"}]->(a)
Я пропустил входные отношения, но я думаю, что это не имеет отношения к случаю здесь. В общем, я хочу найти первый шаг, к которому не привязан Executionsep.