• 検索結果がありません。

3.2 トリプルのロード

3.2.5 REST API を使用したトリプルのロード

このQuery Consoleの表示形式は、[Result]部分から簡単にコピーできるようになって います。

注: コレクションレキシコンは、REST APIインスタンスのグラフストア HTTPプロトコルで必須です。

5. ポート8000に関連付けられたデフォルトのREST APIインスタンスを使用でき ます。新しいREST APIインスタンスを作成する場合は、『REST Application Developer’s Guide』の「

3.2.5.2 グラフストアの処理

グラフエンドポイントは、W3CのグラフストアHTTPプロトコルの実装であり、

SPARQL 1.1グラフストアHTTPプロトコルで指定されています。

http://www.w3.org/TR/2012/CR-sparql11-http-rdf-update-20121108

グラフストアのベースURLは次のとおりです。

http://hostname:port/version/graphs

「hostname」はMarkLogicサーバーのホストマシン、「port」はREST APIインスタン スが実行されているポート、「version」はAPIのバージョン番号です。グラフストア HTTPプロトコルは、RESTful HTTPリクエストから対応するSPARQL 1.1更新操作への マッピングです。『REST Application Developer’s Guide』の「

3.2.5.3 パラメータの指定

グラフエンドポイントでは、特定の名前付きグラフに対してオプションのパラメータを 利用できます。例えば以下のようになります。

http://localhost:8000/v1/graphs?graph=http://named-graph 省略した場合、デフォルトグラフが値なしのデフォルトパラメータとして指定されてい る必要があります。

例えば以下のようになります。

http://localhost:8000/v1/graphs?default

パラメータなしでGETリクエストが発行されると、グラフのリストがリスト形式で返 されます。詳細については、GET:/v1/graphsを参照してください。

3.2.5.4 サポートされている動詞

RESTクライアントでは、MarkLogicサーバーとやり取りするためにGETやPUTと いったHTTP動詞を使用します。次の表は、サポートされている動詞と、それぞれを使 用するために必要なロールを示したものです。

MarkLogicのREST APIリクエストを実行するために使用するロールでは、HTTP呼び

出しによってアクセスされるコンテンツに対して適切な権限(例えば、ターゲットデー タベース内のドキュメントを読み取りまたは更新するパーミッション)が必要です。

REST APIのロールと権限の詳細については、『REST Application Developer’s Guide』

の「Security Requirements」を参照してください。

注: このエンドポイントは、要素sem:tripleがルートであるドキュメント だけを更新します。

3.2.5.5 サポートされているメディア形式

Content-type HTTPヘッダでサポートされているメディア形式のリストについては、

「サポートされているRDFトリプルの形式」(31 ページ)を参照してください。

3.2.5.6 トリプルのロード

トリプルを挿入するには、PUTまたはPOSTリクエストを次の形式のURLにします。

http://host:port/v1/graphs?graph=graphname リクエストを構築するときは、次の手順に従います。

1. トリプルの読み込み先グラフを指定します。

動詞 説明 ロール

GET 名前付きグラフを取得します。 rest-reader POST 名前付きグラフにトリプルをマージするか、空のグラフ

にトリプルを追加します。

rest-writer

PUT 名前付きグラフ内のトリプルを置換するか、空のグラフ にトリプルを追加します。機能的には、DELETEの後に POSTを実行することと同等です。例については、「トリ プルのロード」(50 ページ)を参照してください。

rest-writer

DELETE 名前付きグラフ内のトリプルを削除します。 rest-writer

HEAD グラフが存在するかどうかをテストします。ボディなし で、名前付きグラフを取得します。

rest-reader

a. デフォルトグラフを指定する場合は、graphパラメータをデフォルトグラフに 設定します。

b. 名前付きグラフを指定する場合は、graphパラメータをその名前付きグラフに 設定します。

2. リクエストのボディにコンテンツを配置します。

3. Content-type HTTPヘッダでコンテンツのMIMEタイプを指定します。

「サポートされているRDFトリプルの形式」(31 ページ)を参照してください。

4. ユーザー資格情報を指定します。

トリプルがデフォルトディレクトリの/triplestoreに読み込まれます。

UNIXまたはCygwinコマンドラインインタプリタでのcurlコマンドの例を次に示し

ます。このコマンドは、PUT HTTPリクエストを送信して、ファイルexample.nt のコンテンツをXMLドキュメントとしてデータベースのデフォルトグラフに挿入 します。

# Windows users, see Modifying the Example Commands for Windows

$ curl -s -X PUT --data-binary '@example.nt' \ -H "Content-type: application/n-triples" \ --digest --user "admin:password" \

"http://localhost:8000/v1/graphs?default"

注: PUTまたはPOSTを使用してRESTエンドポイントでトリプルをロードす る場合は、デフォルトグラフまたは名前付きグラフを指定する必要があり ます。

上記の例では、次のcurlコマンドオプションを使用しています。

オプション 説明

-s サイレントモードを指定します。そのため、curlの 出力には、HTTPレスポンスヘッダは含まれません。

レスポンスヘッダを含める場合の代替オプションは -iです。

-X http_method curlで送信するHTTPリクエストのタイプ(PUT)。 サポートされているその他のリクエストは、GET、

POST、およびDELETEです。「サポートされている動 詞」(50 ページ)を参照してください。

REST APIの詳細については、『REST Client API』でセマンティックのドキュメントを参 照してください。RESTおよびセマンティックの詳細については、「RESTクライアント APIでセマンティックを使用する」(194 ページ)を参照してください。

3.2.5.7 レスポンスエラー

このセクションでは、MarkLogicのREST APIで採用されているエラーレポートの表記 規則について説明します。

MarkLogicのREST APIインスタンスに対するリクエストで障害が発生すると、エラー

レスポンスコードが返され、追加情報の詳細がレスポンスのボディに含まれます。

次のようなレスポンスエラーが返されます。

• パラメータがまったくないPUTまたはPOSTリクエストのときは、

400 Bad Requestが返されます。

• パースで障害が発生するペイロードのPUTまたはPOSTリクエストのときは、

400 Bad Requestが返されます。

• 存在しない(コレクションレキシコンにIRIが存在しない)グラフに対するGET リクエストのときは、404 Not Foundが返されます。

--data-binary data リクエストのボディに含めるデータ。データは、

--data-binaryの引数としてコマンドラインに直接 配置したり、@filenameを使用してファイルから読 み取ったりできます。Windowsを使用している場合は、

「@」演算子をサポートするcurlのWindowsバージョ ンが必要です。

-H headers リクエストに含めるHTTPヘッダ。このガイドの例で

は、Content-typeを使用しています。

--digest ユーザーのパスワードは、指定した認証手法によって

暗号化されます。

--user user:password リクエストを認証するために使用されるユーザー名と

パスワード。リクエストされた操作を実行するのに十 分な権限を持つMarkLogicサーバーユーザーを使用し ます。詳細については、『REST Application Developer’s Guide』の「Security Requirements」を参照してくだ さい。

オプション 説明

• サポートされていないシリアライゼーションのトリプルに対するGETリクエス トのときは、406 Not Acceptableが返されます。

• サポートされていない形式のPOSTまたはPUTリクエストのときは、

415 Unsupported Media Typeが返されます。

注: POSTおよびPUTリクエストのrepairパラメータは、trueまたは falseに設定できます。デフォルトではfalseです。trueに設定する と、適切にパースを実行しないペイロードであっても、パースを実行する トリプルを挿入します。falseに設定すると、どのようなペイロードエ ラーでも400 Bad Requestレスポンスが返されます。