Dela via


Graph Query Language (GQL) (förhandsversion)

Växla tjänster med listrutan Version . Läs mer om navigering.
Gäller för: ✅ Microsoft Fabric ✅ Azure Data Explorer

Med Graph Query Language (GQL) kan du använda standardiserad matchning av grafmönster. GQL följer ISO GQL-standarden för grafdatabasfrågor.

Anmärkning

GQL-stöd finns i förhandsversion. Funktioner och syntax kan ändras baserat på feedback och pågående utveckling.

Introduction

Graph Query Language (GQL) är en framväxande ISO-standard för att fråga efter grafdatabaser. Med GQL kan du använda SQL-liknande syntax för matchning av grafmönster, så det är enklare att analysera relationer i dina data. Den här artikeln beskriver hur du använder GQL, dess fördelar och viktiga funktioner.

GQL tillhandahåller standardiserade matchningsfunktioner för grafmönster för att analysera relationer i dina data med hjälp av ISO-standardsyntaxen.

Komma igång

Om du vill använda GQL behöver du:

  • En grafdatakälla som antingen är en grafmodell eller en funktion som returnerar ett tillfälligt diagram som slutar med en make-graph-operator (se steg 1).
  • Ange specifika egenskaper för klientbegäran (se steg 2).

Steg 1: Skapa en grafreferens

Innan du använder GQL skapar du en grafdatakälla. Den här artikeln använder en minnesintern make-graph-operator, men vi rekommenderar att du använder en grafögonblicksbild för produktionsscenarier.

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

Steg 2: Konfigurera egenskaper för klientbegäran

Om du vill köra GQL-frågor anger du tre egenskaper för klientbegäran. Ange dessa egenskaper via SDK, API eller direkt i Kusto Explorer eller Azure Data Explorer-webbgränssnittet med hjälp av direktiv.

Om du vill köra GQL-frågor anger du tre egenskaper för klientbegäran. Ange dessa egenskaper via SDK, API eller direkt i Frågeuppsättningen Kusto Explorer eller KQL med hjälp av direktiv.

Ange egenskaper för klientbegäran

Viktigt!

Kör varje direktiv separat innan du kör GQL-frågan. Direktiven konfigurerar frågemiljön för GQL-körning.

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

Om du vill använda etiketter i GQL anger du namnet på etikettkolumnen:

#crp query_graph_label_name=lbl

Tips/Råd

Etiketter är valfria i GQL, men de används ofta för att filtrera noder och kanter efter typ. Ange namnet på etikettkolumnen så att etiketter används i dina GQL-frågor.

Ange egenskaper för klientbegäran programmatiskt

För programmatisk åtkomst anger du följande egenskaper för klientbegäran:

  • query_language: Ange till "gql".
  • query_graph_reference: Ställ in på ditt diagramfunktionsnamn (till exempel "G_doc()").
  • query_graph_label_name: Ange namnet på din etikettkolumn (till exempel "lbl").

Steg 3: Kör GQL-frågor

När du har slutfört installationen kör du GQL-frågor med hjälp av standardsyntaxen för GQL. Använd exemplen nedan för att utforska grundläggande och avancerade GQL-funktioner.

Examples

Här hittar du grundläggande exempel för mönstermatchning och etiketter. Mer komplexa exempel finns i GQL-frågemönster, exempel och vanliga scenarier. Referensdokumentation, inklusive grunderna och funktionsinformation, finns i Referens för Graph Query Language (GQL).

Exempel på GQL-fråga för grundläggande mönstermatchning

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

Resultat

I följande tabell visas resultatet av frågan.

CNT
20

Exempel på GQL-fråga med etiketter

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

Resultat

I följande tabell visas resultatet av frågan.

p.name target.name e.lbl
Alice Guppa vet
Alice David gillar