【问题标题】:How to query RDF/OWL using SWI-Prolog's Semantic Web Library?如何使用 SWI-Prolog 的语义网络库查询 RDF/OWL?
【发布时间】:2011-09-13 16:56:00
【问题描述】:

如何使用 SWI-Prolog Semantic Web Library 查询 OWL/RDF 文件并提取一些信息?

OWL/RDF 文件包含有关所有 Debian 软件包的信息,因此我需要进行查询以查找软件包依赖项。

例如:

OWL 文件的结构如下:

package: A

Depends:

package: B

pacakge: C

如何将 OWL/RDF 文件加载到 Prolog 脚本中,以及在 Prolog 脚本中进行查询以使我将 A 作为参数而脚本输出 B 和 C 的语法是什么?

【问题讨论】:

    标签: prolog rdf swi-prolog semantic-web owl


    【解决方案1】:

    这是您加载 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')) ;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-02
      • 1970-01-01
      • 1970-01-01
      • 2016-02-01
      相关资源
      最近更新 更多