GraphMLデータの読み込み

DSE Graph Loaderを使用してGraphMLデータを読み込む方法。

GraphMLデータのデータ・マッピング・スクリプトを説明とともに示します。完全なスクリプトは、ページの最後にあります。
注: DSE Graph Loaderでは、TinkerGraphで生成されたGraphMLファイル、すなわち、Apache TinkerPopに含まれているインメモリー・グラフ・データベースを読み込むことができます。DSE Graphで生成されたGraphMLファイルは、DSE Graph Loaderを使用して読み込むことはできません。

手順

  • 必要に応じて、マッピング・スクリプトに構成を追加します。
  • データ入力ファイルを指定します。変数inputfiledirは、入力ファイルのディレクトリーを指定します。識別されたファイルは、読み込みに使用されます。
    // DATA INPUT
    // データ入力ソースを定義します 
    // inputfiledirは入力ファイルのディレクトリーです 
    
    inputfiledir = '/tmp/GraphML/'
    recipeInput = Graph.file(inputfiledir + 'recipe.xml').graphml()
  • ファイルはxmlファイルとして指定され、追加手順graphml()によって、このファイルがGraphMLファイルとして処理される必要があることが識別されます。マップrecipeInputが作成され、データの処理に使用されます。
    recipeInput = Graph.file(inputfiledir + 'recipe.xml')

    File.csvまたはFile.jsonとは対照的に、Graph.fileが使用されることに注意してください。

  • マッピング・スクリプトの本文を作成します。マッピング・スクリプトのこの部分は、ファイル形式にかかわらず同じです。ただし、GraphMLファイルではわずかに変更されたバージョンが使用されます。
  • ドライ・ランとしてGraphML読み込みにDSE Graph Loaderを実行するには、以下のコマンドを使用します。
    graphloader recipeMappingGraphML.groovy -graph testGraphML -address localhost -dryrun true

    テスト目的の場合、graphloaderの実行前に、指定されたグラフが存在する必要はありません。ただし、実稼働用途では、graphloaderを使用する前にグラフとスキーマを作成する必要があります。

  • 完全な読み込みスクリプトは以下のとおりです。
    /* SAMPLE INPUT
    GraphMLファイルはXMLファイルです
     */
    
    // CONFIGURATION
    // スキーマを作成するようにデータ・ローダーを構成します
    config create_schema:true, load_new:true
    
    // DATA INPUT
    // データ入力ソースを定義します 
    // inputfiledirは入力ファイルのディレクトリーです 
    
    inputfiledir = '/tmp/GraphML/'
    recipeInput = Graph.file(inputfiledir + 'recipe.xml').graphml()
    
    //(定義済みインラインとして)いずれかのマッパーを使用して読み込むデータ・ソースを指定します
      
    load(recipeInput.vertices().withVertexId()).asVertices {
    labelField "~label"
    key "~id", "id"
    }
    
    load(recipeInput.edges().withVertexId()).asEdges {
    labelField "~label"
    outV "outV", {
    labelField "~label"
    key "~id", "id"
        }
    inV "inV", {
    labelField "~label"
    key "~id", "id"
        }
    }