OrientDB - Fonctions

Ce chapitre explique la référence complète des différents types de fonctions dans OrientDB. Le tableau suivant définit la liste des fonctions, qui sont classées selon leur fonctionnalité.

Fonctions graphiques

N ° Sr. Nom de la fonction et description
1

Out():

Obtient les sommets sortants adjacents à partir de l'enregistrement actuel en tant que Vertex.

Syntax - sortie ([<label-1>] [, <label-n>] *)

2

In():

Obtient les sommets entrants adjacents à partir de l'enregistrement actuel en tant que Vertex.

Syntax - dans ([<label-1>] [, <label-n>] *)

3

Both():

Obtient les sommets adjacents sortants et entrants à partir de l'enregistrement actuel en tant que Vertex.

Syntax - les deux ([<label1>] [, <label-n>] *)

4

outE():

Obtient les arêtes sortantes adjacentes à partir de l'enregistrement actuel en tant que Vertex.

Syntax - outE ([<label1>] [, <label-n>] *)

5

inE():

Obtient les arêtes entrantes adjacentes à partir de l'enregistrement actuel en tant que Vertex.

Syntax - inE ([<label1>] [, <label-n>] *)

6

bothE():

Obtient les bords sortants et entrants adjacents à partir de l'enregistrement actuel en tant que Vertex.

Syntax - bothE ([<label1>] [, <label-n>] *)

sept

outV():

Obtient les sommets sortants à partir de l'enregistrement actuel en tant que Edge.

Syntax - outV ()

8

inV():

Obtenez les sommets entrants de l'enregistrement actuel en tant que Edge.

Syntax - inV ()

9

traversedElement():

Renvoie le ou les éléments traversés dans les commandes Traverse.

Syntax - traversedElement (<index> [, <items>])

dix

traversedVertex():

Renvoie le ou les sommets traversés dans les commandes Traverse.

Syntax - traversedVertex (<index> [, <items>])

11

traversedEdge():

Renvoie le (s) bord (s) traversé (s) dans les commandes Traverse.

Syntax - traversedEdge (<index> [, <items>])

12

shortestPath():

Renvoie le chemin le plus court entre deux sommets. La direction peut être OUT (par défaut), IN ou BOTH.

Synatx - shortestPath (<sourceVertex>, <destinationVertex> [, <direction> [, <edgeClassName>]])

13

dijkstra():

Renvoie le chemin le moins cher entre deux sommets à l'aide de l'algorithme de Dijkstra.

Syntax - dijkstra (<sourceVertex>, <destinationVertex>, <weightEdgeFieldName> [, <direction>])

Essayez quelques fonctions graphiques avec les requêtes suivantes.

Exécutez la requête suivante pour obtenir tous les sommets sortants de tous les sommets de véhicule.

orientdb {db = demo}>SELECT out() from Vehicle

Si la requête ci-dessus est exécutée avec succès, vous obtiendrez la sortie suivante.

---+----------+--------- 
 # | @class   | out 
---+----------+--------- 
 0 | Vehicle  | #11:2 
 1 | Vehicle  | #13:1 
 2 | Vehicle  | #13:4 
---+----------+---------

Exécutez la requête suivante pour obtenir les sommets entrants et sortants du sommet # 11: 3.

orientdb {db = demo}>SELECT both() FROM #11:3

Si la requête ci-dessus est exécutée avec succès, vous obtiendrez la sortie suivante.

---+----------+--------+------- 
 # | @class   | out    | in  
---+----------+--------+------- 
 0 | Vehicle  | #13:2  | #10:2   
 ---+----------+-------+-------

Fonctions mathématiques

N ° Sr. Nom de la fonction et description
1

eval():

Évalue l'expression entre guillemets (ou guillemets doubles).

Syntax - eval ('<expression>')

2

min():

Renvoie la valeur minimale. S'il est invoqué avec plus d'un paramètre, il renvoie la valeur d'argument minimale entre tous les arguments.

Syntax - min (<field> [, <field-n>] *)

3

max():

Renvoie la valeur maximale. S'il est invoqué avec plus d'un paramètre, renvoie la valeur maximale entre tous les arguments.

Syntax - max (<champ> [, <champ-n>] *)

4

sum()

Renvoie la somme de toutes les valeurs renvoyées.

Syntax - somme (<champ>)

5

abs():

Renvoie la valeur absolue. Il fonctionne avec Integer, Long, Short, Double, Float, BigInteger, BigDecimal, null.

