在构建语义Web应用程序时,OWL是如何实际使用的?

时间:2012-07-20 19:39:05

标签: rdf owl triplestore

我一直在阅读有关RDF和OWL等语义Web技术的内容,并且对在我现有的关系数据库之上构建RDF /三重存储语义数据库的可能性很感兴趣。这只是一个R& D练习,看看我能做些什么。

我喜欢OWLIM的外观,但有些基础知识让我失望。究竟是什么意思建立然后使用OWL本体?你用Protege之类的东西构建它,然后将它导入你的存储库吗?或者本体是您开发的与回购交流的软件的副产品?

这是一个新手问题,但我不确定OWL在哪些方面符合宏大的秩序......如果我没有四处寻找指导,我不会问这个问题。

3 个答案:

答案 0 :(得分:9)

我认为您 使用OWL构建应用程序的具体方式并不存在。好吧,你甚至不需要用它来构建一个semweb应用程序。

一般来说,我认为人们倾向于使用OWL。我认为其中一个主要是推理。他们使用OWL2 profiles之一定义对其应用程序重要的概念,然后使用reasoner根据其本体推断新知识。现在甚至有一些工作使用OWL本体作为完整性约束的模式。

在其他情况下,人们将其用作文档工件,以便能够概述其数据中的内容,但是他们不会更正式地使用它。

其间有一些零碎的用例,RDF schemas有类似的用法,可以像OWL本体那样使用,只是表达能力较低或类似SKOS这样的用于在您的应用程序中简单地定义分类法,而不附加任何正式的表达性。

Protege前进是一个好的开始。这将让您探索构建本体的一些基础知识,并且大多数reasoners都可以作为插件使用,因此您还可以探索如何构建您的本体以及您可以获得什么样的推论。

一旦你有了本体论,如果你想将它用于文档以外的其他东西,即推理,你必须将它加载到推理器中(PelletFact++,{{3 }},RacerPro)或执行OWL推理的数据库(HermiTStardog)。如果您不担心推理,那么您可以将其放入任何三元店,通过OWLIMSesame(如果您使用的是Java)访问它,并且仍然可以查询明确的事实通过Jena

所以我想简短的回答是没有正确的方法来使用OWL,它被用于各种不同的容量。有人认为你可能会觉得有趣的是W3C保留了一个SPARQL的页面。这些案例研究讨论了公司遇到的问题以及他们如何使用语义技术解决这些问题。您可以阅读其中的一些内容,以便更好地了解各行各业的人们如何利用该技术。

答案 1 :(得分:1)

有许多三元组使用关系数据库作为后端。

查看Apache Jenaopenrdf Sesame以查找包含rdbms和“native”(纯三元组)后端的三重存储。

此外,我强烈建议您查看D2RQ,它通过三重存储重叠访问现有关系存储中的数据。

列表较长,但这些都是很好的起点。

答案 2 :(得分:1)

是的,您可以在Protege中设计您的本体,然后将其导入您的Triple Store。如果您的Triple Store支持推理并且启用了它,则Sparql查询将产生不同的结果。

例如,您可以将“related-to”定义为“已婚”,“孩子”,“父母”和“兄弟姐妹”的超级属性。然后你可以要求所有“相关人”。

开始使用独立的三重商店体验,以了解该技术。抛开与RDB的接口,直到您熟悉基础知识。