本文介绍了在构建语义Web应用程序时如何实际使用OWL?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I've been reading about semantic web technologies such as RDF and OWL, and am intrigued about the possibilities of building an RDF / triple-store semantic database on top of my existing relational DBs. It's simply an R&D exercise, to see what I can do.

我喜欢 OWLIM 的外观,但是一些基本知识使我不满意.一个人究竟应该如何构建然后再使用OWL本体?您是否使用 Protege 之类的东西来构建它,然后将其导入到您的存储库中?还是本体是您开发的用于与仓库进行通信的软件的副产品?

I like the look of OWLIM, but some basics are failing me. How exactly is one meant to build and then use an OWL ontology? Do you build it with something like Protege, then import it into your repository? Or is the ontology a byproduct of the software you develop to communicate with the repo?

这是一个新手问题,但是我不确定OWL在哪里适合什么……我不会问这个问题,如果我没有四处寻找指导的话.

It's a newbie question, but I'm just not sure where OWL fits into the grand order of things... I wouldn't ask the question if I hadn't looked around for guidance.

推荐答案

我认为您没有有使用 OWL 来构建应用程序.地狱,您甚至不需要使用它来构建semweb应用程序.

I don't think there's a specific way you have to use OWL to build an application. Hell, you don't even need to use it to have built a semweb application.

通常,我认为人们倾向于使用OWL的几种方式.我认为主要理由之一就是推理.他们使用 OWL2配置文件之一,然后使用原因以根据他们的本体推断新知识.现在甚至有一些工作可以使用OWL本体作为完整性约束的模式.

Generally, I think there's a couple ways people tend to use OWL. I think one of the primary ones is for reasoning. They define concepts important for their application using one of the OWL2 profiles and then use a reasoner to infer new knowledge based on their ontology. There is even some work now in using OWL ontologies as schemas for integrity constraints.

在其他情况下,人们将其用作文档工件,只是能够概述其数据中的含义,但是他们并没有更正式地使用它.

In other cases, people use it as a documentation artifact to just be able to outline what it is that is in their data, but they don't use it more formally than that.

两者之间有一些零散的用例,并且 RDF架构也有类似的用途可以像OWL本体一样使用,只是具有较低的表现力或类似 SKOS 可用于简单地在应用程序中定义分类法,而无需附加任何正式的表达方式.

There are some piecemeal use cases in between, and there are similar uses for RDF schemas which can be use like OWL ontologies, just with a lower level of expressive-ness or something like SKOS which can be used to simply define a taxonomy within your application without any formal expressivity attached to it.

开始保护是一个好的开始.这样一来,您就可以探索构建本体的一些基础知识,并且大多数推理程序都可以作为插件使用,因此您还可以探索如何构建本体以及可以得到什么样的推论.

Getting Protege going is a good start. That will let you explore some of the basics of building an ontology and most of the reasoners are available as plugins, so you can also explore how you can build your ontology and what kind of inferences you can get as a result.

一旦有了本体,如果您想将其用于文档以外的其他用途(例如推理),则必须将其加载到推理器中(颗粒事实 RacerPro HermiT )或执行OWL推理的数据库( Stardog OWLIM ).如果您不担心推理,则可以将其放入任何三元组中,通过芝麻 Jena (如果您使用的是Java),并且仍然能够通过 SPARQL .

Once you have an ontology, if you want to use it for something other than documentation, ie reasoning, you'll have to load it into a reasoner (Pellet, Fact++, RacerPro, HermiT) or a database that does OWL reasoning (Stardog, OWLIM). If you're not worried about reasoning, then you can drop it into any triplestore out there, access it via Sesame or Jena (if you're using Java), and still be able to query the explicit facts via SPARQL.

因此,我想简短的答案是没有正确的方法来使用OWL,它会以各种不同的能力使用.有人认为您可能会发现有趣的是W3C的页面上保留了语义网列表应用程序.这些案例研究讨论了公司所遇到的问题,以及他们如何使用语义技术解决问题.您可以通读其中的一些内容,以更好地了解各个行业的人们如何利用该技术.

So I guess the short answer is that there is not a correct way to use OWL, it gets used in a variety of different capacities. One think you might find interesting is the W3C keeps a page with a list of semantic web applications. These case studies talk about problems companies had and how they approached solving them using semantic technologies. You can read through a few of them to get a better idea of how folks in various industries are making use of the technology.

这篇关于在构建语义Web应用程序时如何实际使用OWL?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-29 02:17