SPARQL中的推理

时间:2015-03-05 11:42:25

标签: rdf owl protege

对于我的单身,我正在学习RDF / OWL / SPARQL。我正在尝试构建一个使用自动分类的Web应用程序,我使用Protege来开发本体。现在我有一个类智能手机和一个子类Fast_Smartphone,它具有相当于属性设置为:

Smartphone
and (hasCores some integer[>=4])

现在,当我转到DL查询选项卡并选择Fast_smartphone类的实例时,它会成功显示所有智能手机实例并具有4个或更多内核。但是,当我进入SPARQL查询选项卡并键入以下查询时:

SELECT *
    WHERE { ?x ?y uni:Fast_smartphone}

没有结果。使用以下查询:

SELECT *
        WHERE {uni:Fast_smartphone ?x ?y }

成功返回:
      X
equivalentClass

ý

智能手机和(hasCores一些整数[> = 4])

推理者已开启并同步(隐士)。 我不知道为什么它不会返回与DL选项卡相同的结果。我做错了吗?

1 个答案:

答案 0 :(得分:1)

Protege中的

SPARQL Query不允许推理。隐士是一个非常好的分类推理器,但我不认为它用于RL推理。

我通常会建立我的关于Protege的本体,并使用Hermit测试一致性和分类。但是,当我需要使用SPARQL查询数据集时,我导出数据并将其放入三元组(我认为Stardog是一个很好的数据集。)