Oktatóanyag: A gráf lekérdezése a GQL használatával

Ebben az oktatóanyagi lépésben a gráfot a kódszerkesztő GQL (Graph Query Language) használatával kérdezheti le. A GQL hatékony lekérdezési képességeket biztosít összetett gráfmintákhoz és elemzésekhez.

Váltás kódszerkesztő módra

Az alábbi lépéseket követve válthat a kódszerkesztőre, és megkezdheti a gráf lekérdezését a GQL használatával:

  1. Lépjen a gráf Lekérdezés módjára.

  2. A felső menüszalagon válassza a Lekérdezésszerkesztő > kódszerkesztője lehetőséget.

    Képernyőkép a Kódszerkesztő kiválasztásának eredményéről.

Alapszintű lekérdezés futtatása

  1. Adjon meg egy GQL-lekérdezést a bemeneti mezőbe. Számlálja meg például az összes rendelést:

    MATCH (n:`Order`) RETURN count(n) AS num_orders
    
  2. Válassza a Lekérdezés futtatása lehetőséget a lekérdezés végrehajtásához.

Ez a lekérdezés megkeresi a Order címkével rendelkező összes csomópontot, megszámlálja őket, és a végösszeget a num_orderskövetkezőképpen adja vissza. Egyszerűen ellenőrizheti, hogy a gráf rendelkezik-e adatokkal, és hogy a szám megegyezik a betöltött rendelési sorok számával. Az alábbi képen a lekérdezés eredménye látható:

Képernyőkép egy GQL-lekérdezés futtatásának eredményéről az összes rendelés megszámlálásához.

A lekérdezésszerkesztő lekérdezés újbóli létrehozása a GQL-ben

Az előző oktatóanyag lépésben a lekérdezésszerkesztővel találta meg, hogy milyen termékeket vásárolt egy adott ügyfél. Ugyanez a lekérdezés a GQL-ben is meg van írva:

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

Ez a lekérdezés:

  1. Illeszkedik a mintához:CustomerpurchasesOrdercontainsProduct
  2. A "Carla Adams" nevű ügyfél szűrői
  3. Az ügyfél teljes nevét, rendelési adatait és termékneveit adja vissza

Az alábbi képen a lekérdezés eredménye látható (a visszaadott adatoknak csak egy része jelenik meg).

Képernyőkép egy GQL-lekérdezés futtatásának eredményéről a Carla Adams által vásárolt termékek megkereséséhez.

Összetett lekérdezés futtatása

Összetettebb lekérdezéseket is futtathat, amelyek egyező gráfmintákat, szűrést, összesítést, rendezést és korlátozást kombinálnak:

MATCH (v:Vendor)-[:produces]->(p:`Product`)->(sc:`ProductSubcategory`)->(c:`ProductCategory`), 
      (o:`Order`)-[:`contains`]->(p)
FILTER c.categoryName = 'Clothing'
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

Ez a lekérdezés:

  1. Illeszkedik egy olyan mintára, amely összeköti a szállítókat a termékekkel az ellátási láncon keresztül, és a megrendeléseket a termékekkel.
  2. A kategória termékeinek szűrőiClothing.
  3. A szállítók és alkategóriák nevének változóit határozza meg.
  4. A szállító nevét, alkategórianevét, eltérő termékszámát és rendelésszámát adja vissza.
  5. Az eredményeket szállító és alkategória szerint csoportosítja.
  6. A rendelések csökkenő sorrendben, a rendelések száma alapján érkeznek.
  7. Az eredmények az első 5-be vannak korlátozva.

Összefoglalva, az Clothing kategóriában a termékeket szállító öt legnagyobb gyártót mutatja be, valamint hogy hány terméket szállítanak, és hány megrendelésük van ezeknek a termékeknek.

Képernyőkép egy GQL-lekérdezés futtatásának eredményéről, amely a Ruházat kategóriában a termékeket beszállító öt gyártót keresi.

További információ a GQL nyelvi támogatásáról:

Következő lépés