AQL: Как вернуть путь, по которому все ребра должны иметь свойство (массив), и этот массив должен иметь хотя бы одно определенное значение - PullRequest
0 голосов
/ 14 июля 2020

Предположим, у меня есть такой график:

A --- edge1 --- свойство B P [P1, P2]

B --- edge2 --- C свойство P [P2, P3]

C --- edge3 --- свойство D P [P2, P3]

B --- edge4 --- свойство D P [P1 , P3]

И каждое ребро имеет свойство P, которое представляет собой массив строк [P1, P2, P3]. Каждое ребро имеет собственное значение P Теперь я хотел бы вернуть все вершины, которые:

  1. Для каждой вершины проверьте, существует ли путь, в котором каждое ребро, все они должны иметь по крайней мере P2 в свойстве
  2. Глубина меньше или равна 2

**

For entity in entities
For v,e,p in Collection in 0..2 ANY entity 
Filter //What should I do here? I tried p.edges[*].P[*] ANY =="P2" 
Collect v._key into groups 
return {key:v._key,group:groups} //Get the vertex that satisfy the condition

**

...