Syntax - abs (<champ>)

6

avg():

Renvoie la valeur moyenne.

Syntax - moy (<champ>)

sept

count():

Compte l'enregistrement qui correspond à la condition de requête. Si * n'est pas utilisé comme champ, alors l'enregistrement sera compté uniquement si le contenu n'est pas nul.

Syntax - compter (<champ>)

8

mode():

Renvoie la valeur qui se produit avec la fréquence la plus élevée. Les valeurs nulles sont ignorées dans le calcul.

Syntax - mode (<champ>)

9

median():

Renvoie la valeur médiane ou une valeur interpolée qui représente la valeur médiane une fois les valeurs triées. Les valeurs nulles sont ignorées dans le calcul.

Syntax - médiane (<champ>)

dix

percentile():

Renvoie le nième centile. Null est ignoré dans le calcul.

Syntax - centile (<champ> [, <quantile-n>] *)

11

variance()

Renvoie la variance moyenne: la moyenne de la différence quadratique par rapport à la moyenne.

Syntax - variance (<champ>)

12

stddev()

Renvoie l'écart type: mesure de la répartition des valeurs. Les valeurs nulles sont ignorées dans le calcul.

Syntax - stddev (<champ>)

Essayez quelques fonctions mathématiques en utilisant les requêtes suivantes.

Exécutez la requête suivante pour obtenir la somme des salaires de tous les employés.

orientdb {db = demo}>SELECT SUM(salary) FROM Employee

Si la requête ci-dessus est exécutée avec succès, vous obtiendrez la sortie suivante.

---+----------+--------- 
 # | @CLASS   | sum 
---+----------+--------- 
 0 | null     | 150000 
---+----------+---------

Exécutez la requête suivante pour obtenir le salaire moyen de tous les employés.

orientdb {db = demo}>SELECT avg(salary) FROM Employee

Si la requête ci-dessus est exécutée avec succès, vous obtiendrez la sortie suivante.

---+----------+--------- 
 # | @CLASS   | avg 
---+----------+--------- 
 0 | null     | 25 
---+----------+---------

Fonctions des collections

N ° Sr. Nom de la fonction et description
1

set():

Ajoute une valeur à un ensemble. Si la valeur est une collection, elle est fusionnée avec l'ensemble, sinon <valeur> est ajoutée.

Syntax - définir (<champ>)

2

map():

Ajoute une valeur à une carte la première fois que la carte est créée. Si <valeur> est une carte, alors elle est fusionnée avec la carte, sinon la paire <key> et <value> est ajoutée à la carte en tant que nouvelle entrée.

Syntax - carte (<key>, <valeur>)

3

ist():

Ajoute une valeur à lister la première fois que la liste est créée. Si <valeur> est une collection, alors elle est fusionnée avec la liste, sinon <valeur> est ajoutée à la liste.

Syntax - liste (<champ>)

4

difference():

Fonctionne comme agrégé ou en ligne. Si un seul argument est passé, l'agrégation, sinon, s'exécute et renvoie la DIFFÉRENCE entre les collections reçues en tant que paramètres.

Syntax - différence (<field> [, <field-n>] *)

5

first():

Récupère uniquement le premier élément des champs à valeurs multiples (tableaux, collections et cartes). Pour les types non multi-valeurs, renvoie simplement la valeur.

Syntax - premier (<champ>)

6

intersect():

Fonctionne comme agrégé ou en ligne. Si un seul argument est passé, alors agrège, sinon exécute et retourne, l'INTERACTION des collections reçues en tant que paramètres.

Syntax - intersecter (<field> [, <field-n>] *)

sept

distinct():

Récupère uniquement les entrées de données uniques en fonction du champ que vous avez spécifié comme argument. La principale différence par rapport à SQL DISTINCT standard est qu'avec OrientDB, une fonction entre parenthèses et un seul champ peut être spécifié.

Syntax - distinct (<champ>)

8

expand():

Cette fonction a deux significations -

  • Lorsqu'il est utilisé sur un champ de collection, il déroule la collection dans le champ et l'utilise comme résultat.

  • Lorsqu'il est utilisé sur un champ de lien (RID), il développe le document pointé par ce lien.

Syntax - développer (<champ>)

9

unionall():

Fonctionne comme agrégé ou en ligne. Si un seul argument est passé, alors l'agrégation, sinon exécute et renvoie une UNION de toutes les collections reçues en tant que paramètres. Fonctionne également sans valeurs de collection.

Syntax - unionall (<field> [, <field-n>] *)

