Del via


Tutorial: Forespørg grafen ved at bruge GQL

Notat

Denne funktion er i øjeblikket tilgængelig som offentlig prøveversion. Denne prøveversion leveres uden en serviceniveauaftale og anbefales ikke til produktionsarbejdsbelastninger. Visse funktioner understøttes muligvis ikke eller kan have begrænsede funktioner. Du kan finde flere oplysninger under Supplerende vilkår for anvendelse af Microsoft Azure Previews.

I dette vejledningstrin forespørger du din graf ved at bruge GQL (Graph Query Language) i kodeeditoren. GQL tilbyder kraftfulde forespørgselsmuligheder for komplekse grafmønstre og analyser.

Skift til kodeeditor-tilstand

Følg disse trin for at skifte til kodeeditoren og begynd at forespørge din graf ved at bruge GQL:

  1. Gå til din grafs startside.

  2. Vælg kodeeditor fra topmenuen.

    Skærmbillede, der viser resultatet af at vælge 'Code editor'.

Kør en grundlæggende forespørgsel

  1. Indtast en GQL-forespørgsel i inputfeltet. For eksempel tæl alle ordrer:

    MATCH (n:`Order`) RETURN count(n) AS num_orders
    
  2. Vælg Kør forespørgsel for at udføre forespørgslen.

Denne forespørgsel finder alle noder med etiketten Order , tæller dem og returnerer totalen som num_orders. Det er en simpel måde at bekræfte, at din graf har data. Følgende billede viser resultatet af forespørgslen:

Skærmbillede, der viser resultatet af at køre en GQL-forespørgsel for at tælle alle ordrer.

Genskab forespørgselsbyggerforespørgslen i GQL

I det forrige tutorial-trin brugte du forespørgselsbyggeren til at finde ud af, hvilke produkter en bestemt kunde havde købt. Her er den samme forespørgsel skrevet i GQL:

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

Denne forespørgsel:

  1. Matcher mønsteret Kunde→ køb → Ordre → indeholder → Produkt
  2. Filtre for kunden ved navn "Carla Adams"
  3. Returnerer kundens fulde navn, ordreoplysninger og produktnavne

Det følgende billede viser resultatet af forespørgslen (kun en del af de returnerede data vises).

Skærmbillede, der viser resultatet af at køre en GQL-forespørgsel for at finde produkter købt af Carla Adams.

Kør en kompleks forespørgsel

Du kan køre mere komplekse forespørgsler, der kombinerer matchende grafmønstre, filtrering, aggregering, sortering og 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

Denne forespørgsel:

  1. Matcher et mønster, der forbinder leverandører til produkter gennem forsyningskæden og ordrer til produkter.
  2. Filtre for produkter i kategorien 'Touring Bikes'.
  3. Definerer variabler for leverandør- og underkategorinavne.
  4. Returnerer leverandørnavn, underkategorinavn, særskilt produktantal og ordreantal.
  5. Grupperer resultater efter leverandør og underkategori.
  6. Ordrer resultater efter ordreantal i faldende rækkefølge.
  7. Grænser resultaterne til top 5.

Sammenfattende viser den de fem største leverandører, der leverer produkter i kategorien 'Touring Bikes', sammen med hvor mange produkter de leverer, og hvor mange ordrer disse produkter har.

Skærmbillede, der viser resultatet af at køre en GQL-forespørgsel for at finde de fem største leverandører, der leverer produkter i kategorien 'Touring Bikes'.

For mere information om GQL-sprogunderstøttelse, se:

Næste trin