Exemple de Graph
Les exemples suivants s'exécutent sur ce graph:
append()
Ajoute un élément à la fin d'une liste et renvoie la nouvelle liste.
Syntaxe | append(<list>, <elem>) |
||
Arguments | Nom | Type | Description |
<list> |
LIST |
La liste cible | |
<elem> |
Any | L'élément à ajouter | |
Type de retour | LIST |
LET myList = ["a", 1, 2]
RETURN append(myList, "b")
Résultat :
append(myList, "b") |
---|
["a",1,2,"b"] |
difference()
Renvoie la différence entre deux listes, produisant une nouvelle liste des éléments trouvés dans la première liste d'entrée mais pas dans la seconde. Les doublons sont inclus.
Syntaxe | difference(<list_1>, <list_2>) |
||
Arguments | Nom | Type | Description |
<list_1> |
LIST |
La première liste | |
<list_2> |
LIST |
La seconde liste | |
Type de retour | LIST |
LET l1 = [1,2,2,3], l2 = [3,4,5]
RETURN difference(l1, l2)
Résultat :
difference(l1, l2) |
---|
[1,2,2] |
elements()
Renvoie une liste contenant les nodes et edges qui constituent un path.
Syntaxe | elements(<path>) |
||
Arguments | Nom | Type | Description |
<path> |
PATH |
Le path cible | |
Type de retour | LIST |
MATCH p = ()->()
LET items = elements(p)
FOR item IN items WITH ORDINALITY index
FILTER index %2 = 1
RETURN item
Résultat : item
_id |
_uuid | schema | values |
---|---|---|---|
P2 | Sys-gen | Course | {title: "Optimizing Queries", author: "Alex", score: 9} |
P3 | Sys-gen | Course | {title: "Path Patterns", author: "Zack", score: 7} |
P1 | Sys-gen | Course | {title: "Efficient Graph Search", author: "Alex", score: 6} |
P2 | Sys-gen | Course | {title: "Optimizing Queries", author: "Alex", score: 9} |
head()
Renvoie le premier élément d'une liste.
Syntaxe | head(<list>) |
||
Arguments | Nom | Type | Description |
<list> |
LIST |
La liste cible | |
Type de retour | STRING |
LET myList = ["a", 1, 2]
RETURN head(myList)
Résultat :
head(myList) |
---|
a |
intersection()
Renvoie l'intersection de deux listes, produisant une nouvelle liste d'éléments communs aux deux. Les doublons sont inclus.
Syntaxe | intersection(<list_1>, <list_2>) |
||
Arguments | Nom | Type | Description |
<list_1> |
LIST |
La première liste | |
<list_2> |
LIST |
La seconde liste | |
Type de retour | LIST |
LET l1 = [1,2,3,3], l2 = [3,3,4,5]
RETURN intersection(l1, l2)
Résultat :
intersection(l1, l2) |
---|
[3,3] |
listContains()
Vérifie si un élément spécifié existe dans une liste, renvoyant 1
pour vrai et 0
pour faux.
Syntaxe | listContains(<list>, <elem>) |
||
Arguments | Nom | Type | Description |
<list> |
LIST |
La liste à vérifier | |
<elem> |
Any | L'élément à rechercher dans <list> |
|
Retour | 1 ou 0 |
LET myList = ["a", 1, 2]
RETURN listContains(myList, "b")
Résultat :
listContains(myList, "b") |
---|
0 |
listUnion()
Renvoie l'union de deux listes, produisant une nouvelle liste d'éléments de l'une ou l'autre des listes d'entrée. Les doublons sont supprimés.
Syntaxe | listUnion(<list_1>, <list_2>) |
||
Arguments | Nom | Type | Description |
<list_1> |
LIST |
La première liste | |
<list_2> |
LIST |
La seconde liste | |
Type de retour | LIST |
LET l1 = [1,2,2,3], l2 = [3,4,5]
RETURN listUnion(l1, l2)
Résultat :
listUnion(l1, l2) |
---|
[1,2,3,4,5] |
reduce()
Effectue un calcul itérativement sur chaque élément d'une liste. Avec une valeur initiale spécifiée, le calcul défini prend le premier élément de la liste comme entrée
Syntaxe | reduce(<resAlias> = <initVal>, <elemAlias> in <list> | <calcExp>) |
||
Arguments | Nom | Type | Description |
<resAlias> |
/ | Le nom représentant le résultat initial, intermédiaire et final du calcul | |
<initVal> |
/ | La valeur initiale assignée à <resAlias> |
|
<elemAlias> |
/ | Le nom représentant chaque élément de la liste | |
<list> |
LIST |
La liste cible | |
<calcExp> |
/ | L'expression de calcul | |
Type de retour | STRING |
LET myList = [1,3,5]
RETURN reduce(_sum = 0, item in myList | _sum + item) AS listSum
Résultat :
listSum |
---|
9 |
size()
Renvoie le nombre d'éléments d'une liste.
Syntaxe | size(<list>) |
||
Arguments | Nom | Type | Description |
<list> |
LIST |
La liste cible | |
Type de retour | UINT |
LET myList = [1, 2, null, 3]
RETURN size(myList)
Résultat :
size(myList) |
---|
4 |
trim()
Supprime un nombre spécifié d'éléments à partir de la fin droite de la liste.
Syntaxe | trim(<list>, <num>) |
||
Arguments | Nom | Type | Description |
<list> |
LIST |
La liste à élaguer | |
<num> |
UINT |
Un entier spécifiant le nombre d'éléments à supprimer de la liste | |
Type de retour | LIST |
LET myList = [1, 2, null, 3]
RETURN trim(myList, 2)
Résultat :
TRIM(myList, 2) |
---|
[1,2] |