dix

flatten():

Extrait la collection dans le champ et l'utilise comme résultat. Il est obsolète, utilisez plutôt expand ().

Syntax - aplatir (<champ>)

11

last():

Récupère uniquement le dernier élément des champs à valeurs multiples (tableaux, collections et cartes). Pour les types non multi-valeurs, renvoie simplement la valeur.

Syntax - dernier (<champ>)

12

symmetricDifference():

Fonctionne comme agrégé ou en ligne. Si un seul argument est passé, alors agrège, sinon exécute et retourne, la DIFFÉRENCE SYMÉTRIQUE entre les collections reçues en tant que paramètres.

Syntax - symétriqueDifférence (<field> [, <field-n>] *)

Essayez certaines fonctions de collecte à l'aide des requêtes suivantes.

Exécutez la requête suivante pour obtenir un ensemble d'enseignants, enseignant la 9e classe.

orientdb {db = demo}>SELECT ID, set(teacher.id) AS teacherID from classess where class_id = 9

Si la requête ci-dessus est exécutée avec succès, vous obtiendrez la sortie suivante.

---+----------+--------+-------------------------- 
 # | @CLASS   | id     | TeacherID 
---+----------+--------+-------------------------- 
 0 | null     | 9     |   1201, 1202, 1205, 1208 
---+----------+-------+---------------------------

Fonctions diverses

N ° Sr. Nom de la fonction et description
1

date():

Renvoie une date mettant en forme une chaîne. <date-as-string> est la date au format chaîne, et <format> est le format de date suivant ces règles.

Syntax - date (<date-as-string> [<format>] [, <timezone>])

2

sysdate():

Renvoie la date et l'heure actuelles.

Syntax - sysdate ([<format>] [, <timezone>])

3

format():

Formate une valeur à l'aide des conventions String.format ().

Syntax - format (<format> [, <arg1>] (, <arg-n>] *. Md)

4

distance():

Renvoie la distance entre deux points du globe à l'aide de l'algorithme Haversine. Les coordonnées doivent être des degrés.

Syntax - distance (<x-field>, <y-field>, <x-value>, <y-value>)

5

ifnull():

Renvoie le champ / la valeur transmis (ou le paramètre facultatif return_value_if_not_null). Si le champ / la valeur n'est pas nul, il renvoie return_value_if_null.

Syntax - ifnull (<champ | valeur>, <valeur_retour_if_null> [, <valeur_retour_if_not_null>] (, <champ & .md # 124; valeur>] *)

6

coalesce():

Renvoie le premier paramètre champ / valeur non nul. Si aucun champ / valeur n'est nul, renvoie null.

Syntax - coalesce (<champ | valeur> [, <champ-n | valeur-n>] *)

sept

uuid():

Génère un UUID sous la forme d'une valeur de 128 bits à l'aide de la variante Leach-Salz.

Syntax - uuid ()

8

if():

Évalue une condition (premiers paramètres) et renvoie le deuxième paramètre si la condition est vraie, le troisième sinon.

Syntax - si (<expression>, <résultat- si- vrai>, <résultat- si- faux>)

Essayez quelques fonctions diverses en utilisant les requêtes suivantes.

Exécutez la requête suivante pour savoir comment exécuter l'expression if.

orientdb {db = demo}> SELECT if(eval("name = 'satish'"), "My name is satish", 
"My name is not satish") FROM Employee

Si la requête ci-dessus est exécutée avec succès, vous obtiendrez la sortie suivante.

----+--------+----------------------- 
#   |@CLASS  | IF 
----+--------+----------------------- 
0   |null    |My name is satish  
1   |null    |My name is not satish 
2   |null    |My name is not satish  
3   |null    |My name is not satish  
4   |null    |My name is not satish  
----+--------+------------------------

Exécutez la requête suivante pour obtenir la date système.

orientdb {db = demo}> SELECT SYSDATE() FROM Employee

Si la requête ci-dessus est exécutée avec succès, vous obtiendrez la sortie suivante.

----+--------+----------------------- 
#   |@CLASS  | SYSDATE 
----+--------+----------------------- 
0   |null    |2016-02-10 12:05:06 
1   |null    |2016-02-10 12:05:06 
2   |null    |2016-02-10 12:05:06 
3   |null    |2016-02-10 12:05:06 
4   |null    |2016-02-10 12:05:06 
----+--------+------------------------

En utilisant cette fonction à fond, vous pouvez facilement manipuler les données OrientDB.