Partager via


Langage de requête Graph (GQL) (préversion)

Changer de service à l’aide de la liste déroulante Version . En savoir plus sur la navigation.
S’applique à : ✅ Microsoft Fabric ✅ Azure Data Explorer

Le langage de requête Graph (GQL) vous permet d’utiliser la correspondance de modèle de graphique standardisé. GQL suit la norme GQL ISO pour les requêtes de base de données de graphe.

Note

La prise en charge de GQL est en préversion. Les fonctionnalités et la syntaxe peuvent changer en fonction des commentaires et du développement continu.

Présentation

Graph Query Language (GQL) est une norme ISO émergente pour interroger des bases de données de graphe. GQL vous permet d’utiliser la syntaxe de type SQL pour la correspondance des modèles de graphique. Il est donc plus facile d’analyser les relations dans vos données. Cet article explique comment utiliser GQL, ses avantages et ses fonctionnalités clés.

GQL fournit des fonctionnalités de correspondance de modèles de graphique standardisées pour analyser les relations dans vos données à l’aide de la syntaxe standard ISO.

Mise en route

Pour utiliser GQL, vous avez besoin des éléments suivants :

  • Source de données de graphe qui est un modèle de graphe ou une fonction retournant un graphique temporaire se terminant par un opérateur make-graph (voir l’étape 1).
  • Définissez des propriétés de requête client spécifiques (voir l’étape 2).

Étape 1 : Créer une référence de graphique

Avant d’utiliser GQL, créez une source de données de graphe. Cet article utilise un opérateur make-graph en mémoire, mais nous vous recommandons d’utiliser un instantané de graphique pour les scénarios de production.

.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
}

Étape 2 : Configurer les propriétés de demande du client

Pour exécuter des requêtes GQL, définissez trois propriétés de requête client. Définissez ces propriétés via le Kit de développement logiciel (SDK), l’API ou directement dans l’interface utilisateur webKusto Explorer ou Azure Data Explorer à l’aide de directives.

Pour exécuter des requêtes GQL, définissez trois propriétés de requête client. Définissez ces propriétés via le Kit de développement logiciel (SDK), l’API ou directement dans l’ensemble de requêtes Kusto Explorer ou KQL à l’aide de directives.

Définir les propriétés de la demande du client

Important

Exécutez chaque directive séparément avant d’exécuter votre requête GQL. Les directives configurent l’environnement de requête pour l’exécution de GQL.

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

Pour utiliser des étiquettes dans GQL, définissez le nom de colonne d’étiquette :

#crp query_graph_label_name=lbl

Conseil / Astuce

Les étiquettes sont facultatives dans GQL, mais elles sont souvent utilisées pour filtrer les nœuds et les arêtes par type. Définissez le nom de colonne d’étiquette pour utiliser des étiquettes dans vos requêtes GQL.

Définir les propriétés de requête du client par programmation

Pour l’accès par programmation, définissez ces propriétés de demande client :

  • query_language: défini sur "gql".
  • query_graph_reference: définissez le nom de votre fonction de graphe (par exemple, "G_doc()").
  • query_graph_label_name: définissez le nom de votre colonne d’étiquette (par exemple, "lbl").

Étape 3 : Exécuter des requêtes GQL

Une fois l’installation terminée, exécutez des requêtes GQL à l’aide de la syntaxe GQL standard. Utilisez les exemples ci-dessous pour explorer les fonctionnalités GQL de base et avancées.

Examples

Recherchez des exemples de base pour les critères correspondants et les étiquettes ici. Pour obtenir des exemples plus complexes, consultez les modèles de requête GQL, les exemples et les scénarios courants. Pour obtenir de la documentation de référence, notamment les notions de base et les détails de la fonction, consultez la référence du langage de requête Graph (GQL).

Exemple de requête GQL pour la correspondance de modèle de base

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

Output

Le tableau suivant montre le résultat de la requête.

CNT
20

Exemple de requête GQL avec des étiquettes

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

Output

Le tableau suivant montre le résultat de la requête.

p.name target.name e.lbl
Alice Pendiller sait
Alice David Aime