Vue d'ensemble
La clause find().nodes()
récupère les nodes du graphset qui satisfont des conditions spécifiées.
Syntaxe
Alias de la clause : type NODE; alias par défaut est nodes
Méthode |
Type de Param |
Spécification du Param |
Requis |
Description | Alias |
---|---|---|---|---|---|
nodes() |
Filtre | / | Oui | Les conditions des nodes à récupérer | N/A |
limit() |
Entier | ≥-1 | Non | Nombre de résultats à renvoyer pour chaque sous-requête, -1 signifie tout retourner |
N/A |
Exemples
Exemple de Graph
Exécutez ces UQLs ligne par ligne dans un graphset vide pour créer ce graph :
create().node_schema("professor").node_schema("student").edge_schema("mentor").edge_schema("assist")
create().node_property(@*, "age", int32).node_property(@*, "email", string).edge_property(@*, "year", int32)
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]"}])
insert().into(@mentor).edges([{_uuid:1, _from_uuid:2, _to_uuid:3, year:2020},{_uuid:2, _from_uuid:1, _to_uuid:3, year:2021},{_uuid:3, _from_uuid:1, _to_uuid:4, year:2021},{_uuid:4, _from_uuid:1, _to_uuid:5, year:2022}])
insert().into(@assist).edges([{_uuid:5, _from_uuid:3, _to_uuid:2, year:2020},{_uuid:6, _from_uuid:4, _to_uuid:1, year:2022}])
Trouver Tous les Nodes
find().nodes() as n
return n{*}
Résultat :
_id | _uuid | Schema | age | email |
---|---|---|---|---|
P001 | 1 | professor | 53 | [email protected] |
P002 | 2 | professor | 27 | [email protected] |
_id | _uuid | Schema | age | email |
---|---|---|---|---|
S001 | 3 | student | 27 | [email protected] |
S002 | 4 | student | 20 | [email protected] |
S003 | 5 | student | 25 | [email protected] |
Trouver des Nodes par ID
find().nodes({_id == "S001"}) as n
return n{*}
Résultat :
_id | _uuid | Schema | age | email |
---|---|---|---|---|
S001 | 3 | student | 27 | [email protected] |
find().nodes({_id in ["P001", "P002"]}) as n
return n{*}
Résultat :
_id | _uuid | Schema | age | email |
---|---|---|---|---|
P001 | 1 | professor | 53 | [email protected] |
P002 | 2 | professor | 27 | [email protected] |
Trouver des Nodes par UUID
find().nodes(1) as n
return n{*}
Le filtre
{_uuid == 1}
peut être simplifié à1
.
Résultat :
_id | _uuid | Schema | age | email |
---|---|---|---|---|
P001 | 1 | professor | 53 | [email protected] |
find().nodes([1,3]) as n
return n{*}
Le filtre
{_uuid in [1,3]}
peut être simplifié à[1,3]
.
Résultat :
_id | _uuid | Schema | age | email |
---|---|---|---|---|
P001 | 1 | professor | 53 | [email protected] |
_id | _uuid | Schema | age | email |
---|---|---|---|---|
S001 | 3 | student | 27 | [email protected] |
Trouver des Nodes par Schema
find().nodes({@student}) as n
return n{*}
Résultat :
_id | _uuid | Schema | age | email |
---|---|---|---|---|
S001 | 3 | student | 27 | [email protected] |
S002 | 4 | student | 20 | [email protected] |
S003 | 5 | student | 25 | [email protected] |
find().nodes({@student || @professor}) as n
return n{*}
Résultat :
_id | _uuid | Schema | age | email |
---|---|---|---|---|
P001 | 1 | professor | 53 | [email protected] |
P002 | 2 | professor | 27 | [email protected] |
_id | _uuid | Schema | age | email |
---|---|---|---|---|
S001 | 3 | student | 27 | [email protected] |
S002 | 4 | student | 20 | [email protected] |
S003 | 5 | student | 25 | [email protected] |
Trouver des Nodes par Propriété
find().nodes({age > 30}) as n
return n{*}
Résultat :
_id | _uuid | Schema | age | email |
---|---|---|---|---|
P001 | 1 | professor | 53 | [email protected] |
Trouver des Nodes par Schema et Propriété
find().nodes({@student.age > 25}) as n
return n{*}
Résultat :
_id | _uuid | Schema | age | email |
---|---|---|---|---|
S001 | 3 | student | 27 | [email protected] |
Utiliser l'Alias de la Clause par Défaut
find().nodes().limit(1)
return nodes{*}
Résultat :
_id | _uuid | Schema | age | email |
---|---|---|---|---|
P001 | 1 | professor | 53 | [email protected] |
Utiliser limit()
find().nodes().limit(3) as n
return n{*}
Résultat :
_id | _uuid | Schema | age | email |
---|---|---|---|---|
P001 | 1 | professor | 53 | [email protected] |
P002 | 2 | professor | 27 | [email protected] |
_id | _uuid | Schema | age | email |
---|---|---|---|---|
S001 | 3 | student | 27 | [email protected] |
Utiliser OPTIONAL
uncollect [53, 55, 57] as value
optional find().nodes({age == value}) as n
return n{*}
Résultat :
_id | _uuid | Schema | age | email |
---|---|---|---|---|
P001 | 1 | professor | 53 | [email protected] |
_id | _uuid | Schema |
---|---|---|
null | null | null |
null | null | null |
Si le préfixe OPTIONAL
n'est pas utilisé, les résultats nuls ne seront pas retournés.