Как запросить RDF/OWL, используя библиотеку семантической сети SWI-Prolog?

StackOverflow https://stackoverflow.com/questions/6327167

Вопрос

Как я могу использовать библиотеку семантической сети SWI-Prololog, чтобы внести запрос в файл OWL/RDF и извлечь некоторую информацию?

Файл OWL/RDF имеет информацию обо всех пакетах Debian, поэтому мне нужно сделать запрос, чтобы найти зависимости от пакета.

Например:

Файл OWL структурирован следующим образом:

package: A

Depends:

package: B

pacakge: C

Как я могу загрузить файл OWL/RDF в сценарий PROLOG и каков синтаксис для создания запроса в сценарии PROLOG, так что я поместил в качестве параметра и выходы скрипта B и C?

Это было полезно?

Решение

Вот как вы загружаете 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')) ;
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top