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 № 1W 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")) ;