Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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:
Lépjen a gráf Lekérdezés módjára.
A felső menüszalagon válassza a Lekérdezésszerkesztő > kódszerkesztője lehetőséget.
Alapszintű lekérdezés futtatása
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_ordersVá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ó:
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:
-
Illeszkedik a mintához:
Customer→purchases→Order→contains→Product - A "Carla Adams" nevű ügyfél szűrői
- 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).
Ö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:
- 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.
- A kategória termékeinek szűrői
Clothing. - A szállítók és alkategóriák nevének változóit határozza meg.
- A szállító nevét, alkategórianevét, eltérő termékszámát és rendelésszámát adja vissza.
- Az eredményeket szállító és alkategória szerint csoportosítja.
- A rendelések csökkenő sorrendben, a rendelések száma alapján érkeznek.
- 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.
Kapcsolódó tartalom
További információ a GQL nyelvi támogatásáról: