9

SWI-PrologセマンティックWebライブラリを使用してOWL/RDFファイルにクエリを実行し、いくつかの情報を抽出するにはどうすればよいですか?

OWL / RDFファイルにはすべてのDebianパッケージに関する情報が含まれているため、パッケージの依存関係を見つけるためにクエリを実行する必要があります。

例えば:

OWLファイルは次のように構成されています。

package: A

Depends:

package: B

pacakge: C

OWL / RDFファイルをPrologスクリプトにロードするにはどうすればよいですか?また、パラメーターとしてAを入力し、スクリプトがBとCを出力するように、Prologスクリプト内でクエリを実行するための構文は何ですか?

4

1 に答える 1

11

これは、semwebライブラリをロードする方法です。

?- use_module(library(semweb/rdf_db)).

これは、RDF/XML ファイルを解析し、主語-述語-目的語のすべてのトリプルをバックトラックする方法です。

?- rdf_load('file.owl'), rdf(X, Y, Z).
% Parsed "file.owl" in 0.06 sec; 2,107 triples
X = 'http://www.co-ode.org/ontologies/pizza/pizza.owl',
Y = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#type',
Z = 'http://www.w3.org/2002/07/owl#Ontology' ;
X = 'http://www.co-ode.org/ontologies/pizza/pizza.owl',
Y = 'http://www.w3.org/2002/07/owl#versionInfo',
Z = literal(type('http://www.w3.org/2001/XMLSchema#string', 'version 1.5')) ;
于 2011-06-13T09:04:36.020 に答える