Dela via


Självstudie: Fråga grafen med hjälp av GQL

Anmärkning

Den här funktionen är för närvarande i offentlig förhandsversion. Den här förhandsversionen tillhandahålls utan ett serviceavtal och rekommenderas inte för produktionsarbetsbelastningar. Vissa funktioner kanske inte stöds eller kan vara begränsade. Mer information finns i Kompletterande villkor för användning av Microsoft Azure-förhandsversioner.

I detta steg i självstudien ställer du frågor till din diagrambase med hjälp av GQL (Graph Query Language) i kodredigeraren. GQL tillhandahåller kraftfulla frågefunktioner för komplexa diagrammönster och analyser.

Växla till kodredigerarens läge

Följ dessa steg för att växla till kodredigeraren och börja köra frågor mot diagrammet med hjälp av GQL:

  1. Gå till diagrammets startsida.

  2. Välj Kodredigeraren på den översta menyn.

    Skärmbild som visar resultatet av att välja Kodredigeraren.

Köra en grundläggande fråga

  1. Ange en GQL-fråga i indatafältet. Räkna till exempel alla beställningar:

    MATCH (n:`Order`) RETURN count(n) AS num_orders
    
  2. Välj Kör fråga för att köra frågan.

Den här frågan hittar alla noder med Order etiketten, räknar dem och returnerar summan som num_orders. Det är ett enkelt sätt att bekräfta att grafen har data. Följande bild visar resultatet av frågan:

Skärmbild som visar resultatet av att köra en GQL-fråga för att räkna alla beställningar.

Återskapa frågeverktygets fråga i GQL

I föregående självstudiesteg använde du frågeverktyget för att hitta vilka produkter en specifik kund har köpt. Här är samma fråga som skrivits i GQL:

MATCH (c:Customer)-[:purchases]->(o:`Order`)-[:`contains`]->(p:`Product`)
FILTER c.fullName = 'Carla Adams'
RETURN c.fullName, o, p.productName

Den här frågan:

  1. Matchar mönstret Kund → inköp → Order → innehåller → Produkt
  2. Filter för kunden med namnet "Carla Adams"
  3. Returnerar kundens fullständiga namn, orderinformation och produktnamn

Följande bild visar resultatet av frågan (endast en del av de returnerade data visas).

Skärmbild som visar resultatet av att köra en GQL-fråga för att hitta produkter som köpts av Carla Adams.

Köra en komplex fråga

Du kan köra mer komplexa frågor som kombinerar matchande grafmönster, filtrering, sammansättning, sortering och begränsning:

MATCH (v:Vendor)-[:produces]->(p:`Product`)->(sc:`ProductSubcategory`)->(c:`ProductCategory`), 
      (o:`Order`)-[:`contains`]->(p)
FILTER c.subCategoryName = 'Touring Bikes'
LET vendorName = v.vendorName, subCategoryName = sc.subCategoryName
RETURN vendorName, subCategoryName, count(DISTINCT p) AS num_products, count(o) AS num_orders
GROUP BY vendorName, subCategoryName
ORDER BY num_orders DESC
LIMIT 5

Den här frågan:

  1. Matchar ett mönster som kopplar samman leverantörer med produkter genom leveranskedjan och beställningar med produkter.
  2. Filter för produkter i kategorin "Touring Bikes".
  3. Definierar variabler för leverantörs- och underkategorinamn.
  4. Returnerar leverantörens namn, underkategoriens namn, antal distinkta produkter och orderantal.
  5. Grupperar resultat efter leverantör och underkategori.
  6. Order resultat efter orderantal i fallande ordning.
  7. Begränsar resultatet till topp 5.

Sammanfattningsvis visar den de fem främsta leverantörerna som levererar produkter i kategorin "Touring Bikes", tillsammans med hur många produkter de levererar och hur många beställningar dessa produkter har.

Skärmbild som visar resultatet av att köra en GQL-fråga för att hitta de fem främsta leverantörerna som levererar produkter i kategorin

Mer information om stöd för GQL-språk finns i:

Nästa steg