Sdílet prostřednictvím


Kurz: Dotazování grafu pomocí GQL

Poznámka:

Tato funkce je aktuálně ve verzi Public Preview. Tato verze Preview se poskytuje bez smlouvy o úrovni služeb a nedoporučuje se pro produkční úlohy. Některé funkce nemusí být podporované nebo můžou mít omezené možnosti. Další informace najdete v dodatečných podmínkách použití pro verze Preview v Microsoft Azure.

V tomto kroku kurzu budete dotazovat graf pomocí jazyka GQL (Graph Query Language) v editoru kódu. GQL poskytuje výkonné možnosti dotazování pro komplexní grafové vzory a analýzu.

Přepnutí do režimu editoru kódu

Pomocí následujícího postupu přepněte do editoru kódu a začněte dotazovat graf pomocí GQL:

  1. Přejděte na domovskou stránku grafu.

  2. V horní nabídce vyberte Editor kódu .

    Snímek obrazovky znázorňující výsledek výběru editoru kódu

Spuštění základního dotazu

  1. Do vstupního pole zadejte dotaz GQL. Můžete například spočítat všechny objednávky:

    MATCH (n:`Order`) RETURN count(n) AS num_orders
    
  2. Výběrem Spustit dotaz spusťte dotaz.

Tento dotaz najde všechny uzly s Order popiskem, spočítá je a vrátí součet jako num_orders. Je to jednoduchý způsob, jak ověřit, že graf obsahuje data. Následující obrázek znázorňuje výsledek dotazu:

Snímek obrazovky znázorňující výsledek spuštění dotazu GQL pro počítání všech objednávek

Rekonstrukce dotazu z nástroje Query Builder v GQL

V předchozím kroku kurzu jste použili tvůrce dotazů k vyhledání produktů zakoupených konkrétním zákazníkem. Tady je stejný dotaz napsaný v GQL:

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

Tento dotaz:

  1. Odpovídá vzoru nákupů zákazníka → → Objednávky → obsahuje produkt →
  2. Filtry pro zákazníka s názvem "Carla Adams"
  3. Vrátí celé jméno zákazníka, podrobnosti objednávky a názvy produktů.

Následující obrázek ukazuje výsledek dotazu (zobrazí se jenom část vrácených dat).

Snímek obrazovky znázorňující výsledek spuštění dotazu GQL pro vyhledání produktů zakoupených společností Carla Adams

Proveďte složitý dotaz

Můžete spouštět složitější dotazy, které kombinují odpovídající vzory grafu, filtrování, agregaci, řazení a omezování:

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

Tento dotaz:

  1. Odpovídá vzoru, který spojuje dodavatele s produkty prostřednictvím dodavatelského řetězce a zároveň spojuje objednávky s produkty.
  2. Filtry pro produkty v kategorii Touring Bikes.
  3. Definuje proměnné pro názvy dodavatelů a podkategorií.
  4. Vrátí název dodavatele, název podkategorie, počet jedinečných produktů a počet objednávek.
  5. Seskupuje výsledky podle dodavatele a podkategorie.
  6. Objednávky výsledků podle počtu objednávek v sestupném pořadí
  7. Omezí výsledky na prvních 5.

V souhrnu se zobrazuje pět nejlepších dodavatelů dodávajících produkty v kategorii Touring Bikes spolu s tím, kolik produktů dodává a kolik objednávek tyto produkty mají.

Snímek obrazovky znázorňující výsledek spuštění dotazu GQL pro vyhledání prvních pěti dodavatelů dodávajících produkty v kategorii Touring Bikes

Další informace o podpoře jazyka GQL najdete tady:

Další krok