Introduction à l'utilisation d'OrientDB

Langage de requête

Effectuer des requêtes sur une base OrientDB

Afin de convenir au plus grand nombre de développeur, OrientDB utilise le langage SQL pour effectuer des requêtes.

Toutefois, des améliorations et des modifications ont été apportées afin de coller au modèle orienté graphe, par exemple pour traverser des nœuds.

MéthodeFonctions et mot-clé utiles pour l'exploitation des graphes

  • in('nom_arc')

    • retourne les nœuds des arcs entrants du type spécifié en paramètre. Utilisée seule, cette fonction retourne une liste d'adresses (@rid)

  • out('nom_arc')

    • retourne les nœuds des arcs sortants du type spécifié en paramètre. Utilisée seule, cette fonction retourne une liste d'adresses (@rid)

  • set()

    • ajoute les valeurs dans un ensemble. C'est une fonction permettant de créer une collection d'adresse (@rid)

  • expand()

    • utilisée sur une collection, cela permet de l'exploiter comme un résultat et de l'afficher

  • size()

    • utilisée sur in() ou out(), cela permet de retourner le nombre de résultat

ExempleUtilisation des fonctions

Récupérer toutes les adresses des nœuds entrants de l'utilisateur Jean

1
SELECT in() FROM User WHERE name="Jean"

Exploiter le résultat précédent en affichant les résultants et non les adresses

1
SELECT expand(in()) FROM User WHERE name="Jean"

Récupérer tous les nœuds entrants "Friend" de l'utilisateur Jean

1
SELECT in('Friend') FROM User WHERE name="Jean"

Exploiter la requête précédente pour afficher les résultats en utilisant expand()

1
SELECT expand(in('Friend')) FROM User WHERE name="Jean"

Complément

TRAVERSE

  • permet de traverser les nœuds. Utilisée avec in() ou out(), permet d'exploiter la liste d'adresse et de l'afficher comme résultat

Exploiter les requêtes précédentes pour afficher les résultats

1
TRAVERSE in('Friend') FROM (SELECT * FROM User WHERE name="Jean")
PrécédentPrécédentSuivantSuivant
AccueilAccueilImprimerImprimer Sébastien Laidoum, Lucas Willemot, Clémence Geffray, 2014-2016 (Contributions : Stéphane Crozat, les étudiants de l'UTC) Paternité - Partage des Conditions Initiales à l'IdentiqueRéalisé avec Scenari (nouvelle fenêtre)