Tutorial: Consulta de Gremlin API de Azure Cosmos DB mediante GremlinTutorial: Query Azure Cosmos DB Gremlin API by using Gremlin

Gremlin API de Azure Cosmos DB admite consultas de Gremlin.The Azure Cosmos DB Gremlin API supports Gremlin queries. En este artículo se proporcionan consultas y documentos de ejemplo a modo de introducción.This article provides sample documents and queries to get you started. En el artículo Compatibilidad con Gremlin se incluye una referencia de Gremlin detallada.A detailed Gremlin reference is provided in the Gremlin support article.

En este artículo se tratan las tareas siguientes:This article covers the following tasks:

  • Consulta de datos con GremlinQuerying data with Gremlin

PrerequisitesPrerequisites

Para que estas consultas funcionen, debe tener una cuenta de Azure Cosmos DB, así como datos del gráfico en el contenedor.For these queries to work, you must have an Azure Cosmos DB account and have graph data in the container. ¿No tiene nada de lo anterior?Don't have any of those? Complete el inicio rápido en 5 minutos o el tutorial de desarrolladores para crear una cuenta y rellenar la base de datos.Complete the 5-minute quickstart or the developer tutorial to create an account and populate your database. Puede ejecutar las siguientes consultas en la consola de Gremlin o en el controlador de Gremlin que prefiera.You can run the following queries using the Gremlin console, or your favorite Gremlin driver.

Recuento de vértices del gráficoCount vertices in the graph

En el siguiente fragmento se muestra cómo contar el número de vértices del gráfico:The following snippet shows how to count the number of vertices in the graph:

g.V().count()

FiltrosFilters

Puede aplicar filtros mediante los pasos has y hasLabel de Gremlin y combinarlos con and, or y not para crear filtros más complejos.You can perform filters using Gremlin's has and hasLabel steps, and combine them using and, or, and not to build more complex filters. Azure Cosmos DB proporciona indexación independiente del esquema de todas las propiedades de los vértices y grados para consultas rápidas:Azure Cosmos DB provides schema-agnostic indexing of all properties within your vertices and degrees for fast queries:

g.V().hasLabel('person').has('age', gt(40))

ProyecciónProjection

Puede proyectar determinadas propiedades en los resultados de la consulta mediante el paso values:You can project certain properties in the query results using the values step:

g.V().hasLabel('person').values('firstName')

Hasta ahora, solo hemos visto operadores de consulta que funcionan en cualquier base de datos.So far, we've only seen query operators that work in any database. Los grafos son rápidos y eficientes para operaciones de cruce seguro si tiene que ir a bordes y vértices relacionados.Graphs are fast and efficient for traversal operations when you need to navigate to related edges and vertices. Encontremos a todos los amigos de Thomas.Let's find all friends of Thomas. Lo hacemos usando el paso outE de Gremlin para encontrar todos los bordes exteriores de Thomas y atravesando a continuación por los vértices interiores de esos bordes mediante el paso inV de Gremlin:We do this by using Gremlin's outE step to find all the out-edges from Thomas, then traversing to the in-vertices from those edges using Gremlin's inV step:

g.V('thomas').outE('knows').inV().hasLabel('person')

La siguiente consulta realiza dos saltos para encontrar a todos los "amigos de los amigos" de Thomas, llamando a outE y inV dos veces.The next query performs two hops to find all of Thomas' "friends of friends", by calling outE and inV two times.

g.V('thomas').outE('knows').inV().hasLabel('person').outE('knows').inV().hasLabel('person')

Puede crear consultas más complejas e implementar una lógica de cruce seguro del grafo eficaz con Gremlin, incluidas la combinación de expresiones de filtro, la realización de bucles mediante el paso loop y la implementación de la navegación condicional mediante el paso choose.You can build more complex queries and implement powerful graph traversal logic using Gremlin, including mixing filter expressions, performing looping using the loop step, and implementing conditional navigation using the choose step. Obtenga más información sobre lo que puede hacer con Compatibilidad con Gremlin.Learn more about what you can do with Gremlin support!

Pasos siguientesNext steps

En este tutorial, ha hecho lo siguiente:In this tutorial, you've done the following:

  • Ha obtenido información sobre cómo realizar consultas con GraphLearned how to query using Graph

Ahora puede continuar a la sección de conceptos para obtener más información sobre Cosmos DB.You can now proceed to the Concepts section for more information about Cosmos DB.