4.5.1 グラフをロードするためのJSON構成の作成
JSON構成の使用によるプロパティ・グラフ・スキーマからのグラフのロード
グラフ・サーバー(PGX)では、プロパティ・グラフ・スキーマを使用してOracle Databaseからプロパティ・グラフをロードできます。
グラフ構成ファイルを作成してグラフをロードできます。次に、キーストアを使用してデータベースに接続するグラフ構成ファイルの例を示します。キーストアの使用方法の詳細は、キーストアへのデータベース・パスワードの格納を参照してください。
{
"name": "BANK_ACCOUNTS",
"format": "pg",
"db_engine": "rdbms",
"jdbc_url": "jdbc:oracle:thin:@<host>:<port>/<service_name>",
"username":"graphuser",
"keystore_alias":"database1",
"vertex_props": [
{
"name": "ID",
"type": "integer"
},
{
"name": "NAME",
"type": "string"
}
],
"edge_props": [
{
"name": "AMOUNT",
"type": "float"
},
{
"name": "DESCRIPTION",
"type": "string"
}
],
"partition_while_loading": "by_label",
"loading":{
"load_edge_label":true,
"load_vertex_labels": true,
"create_vertex_id_mapping": true,
"create_edge_id_mapping": true
}
}
グラフをメモリーに読み込むためのPgxSession
APIメソッドの詳細は、グラフをメモリーにロードするためのAPIを参照してください。
これで、次に示すPgxSession
APIメソッドを使用して、グラフをグラフ・サーバー(PGX)に読み込むことができます。
opg4j> var g = session.readGraphWithProperties("bank_graph.json")
PgxGraph g = session.readGraphWithProperties("bank_graph.json");
g = session.read_graph_with_properties("bank_graph.json")
JSON構成の使用によるパーティション化されたグラフのロード
パーティション化されたグラフをグラフ・サーバー(PGX)にロードするために、ロードするグラフに関するメタデータが含まれるグラフ構成ファイルを作成できます。
パーティション化されたグラフの構成ファイルの例を次に示します。
{
"name": "bank_graph_analytics",
"vertex_providers":[
{
"name":"Accounts",
"format":"rdbms",
"database_table_name":"BANK_ACCOUNTS",
"key_column":"ID",
"key_type": "integer",
"parallel_hint_degree": 3,
"props":[
{
"name":"ACCT_ID",
"type":"integer",
"column":"ID"
},
{
"name":"ACCT_NAME",
"type":"string",
"column":"NAME"
}
]
}
],
"edge_providers":[
{
"name":"Transfers",
"format":"rdbms",
"database_table_name":"BANK_TXNS",
"key_column":"ID",
"parallel_hint_degree": 3,
"source_column":"FROM_ACCT_ID",
"destination_column":"TO_ACCT_ID",
"source_vertex_provider":"Accounts",
"destination_vertex_provider":"Accounts",
"props":[
{
"name":"FROM_ACCT_ID",
"type":"integer"
},
{
"name":"TXN_AMOUNT",
"type":"float",
"column":"AMOUNT"
},
{
"name":"TXN_DESC",
"type":"string",
"column":"DESCRIPTION"
},
{
"name":"TO_ACCT_ID",
"type":"integer"
}
]
}
]
}
前述の構成ファイルでは、頂点およびエッジのプロパティの名前が別の値に変更されています。たとえば、エッジ・プロパティAMOUNT
の名前はTXN_AMT
に変更されています。つまり、グラフをグラフ・サーバー(PGX)にロードするときに頂点またはエッジのプロパティの名前を変更して、データベース内の基礎となる列とは異なる名前を付けることができます。
関連項目:
- パーティション化されたグラフのロード時のPARALLELヒントの構成
- パーティション化されたグラフの構成オプションの詳細は、「グラフ構成のオプション」を参照してください。
これで、次に示すように、グラフをグラフサーバーに読み込むことができます。
opg4j> var g = session.readGraphWithProperties("bank_graph_analytics.json")
PgxGraph g = session.readGraphWithProperties("bank_graph_analytics.json");
g = session.read_graph_with_properties("bank_graph_analytics.json")