/ / Jak wysyłać zapytania do RDF / OWL za pomocą Semantic Web Library SWI-Prolog? - prolog, rdf, swi-prolog, sieć semantyczna, sowa

W jaki sposób zapytać RDF / OWL przy pomocy Semantic Web Library SWI-Prolog? - prolog, rdf, swi-prolog, semantyczna sieć, sowa

Jak mogę użyć SWI-Prolog Semantic Web Library, aby zapytanie do pliku OWL / RDF i wyodrębnić pewne informacje?

Plik OWL / RDF zawiera informacje o wszystkich pakietach Debiana, więc muszę wykonać zapytanie, aby znaleźć zależności pakietów.

Na przykład:

Plik OWL ma następującą strukturę:

package: A

Depends:

package: B

pacakge: C

W jaki sposób mogę załadować plik OWL / RDF do skryptu Prolog i jaka jest składnia, aby zapytanie w skrypcie Prologu umieściło A jako parametr, a skrypt wyprowadził B i C?

Odpowiedzi:

10 dla odpowiedzi № 1

W ten sposób ładujesz semweb biblioteka:

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

W ten sposób analizujesz plik RDF / XML i powracasz do wszystkich jego potrójnych obiektów-predykatów-obiektów:

?- 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")) ;