- Expression: !
<exp>
- Opérande: expression (true, false)
| <exp>\t| Résultat\t| | -\t| -\t| | 0\t| 1\t| | 1\t| 0\t|
Exemple de graph : (à 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]"}])
Utilisation Commune
Exemple : Trouver les nodes de @student, dont l'âge n'est pas 27
find().nodes({@student && !(age==27)}) as n
return n{*}
|---------------- @student ---------------|
| _id | _uuid | age | email |
|-------|-------|-------|-----------------|
| S002 | 4 | 20 | [email protected] |
| S003 | 5 | 25 | [email protected] |
Analyse : Ce filtre ne peut pas être composé comme {!(@student.age == 27)}
, ce qui équivaut à {!@student || !(age == 27)}
et produit :
|--------------- @professor --------------|
| _id | _uuid | age | email |
|-------|-------|-------|-----------------|
| P001 | 1 | 53 | [email protected] |
| P002 | 2 | 27 | [email protected] |
|---------------- @student ---------------|
| _id | _uuid | age | email |
|-------|-------|-------|-----------------|
| S002 | 4 | 20 | [email protected] |
| S003 | 5 | 25 | [email protected] |