У меня 2 вопроса.
1) Как искать все отношения и фильтровать список свойств для PID (ProductID).
2) Как искать все узлы в Пути и отфильтруйте список свойств для PID (ProductID)
Вот как выглядит график
Ниже запрос фильтрует путь успешно, но я жестко закодировал индекс списка на 0
match path= (n1) -[rel*..10] ->(n2)
where all(rel in relationships(path)where rel.PID[0]=2)
return path
1) Как искать во всех отношениях и фильтровать в списке PID (ProductID)
Я попробовал запрос ниже, заменив жестко закодированное значение индекса PID [0] с l oop, но он мне ничего не возвращает. Пожалуйста, помогите мне понять, что не так с запросом.
match path= (n1) -[rel*..10] ->(n2)
where all(rel in relationships(path)where [x in rel.PID where x=2])
return rel
2) Как искать все узлы в Пути и фильтровать по списку PID (ProductID)
Аналогично, что будет запрос узлов.
Запрос ниже выполняется успешно, но я жестко закодировал индекс списка на 0
match path= (n1:Product) -[rel*..10] ->(n2)
where all(r in nodes(path)where r.PID[0]=1)
return path
Заменил жестко закодированное значение индекса PID [0], и он мне ничего не возвращает.
match path= (n1:Product) -[rel*..10] ->(n2)
where all(r in nodes(path)where [x in r.PID where x=1])
return nodes(path)
Любая помощь будет принята с благодарностью.
Спасибо
Шифровый код для графика
CREATE
(`0` :Supplier {name:"Supplier1"}) ,
(`3` :Airport {name:"Johannesburg",city:"Johannesburg",country:"South Africa",PID:'[1,2]'}) ,
(`5` :Warehouse {name:"WareHouse1",PID:'[1,2]'}) ,
(`8` :Airport {name:"Dusseldorf",city:"Dusseldorf",PID:'[1]'}) ,
(`9` :Airport {name:"Brisbane",city:"Brisbane",country:"Australia",PID:'[1]'}) ,
(`10` :Airport {name:"Perth",city:"Perth",country:"Australia",PID:'[1,2]'}) ,
(`11` :Product {name:"Product1",PID:'[2]'}) ,
(`12` :Product {name:"Product 2",PID:'[2]'}) ,
(`20` :Airport {name:"Frankfurt",city:"Germany",country:"Germany",PID:'[2]'}) ,
(`9`)-[:`TRANSPORT` {PID:'[1]'}]->(`10`),
(`20`)-[:`TRANSPORT` {PID:'[2]'}]->(`3`),
(`3`)-[:`TRANSPORT` {PID:'[2]'}]->(`10`),
(`5`)-[:`RECEIVES` ]->(`10`),
(`12`)-[:`TRANSPORT` {PID:'[2]'}]->(`20`),
(`0`)-[:`TRANSPORT` ]->(`12`),
(`0`)-[:`TRANSPORT` ]->(`11`),
(`11`)-[:`TRANSPORT` {PID:'[2]'}]->(`8`),
(`8`)-[:`TRANSPORT` {PID:'[1]'}]->(`3`),
(`3`)-[:`TRANSPORT` {PID:'[1]'}]->(`9`)