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')
Búsqueda de bordes y vértices relacionados
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.