MarkLogicには、セマンティック推論で使用できる複数のAPIが用意されています。
セマンティックAPIは、実際の推論クエリの一部として使用できます(クエリするト リプルおよび適用するルールを指定します)。データベースAPIは、特定のデータベー スによって推論で使用されるルールセットを選択する目的で使用できます。管理API は、アプリケーションサーバーまたはタスクサーバーで推論に使用されるメモリを制御 できます。
• セマンティックAPI
• データベースルールセットAPI
• 管理API
7.5.1 セマンティックAPI
MarkLogicのセマンティックAPIは、トリプル管理、推論、および個々のクエリで
(またはデータベースのデフォルトで)使用されるルールセットの指定に使用できます。
ストアは、クエリで評価するトリプルのサブセットを識別するために使用されます。
セマンティック
API 説明
sem:store sem:sparqlのクエリ引数は、sem:storeを利用して、クエ リの一部として評価するトリプルのソースを示すことができ ます。複数のsem:storeコンストラクタを指定した場合、
すべてのソースからのトリプルがマージされ、一体となってク エリされます。
sem:storeには、cts:queryとともに1つあるいは複数のオ プションを含ませることで、sem:sparqlクエリの一部として 評価するトリプルのスコープを制限できます。sem:storeパ ラメータは、 sem:sparql-updateおよび
sem:sparql-valuesと併用することもできます。
注: sem:in-memory-store関数は、推奨されないsem:sparql-triples 関数(MarkLogic 7で使用可能)ではなくsem:sparqlとの併用を優先し てください。 現在は、sem:sparqlのcts:query引数も推奨されてい ません。
インメモリのトリプルに基づくストア(つまり、sem:in-memory-storeによって作 成されたストア)でsem:sparql-updateを呼び出すと、ディスク上にはないインメ モリのトリプルを更新できないため、エラーが発生します。同様に、複数のストアを
sem:sparql-updateに渡す場合も、それらのうちのいずれかがインメモリのトリプ
ルに基づく場合は、エラーが発生します。
7.5.2 データベースルールセットAPI
次のデータベースルールセットAPIは、データベースに関連付けられたルールセット を管理する目的で使用します。
sem:in-memory-store
sem:storeを返します。これは、 引数として渡される
sem:triple値からのトリプルの集まりを表現します。現在の
データベースで設定されたデフォルト ルールセットは、
sem:in-memory-storeで作成されたsem:storeには影響し ません。
sem:ruleset-store
元のトリプルに加え、sem:store内のトリプルにルールセッ トを適用することで生成されるトリプルの集まりを表現する新 しいsem:storeを返します。
ルールセットAPI 説明
admin:database-ruleset データベースで推論に使用するルールセット
要素。1つあるいは複数のルールセットを推 論に使用できます。デフォルトでは、ルール セットは設定されていません。
admin:database-get-default-rulesets
データベースのデフォルトルールセットを返 します。
admin:database-add-default-ruleset
データベースで推論に使用するルールセット を追加します。1つあるいは複数のルール セットを推論に使用できます。デフォルトで は、ルールセットは設定されていません。
セマンティック
API 説明
7.5.3 管理API
次の管理APIは、推論に割り当てるメモリサイズ(デフォルト、最小、および最大)
を管理する目的で使用します。
admin:database-delete-default-ruleset
データベースが推論に使用するデフォルト ルールセットを削除します。
管理API(admin:) 説明
admin:appserver-set-default-inference-size
このアプリケーションサーバーにおけるリ クエストの推論サイズのデフォルト値を指 定します。
admin:appserver-get-default-inference-size
アプリケーションサーバーによる推論で、
sem:storeが使用できるデフォルトのメモ
リ量(MB単位)を返します。
admin:taskserver-set-default-inference-size
このタスクサーバーにおけるリクエストの 推論サイズのデフォルト値を指定します。
admin:taskserver-get-default-inference-size
タスクサーバーによる推論で、sem:store が使用できるデフォルトのメモリ量(MB単 位)を返します。
admin:appserver-set-max-inference-size
リクエストの推論サイズの上限を指定し ます。推論サイズは、このアプリケーショ ンサーバーでsem:storeが推論を実行す るために使用できる最大のメモリ量(MB単 位)です。
admin:appserver-get-max-inference-size
アプリケーションサーバーによる推論で、
sem:storeが使用できる最大のメモリ量
(MB単位)を返します。
admin:taskserver-set-max-inference-size
リクエストの推論サイズの上限を指定し ます。推論サイズは、このタスクサーバー でsem:storeが推論を実行するために使 用できる最大のメモリ量(MB単位)です。
admin:taskserver-get-max-inference-size
タスクサーバーによる推論で、sem:store が使用できる最大のメモリ量(MB単位)
を返します。
ルールセットAPI 説明