- Expression:
<value>
IN<list>
- Left operand: string, number, time, list, point, NODE, EDGE
- Right operand: list
Constante
Exemple : Déterminer si 2 appartient à [1,2,3]
return 2 in [1,2,3]
1
Fonction
Exemple : Déterminer si 2 appartient à l'intersection de [1,2,3] et [3,2,5]
return 2 in intersection([1,2,3], [3,2,5])
1
Alias
Exemple : Évaluer chaque ligne d'un alias pour savoir si elle appartient à [0,1,3]
uncollect [1,2,3,2,2] as a
return a in [0,1,3]
1
0
1
0
0
Graphe d'échantillon : (à utiliser pour les exemples suivants)
Exécutez les UQLs ci-dessous un par un dans un graphset vide pour créer des données de graph :create().node_schema("professor").node_schema("student")
create().node_property(@*, "age", int32).node_property(@*, "email", string)
insert().into(@professor).nodes([{_id:"P001",_uuid:1,age:53,email:"[email protected]"},{_id:"P002",_uuid:2,age:27,email:"[email protected]"}])
insert().into(@student).nodes([{_id:"S001",_uuid:3,age:27,email:"[email protected]"},{_id:"S002",_uuid:4,age:20,email:"[email protected]"},{_id:"S003",_uuid:5,age:25,email:"[email protected]"}])
Propriété
Exemple : Trouver les nodes dont l'âge appartient à [20,25,30,35]
find().nodes({age in [20,25,30,35]}) as n
return n{*}
|---------------- @student ---------------|
| _id | _uuid | age | email |
|-------|-------|-------|-----------------|
| S002 | 4 | 20 | [email protected] |
| S003 | 5 | 25 | [email protected] |
Exemple : Trouver les nodes de @professor, dont l'âge appartient à [20,25,30,35]
find().nodes({@professor.age in [20,25,30,35]}) as n
return n{*}
No return data
_uuid (Abrégé)
Lorsqu'un filtre ne vérifie que si le _uuid
du node/edge actuel appartient à une liste d'entiers, le filtre peut être abrégé comme ci-dessous:
Forme Standard | Forme Abrégée |
Spécification |
---|---|---|
({ _uuid in [1,2,3]}) | ([1,2,3]) | |
({ _uuid in intList }) |
(intList ) |
intList est l'alias d'une liste d'entiers |
({ _uuid in [node1 ._uuid, node2 ._uuid, ...]}) |
(nodeList ) |
nodeList est l'alias de [node1 , node2 , ...] |
({ _uuid in [edge1 ._uuid, edge2 ._uuid, ...]}) |
(edgeList ) |
edgeList est l'alias de [edge1 , edge2 , ...] |
Exemple : Trouver le node dont le _uuid
appartient à [2,3,5]
find().nodes([2,3,5]) as n
return n{*}
|---------------- @student ---------------|
| _id | _uuid | age | email |
|-------|-------|-------|-----------------|
| S001 | 3 | 27 | [email protected] |
| S002 | 4 | 20 | [email protected] |
| S003 | 5 | 25 | [email protected] |