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] |