チュートリアル: GQL を使用してグラフにクエリを実行する

このチュートリアルの手順では、コード エディターで GQL (Graph クエリ言語) を使用してグラフのクエリを実行します。 GQL は、複雑なグラフ パターンと分析のための強力なクエリ機能を提供します。

コード エディター モードに切り替える

次の手順に従ってコード エディターに切り替え、GQL を使用してグラフのクエリを開始します。

  1. グラフのホーム ページに移動します。

  2. 上部のメニューから [コード エディター ] を選択します。

    コード エディターを選択した結果を示すスクリーンショット。

基本的なクエリを実行する

  1. 入力フィールドに GQL クエリを入力します。 たとえば、すべての注文をカウントします。

    MATCH (n:`Order`) RETURN count(n) AS num_orders
    
  2. [ クエリの実行 ] を選択してクエリを実行します。

このクエリは、 Order ラベルを持つすべてのノードを検索してカウントし、合計を num_ordersとして返します。 これは、グラフにデータがあり、カウントが読み込んだ注文行の数と一致することを確認する簡単な方法です。 次の図は、クエリの結果を示しています。

すべての注文をカウントする GQL クエリを実行した結果を示すスクリーンショット。

GQL でクエリ ビルダー クエリを再作成する

前の チュートリアルの手順では、クエリ ビルダーを使用して、特定の顧客が購入した製品を検索しました。 GQL で記述されたのと同じクエリを次に示します。

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

このクエリ:

  1. パターン CustomerpurchasesOrdercontains に一致しますProduct
  2. 顧客「Carla Adams」のフィルター
  3. 顧客の氏名、注文の詳細、製品名をします。

次の図は、クエリの結果を示しています (返されたデータの一部のみが表示されます)。

Carla Adams によって購入された製品を見つけるために GQL クエリを実行した結果を示すスクリーンショット。

複雑なクエリを実行する

一致するグラフ パターン、フィルター処理、集計、並べ替え、および制限を組み合わせた、より複雑なクエリを実行できます。

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

このクエリ:

  1. サプライ チェーンを介してベンダーと製品を結び付け、注文を製品に結び付けるパターンに一致します。
  2. カテゴリ内の製品のClothing
  3. ベンダー名とサブカテゴリ名の変数を定義します。
  4. ベンダー名、サブカテゴリ名、個別の製品数、および注文数をします。
  5. ベンダーとサブカテゴリごとに結果をグループ化します。
  6. 結果を 注文数の多い順に並べ替えます。
  7. 結果を上位 5 に制限します。

要約すると、 Clothing カテゴリの製品を供給している上位 5 社のベンダーと、提供する製品の数と、それらの製品の注文数が表示されます。

GQL クエリを実行して、Clothing カテゴリの製品を提供している上位 5 社のベンダーを見つけた結果を示すスクリーンショット。

GQL 言語のサポートの詳細については、以下を参照してください。

次のステップ