13.3 RESTサービス

RDF REST APIにより、クライアントとバックエンドのRDFデータ・ストア間の通信が可能になります。

RESTサービスは次のグループに分けることができます。

  • サーバー汎用サービス: 使用可能なデータ・ソースと、一般、プロキシおよびロギング・パラメータの構成設定へのアクセスを許可します。

  • Oracle RDFサービス: Oracle RDFオブジェクトに対するCRUD操作を許可します。

  • SPARQLサービス: データ・ソースに対するSPARQL問合せおよび更新を実行できます。

context-rootがorardfに設定されたlocalhostマシンおよびポート番号7101のRDF Webアプリケーションのデプロイメントを想定した場合、RESTリクエストのベースURLはhttp://localhost:7101/orardf/api/v1です。

ほとんどのRESTサービスは、フォームベース認証で保護されています。管理者ユーザーはRDF Graph ServerとQuery UI Webアプリケーションを使用して、パブリックRDFデータ・ソースを定義できます。パブリックRESTエンドポイントは、公開されたデータセットに対してSPARQL問合せを実行するために使用できます。

ノート:

この項およびこの章の例では、ホスト・マシンをlocalhostとして、ポート番号を7101として参照しています。これらの値は、アプリケーションのデプロイメントによって異なる場合があります。

RDF RESTの例を次に示します。

  • サーバー情報を取得します。

    パブリック・エンドポイントURLは次のとおりです。サーバーが起動して実行中かどうかをテストするために使用できます。

    http://localhost:7101/orardf/api/v1/utils/version

  • データ・ソースのリストの取得:

    http://localhost:7101/orardf/api/v1/datasources

  • 一般構成パラメータの取得:

    http://localhost:7101/orardf/api/v1/configurations/general

  • Oracle RDFのRDFセマンティク・ネットワークのリストの取得:

    http://localhost:7101/orardf/api/v1/networks?datasource=rdfuser_ds_193c

  • MDSYSネットワークのすべてのOracle RDFモデルのリストの取得:

    http://localhost:7101/orardf/api/v1/models?datasource=rdfuser_ds_193c

  • プライベート・セマンティク・ネットワークの全Oracle RDF実モデル・リストの取得(19cデータベースから適用):

    http://localhost:7101/orardf/api/v1/models?datasource=rdfuser_ds_193c&networkOwner=RDFUSER&networkName=LOCALNET&type=real

  • SPARQL問合せのPOSTリクエスト:

    http://localhost:7101/orardf/api/v1/datasets/query?datasource=rdfuser_ds_193c&datasetDef={"metadata":[ {"networkOwner":"RDFUSER", "networkName":"LOCALNET","models":["UNIV_BENCH"]} ] }

    問合せペイロード: select ?s ?p ?o where { ?s ?p ?o} limit 10

  • SPARQL問合せのGETリクエスト:

    http://localhost:7101/orardf/api/v1/datasets/query?datasource=rdfuser_ds_193c&query=select ?s ?p ?o where { ?s ?p ?o} limit 10&datasetDef={"metadata":[ {"networkOwner":"RDFUSER", "networkName":"LOCALNET","models":["UNIV_BENCH"]} ] }

  • RDFモデルの公開をリクエストします。

    http://localhost:7101/orardf/api/v1/datasets/publish/DSETNAME?datasetDef={"metadata":[ {"networkOwner":"RDFUSER", "networkName":"LOCALNET" "models":["UNIV_BENCH"]} ]}

    デフォルトのSPARQL問合せペイロード: select ?s ?p ?o where { ?s ?p ?o} limit 10

    このデフォルトのSPARQLは、公開されたデータセットの内容をリクエストするときに上書きできます。前述のリクエストのdatasourceパラメータはオプションです。ただし、このパラメータをURLで定義する場合は、現在の公開データソース名と一致する必要があります。これは、このAPIバージョンが1つの公開データ・ソースのみをサポートするためです。それ以外の場合は、公開されたデータ・ソース名が自動的に使用されます。

  • 公開されたデータセットのリクエストを取得します。

    パブリック・エンドポイントURLは次のとおりです。データセット定義に格納されているデフォルト・パラメータ(SPARQL問合せ、出力形式など)を使用しています。ただし、これらのデフォルト・パラメータは、新しいパラメータ値を渡すことによってRESTリクエストで上書きできます。

    http://localhost:7101/orardf/api/v1/datasets/query/published/DSETNAME

使用可能なRESTサービスの詳細なリストは、Swagger jsonファイルorardf_swagger.jsonにあります。このファイルは、アプリケーションのドキュメント・ディレクトリにパッケージ化されています。