このチュートリアルの手順では、コード エディターで GQL (Graph クエリ言語) を使用してグラフのクエリを実行します。 GQL は、複雑なグラフ パターンと分析のための強力なクエリ機能を提供します。
コード エディター モードに切り替える
次の手順に従ってコード エディターに切り替え、GQL を使用してグラフのクエリを開始します。
基本的なクエリを実行する
入力フィールドに GQL クエリを入力します。 たとえば、すべての注文をカウントします。
MATCH (n:`Order`) RETURN count(n) AS num_orders[ クエリの実行 ] を選択してクエリを実行します。
このクエリは、 Order ラベルを持つすべてのノードを検索してカウントし、合計を num_ordersとして返します。 これは、グラフにデータがあり、カウントが読み込んだ注文行の数と一致することを確認する簡単な方法です。 次の図は、クエリの結果を示しています。
GQL でクエリ ビルダー クエリを再作成する
前の チュートリアルの手順では、クエリ ビルダーを使用して、特定の顧客が購入した製品を検索しました。 GQL で記述されたのと同じクエリを次に示します。
MATCH (c:Customer)-[:purchases]->(o:`Order`)-[:`contains`]->(p:`Product`)
FILTER c.fullName = 'Carla Adams'
RETURN c.fullName, o, p.productName
このクエリ:
- パターン →
Customer→purchases→Order→containsに一致しますProduct - 顧客「Carla Adams」のフィルター
- 顧客の氏名、注文の詳細、製品名を返します。
次の図は、クエリの結果を示しています (返されたデータの一部のみが表示されます)。
複雑なクエリを実行する
一致するグラフ パターン、フィルター処理、集計、並べ替え、および制限を組み合わせた、より複雑なクエリを実行できます。
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
このクエリ:
- サプライ チェーンを介してベンダーと製品を結び付け、注文を製品に結び付けるパターンに一致します。
-
カテゴリ内の製品の
Clothing。 - ベンダー名とサブカテゴリ名の変数を定義します。
- ベンダー名、サブカテゴリ名、個別の製品数、および注文数を返します。
- ベンダーとサブカテゴリごとに結果をグループ化します。
- 結果を 注文数の多い順に並べ替えます。
- 結果を上位 5 に制限します。
要約すると、 Clothing カテゴリの製品を供給している上位 5 社のベンダーと、提供する製品の数と、それらの製品の注文数が表示されます。
関連コンテンツ
GQL 言語のサポートの詳細については、以下を参照してください。