2011-06-13 16 views
9

Làm cách nào tôi có thể sử dụng Thư viện Web ngữ nghĩa SWI-Prolog để thực hiện truy vấn vào tệp OWL/RDF và trích xuất một số thông tin?Làm thế nào để truy vấn RDF/OWL bằng cách sử dụng Thư viện Web ngữ nghĩa của SWI-Prolog?

Tệp OWL/RDF có thông tin về tất cả các gói Debian nên tôi cần thực hiện truy vấn để tìm phụ thuộc gói.

Ví dụ:

File OWL được cấu trúc như sau:

package: A 

Depends: 

package: B 

pacakge: C 

Làm thế nào tôi có thể tải một OWL/nộp RDF vào một kịch bản Prolog và cú pháp để thực hiện một truy vấn trong là những gì Prolog kịch bản như vậy mà tôi đặt A như một tham số và kịch bản kết quả đầu ra B và C?

Trả lời

10

Đây là cách bạn nạp semweb thư viện:

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

Đây là cách bạn phân tích một tập tin/XML RDF và backtrack khắp gấp ba đối tượng-ngữ-đối tượng của nó:

?- 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

cảm ơn bạn rất nhiều ... đây chính xác là những gì tôi đang tìm kiếm. – codious

Các vấn đề liên quan