2011-06-13 12 views
9

¿Cómo puedo usar la biblioteca web semántica de SWI-Prolog para realizar una consulta en el archivo OWL/RDF y extraer algo de información?¿Cómo consultar RDF/OWL usando la biblioteca web semántica de SWI-Prolog?

El archivo OWL/RDF tiene información sobre todos los paquetes de Debian, así que necesito realizar la consulta para encontrar las dependencias del paquete.

Por ejemplo:

El archivo OWL está estructurado de la siguiente manera:

package: A 

Depends: 

package: B 

pacakge: C 

¿Cómo puedo cargar un búho/archivo RDF en un guión de Prolog y cuál es la sintaxis para realizar una consulta dentro de la Prólogo script de modo que pongo A como un parámetro y el script genera B y C?

Respuesta

10

Así es como se carga el semweb biblioteca:

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

Esta es la forma de analizar un archivo RDF/XML y dar marcha atrás sobre todos sus triples sujeto-predicado-objeto:

?- 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')) ; 
+0

muchas gracias ... esto es exactamente lo que estaba buscando. – codious

Cuestiones relacionadas