Compartir a través de


Lenguaje de consulta de Graph (GQL) (versión preliminar)

Cambie los servicios mediante la lista desplegable Versión . Más información sobre la navegación.
Se aplica a: ✅ Microsoft Fabric ✅ Azure Data Explorer

El lenguaje de consulta de Graph (GQL) permite usar la coincidencia de patrones de grafos estandarizados. GQL sigue el estándar ISO GQL para las consultas de base de datos de grafos.

Nota:

La compatibilidad con GQL está en versión preliminar. Las características y la sintaxis pueden cambiar en función de los comentarios y el desarrollo continuo.

Introducción

Graph Query Language (GQL) es un estándar ISO emergente para consultar bases de datos de grafos. GQL permite usar la sintaxis similar a SQL para la coincidencia de patrones de grafos, por lo que es más fácil analizar las relaciones en los datos. En este artículo se explica cómo usar GQL, sus ventajas y características clave.

GQL proporciona funcionalidades estandarizadas de coincidencia de patrones de grafos para analizar las relaciones de los datos mediante la sintaxis estándar ISO.

Cómo empezar

Para usar GQL, necesita:

  • Origen de datos de grafo que es un modelo de grafo o una función que devuelve un grafo transitorio que termina con un operador make-graph (consulte el paso 1).
  • Establecer propiedades específicas de solicitud de cliente (consulte el paso 2).

Paso 1: Crear una referencia de grafo

Antes de usar GQL, cree un origen de datos de grafo. En este artículo se usa un operador make-graph en memoria, pero se recomienda usar una instantánea de grafo para escenarios de producción.

.create-or-alter function G_doc() {
    let nodes = datatable(id:string, lbl:string, name:string, properties:dynamic)
    [
        "p1","Person","Alice",dynamic({"age": 25}),
        "p2","Person","Bob",dynamic({"age": 30}),
        "p3","Person","Carol",dynamic({"age": 28}),
        "p4","Person","David",dynamic({"age": 35}),
        "p5","Person","Emma",dynamic({"age": 26}),
        "c1","Company","TechCorp",,
        "c2","Company","DataSoft",,
        "c3","Company","CloudInc",,
        "ct1","City","Seattle",,
        "ct2","City","Portland",,
        "ct3","City","San Francisco",
    ];
    let edges = datatable(source:string, target:string, lbl:string, since:int)
    [
        "p1","c1","works_at",2020,
        "p2","c1","works_at",2022,
        "p3","c2","works_at",2023,
        "p4","c3","works_at",2021,
        "p5","c1","works_at",2024,
        "p1","ct1","located_at",2019,
        "p2","ct1","located_at",2021,
        "p3","ct2","located_at",2022,
        "p4","ct3","located_at",2020,
        "p5","ct2","located_at",2023,
        "c1","ct1","located_at",2015,
        "c2","ct2","located_at",2018,
        "c3","ct3","located_at",2017,
        "p1","p2","knows",2019,
        "p2","p3","knows",2021,
        "p3","p4","knows",2022,
        "p4","p5","knows",2023,
        "p1","p4","likes",2020,
        "p4","p1","likes",2020,
        "p5","p2","likes",2022
    ];
    edges
    | make-graph source --> target with nodes on id
}

Paso 2: Configurar las propiedades de la solicitud de cliente

Para ejecutar consultas GQL, establezca tres propiedades de solicitud de cliente. Establezca estas propiedades a través del SDK, la API o directamente en la interfaz de usuario web de Kusto Explorer o Azure Data Explorer mediante directivas .

Para ejecutar consultas GQL, establezca tres propiedades de solicitud de cliente. Establezca estas propiedades a través del SDK, la API o directamente en el conjunto de consultas kusto Explorer o KQL mediante directivas .

Establecimiento de propiedades de solicitud de cliente

Importante

Ejecute cada directiva por separado antes de ejecutar la consulta GQL. Las directivas configuran el entorno de consulta para la ejecución de GQL.

#crp query_language=gql
#crp query_graph_reference=G_doc()

Para usar etiquetas en GQL, establezca el nombre de la columna de etiqueta:

#crp query_graph_label_name=lbl

Sugerencia

Las etiquetas son opcionales en GQL, pero a menudo se usan para filtrar nodos y bordes por tipo. Establezca el nombre de la columna de etiqueta para usar etiquetas en las consultas GQL.

Establecimiento de propiedades de solicitud de cliente en mediante programación

Para el acceso mediante programación, establezca estas propiedades de solicitud de cliente:

  • query_language: se establece en "gql".
  • query_graph_reference: establezca en el nombre de la función de grafo (por ejemplo, "G_doc()").
  • query_graph_label_name: establezca en el nombre de la columna de etiqueta (por ejemplo, "lbl").

Paso 3: Ejecución de consultas GQL

Después de finalizar la instalación, ejecute consultas GQL mediante la sintaxis de GQL estándar. Use los ejemplos siguientes para explorar las características básicas y avanzadas de GQL.

Examples

Busque ejemplos básicos de coincidencia de patrones y etiquetas aquí. Para obtener ejemplos más complejos, consulte Patrones de consulta GQL, ejemplos y escenarios comunes. Para obtener documentación de referencia, incluidos los aspectos básicos y los detalles de la función, consulte Referencia del lenguaje de consulta de Graph (GQL).

Consulta GQL de ejemplo para la coincidencia de patrones básica

MATCH (n)-[e]->(n2)
RETURN COUNT(*) as CNT

Salida

En la tabla siguiente se muestra el resultado de la consulta.

CNT
20

Consulta GQL de ejemplo con etiquetas

MATCH (p:Person)-[e]->(target)
RETURN p.name, target.name, e.lbl
ORDER BY p.name, target.name
LIMIT 2

Salida

En la tabla siguiente se muestra el resultado de la consulta.

p.name target.name e.lbl
Alice Bob Sabe
Alice David Le gusta