- Expression : @
<schema>
- Opérande : constante de chaîne de caractères
Lorsqu'il est combiné avec le filtrage de propriétés, c'est-à-dire lorsque
@<schema> && <property> == 123
est abrégé en@<schema>.<property> == 123
, la<property>
ne peut pas être _id ou _uuid
Les
@<schema>
et@<schema>.<property>
qui apparaissent dans un filtre Ultipa recherchent les métadonnées d'unschema
et/ouproperty
spécifique, ce qui est différent des@<schema>
et@<schema>.<property>
qui apparaissent dans d'autres instructions en chaîne qui trouvent unschema
et/ou uneproperty
spécifique dans un modèle degraph
. Veuillez lire GraphSet | Schema | Property pour plus d'informations.
Graphique d'exemple : (à 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]"}])
Schema
Exemple : Trouver les nodes de @student
find().nodes({@student}) as n
return n{*}
|---------------- @student ---------------|
| _id | _uuid | age | email |
|-------|-------|-------|-----------------|
| S001 | 3 | 27 | [email protected] |
| S002 | 4 | 20 | [email protected] |
| S003 | 5 | 25 | [email protected] |
Analyse : Ce filtre est équivalent à {this.@ == "student"}
Schema & Property
Exemple : Trouver les nodes de @student, dont l'âge est 27
find().nodes({@student.age == 27}) as n
return n{*}
|---------------- @student ---------------|
| _id | _uuid | age | email |
|-------|-------|-------|-----------------|
| S001 | 3 | 27 | [email protected] |
Analyse : Ce filtre est équivalent à {@student && age == 27}
.