Tutoriel : Interroger Azure Cosmos DB pour Gremlin à l’aide de Gremlin
S’APPLIQUE À : Gremlin
L’API pour Gremlin d’Azure Cosmos DB prend en charge les requêtes Gremlin. Cet article fournit des exemples de documents et de requêtes pour vous aider à démarrer. L’article relatif à la prise en charge de Gremlin comporte des informations de référence détaillées sur Gremlin.
Cet article décrit les tâches suivantes :
- Interrogation des données avec Gremlin
Prérequis
Pour le bon fonctionnement de ces requêtes, vous devez disposer d’un compte Azure Cosmos DB et de données de graphique dans le conteneur. Cela n’est pas le cas ? Effectuez le démarrage rapide de 5 minutes pour créer un compte et alimenter votre base de données. Vous pouvez exécuter les requêtes suivantes avec la console Gremlin ou avec votre pilote Gremlin favori.
Compter le nombre de vertex du graphique
L’extrait de code suivant montre comment compter le nombre de vertex du graphique :
g.V().count()
Filtres
Vous pouvez appliquer des filtres à l’aide des étapes has
et hasLabel
de Gremlin et les associer à l’aide de and
, or
, et not
pour créer des filtres plus complexes. Azure Cosmos DB propose une indexation sans schéma de toutes les propriétés au sein de vos vertex et degrés pour les requêtes rapides :
g.V().hasLabel('person').has('age', gt(40))
Projection
Vous pouvez projeter certaines propriétés dans les résultats de requête à l’aide de l’étape values
:
g.V().hasLabel('person').values('name')
Rechercher des vertex et des bords associés
Jusqu’ici, nous avons seulement abordé les opérateurs de requête fonctionnant dans n’importe quelle base de données. Les graphiques sont rapides et efficaces pour les opérations de traversée lorsque vous avez besoin d’accéder aux vertex et bords associés. Recherchons à présent tous les amis de Thomas. Nous suivons pour cela l’étape outE
de Gremlin pour rechercher toutes les bords externes de Thomas afin de se diriger vers les vertex internes de ces bords en suivant l’étape inV
de Gremlin :
g.V('thomas').outE('knows').inV().hasLabel('person')
La requête suivante effectue deux sauts pour rechercher tous les « amis des amis de Thomas », en appelant outE
et inV
deux fois.
g.V('thomas').outE('knows').inV().hasLabel('person').outE('knows').inV().hasLabel('person')
Vous pouvez créer des requêtes plus complexes et implémenter une logique de traversée de graphique puissante à l’aide de Gremlin, y compris en mixant des expressions de filtre, en exécutant des boucles à l’aide de l’étape loop
et en mettant en œuvre la navigation conditionnelle à l’aide de l’étape choose
. En savoir plus sur ce que la prise en charge de Gremlin vous permet de faire !
Étapes suivantes
Dans ce tutoriel, vous avez :
- Effectuer des interrogations à l’aide de Graph
Vous pouvez maintenant passer à la section Concepts pour plus d’informations sur Azure Cosmos DB.