Compartir vía


Tutorial: Consulta de Gremlin de Azure Cosmos DB mediante Gremlin

SE APLICA A: Gremlin

La API para Gremlin de Azure Cosmos DB admite consultas de Gremlin. En este artículo se proporcionan consultas y documentos de ejemplo a modo de introducción. En el artículo Compatibilidad con Gremlin se incluye una referencia de Gremlin detallada.

En este artículo se tratan las tareas siguientes:

  • Consulta de datos con Gremlin

Prerrequisitos

Para que estas consultas funcionen, debe tener una cuenta de Azure Cosmos DB, así como datos del gráfico en el contenedor. ¿No tiene nada de lo anterior? Complete el inicio rápido en 5 minutos para crear una cuenta y rellenar la base de datos. Puede ejecutar las siguientes consultas en la consola de Gremlin o en el controlador de Gremlin que prefiera.

Recuento de vértices del gráfico

En el siguiente fragmento se muestra cómo contar el número de vértices del gráfico:

g.V().count()

Filtros

Puede aplicar filtros mediante los pasos has y hasLabel de Gremlin y combinarlos con and, or y not para crear filtros más complejos. Azure Cosmos DB proporciona indexación independiente del esquema de todas las propiedades de los vértices y grados para consultas rápidas:

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

Proyección

Puede proyectar determinadas propiedades en los resultados de la consulta mediante el paso values:

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

Hasta ahora, solo hemos visto operadores de consulta que funcionan en cualquier base de datos. Los grafos son rápidos y eficientes para operaciones de cruce seguro si tiene que ir a bordes y vértices relacionados. Encontremos a todos los amigos de 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:

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.

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. Obtenga más información sobre lo que puede hacer con Compatibilidad con Gremlin.

Pasos siguientes

En este tutorial, ha hecho lo siguiente:

  • Ha obtenido información sobre cómo realizar consultas con Graph

Ahora puede continuar con la sección de conceptos para obtener más información sobre Azure Cosmos DB.