15.5.1.1.2 エッジ・プロバイダのロード

alterationBuilder.addEdgeProvider(EntityProviderConfig edgeProviderConfig) where edgeProviderConfigを呼び出して、エッジ・プロバイダを追加できます。edgeProviderConfigはエッジ・プロバイダ構成であり、次のような構成詳細を提供します。
  • ロード元となるデータソースの場所
  • 格納形式
  • エッジ・プロバイダのプロパティ

それがリンクされている出力および入力頂点プロバイダは、ベース・グラフにすでに存在するか(変更で削除されない)、変更とともに追加される必要があります。

さらに、alterationBuilder.addVertexProvider(String pathToVertexProviderConfig)をコールすることにより、プロバイダを追加することもできます。pathToVertexProviderConfigは、頂点プロバイダ構成のJSON表現を含む、クライアントからアクセス可能なファイルを指します。

たとえば、次に示すように、エッジ・プロバイダを変更で追加できます。

// loading by indicating the path to the JSON file
alterationBuilder.addEdgeProvider("<path-to-edge-provider-configuration>");

// or by first loading the content of a JSON file into an EntityProviderConfig object
EntityProviderConfig edgeProviderConfig = new AnyFormatEntityProviderConfigFactory().fromPath("<path-to-edge-provider-configuration>");
alterationBuilder.addEdgeProvider(edgeProviderConfig);

または、エッジ・プロバイダ構成をプログラムで作成することもできます。

FileEntityProviderConfigBuilder edgeProviderConfigBuilder = new FileEntityProviderConfigBuilder().
  setFormat().
  setName("typicalEdgeProvider").
  hasHeader(true).
  setUris("").
  setSourceVertexProvider("typicalVertexProvider").
  setDestinationVertexProvider("anotherTypicalVertexProvider").
  setSourceColumn("source").
  setDestinationColumn("destination").
  setKeyColumn("EID").
  createKeyMapping(true).
  setErrorHandlingOnMissingVertex(OnMissingVertex.IGNORE_EDGE).
  addProperty("cost", PropertyType.DOUBLE);

EntityProviderConfig edgeProviderConfig = edgeProviderConfigBuilder.build();

alterationBuilder.addEdgeProvider(edgeProviderConfig);