Partager via


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')

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.