【发布时间】:2015-04-12 15:43:00
【问题描述】:
我正在寻找一种清晰的方法来在 virtuoso 服务器中清楚地使用 SWRL。例如,我使用 Protege 4.3 设计了一个本体,并使用 Protege 中的“规则”选项卡编写了 SWRL 规则。
Product(?P),hasName(?P,?N),inGroupB(?P,?B)->hasBug(?P)
我将我的 RDF 数据 (~3GB) 连同本体架构一起上传到了 Virtuoso 服务器。我试图回忆应该根据本体中的规则推断的数据,但查询返回空结果。 SPARQL 查询示例,它应该清楚地从上述规则返回推断关系,如下所示:
DEFINE input:inference <http://example.com/2/owl>
PREFIX e:<http://example.com/e/>
SELECT *
FROM <http://example.com/2/data>
WHERE
{
?P a e:Product ;
e:hasBug ?B
}
我相信我在将这些东西集成在一起时遇到了问题(RDF 数据、OWL 模式和 SWRL 规则)。我使用 Jena 和 Virtuoso Jena 驱动程序来加载数据、本体和运行 SPARQL 查询。关于如何让推理部分正常工作的任何建议?
【问题讨论】:
-
我在问题中没有看到任何与 Jena 相关的内容。
-
我使用 Jena 将 RDF 数据和本体自动上传到 virtuoso 中。
-
Virtuoso 是否支持 SWRL?我认为它仅限于一些 OWL 推理
标签: jena semantic-web owl protege virtuoso