9

如何使用 SWI-Prolog Semantic Web Library 查询 OWL/RDF 文件并提取一些信息?

OWL/RDF 文件包含有关所有 Debian 软件包的信息,因此我需要进行查询以查找软件包依赖项。

例如:

OWL 文件的结构如下:

package: A

Depends:

package: B

pacakge: C

如何将 OWL/RDF 文件加载到 Prolog 脚本中,以及在 Prolog 脚本中进行查询以使我将 A 作为参数并且脚本输出 B 和 C 的语法是什么?

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 回答