关于语义网、RDF和OWL

3

RDF和OWL之间有什么关系?

看起来RDF用于描述Web资源,那么OWL能做同样的事情吗?还是OWL只能描述Web本体?我对它们之间的关系以及在语义Web中每个人的作用感到困惑。

4个回答

4
OWL(Web本体语言)用于正式描述本体。它不用于描述实际资源(但您也可以在本体中创建实例。是的,在某种意义上,这会令人感到困惑,我很抱歉),而是提供有关它们的元数据(类、子类、属性、子属性、属性的域和范围等)。作为一个非常粗略的近似,您可以认为OWL和RDFS(RDF模式)属于同一类别,并且可以将RDF视为用于表达语义Web世界中的所有内容(包括实际资源以及OWL和RDFS中的描述)的基础(有些抽象)语言。

对于详细介绍,建议参考以下在线介绍:

如果想要一个(可能)易于理解的入门书籍,我建议:


4
一些好的答案已经存在。我想强调的一点是OWL为您提供了一个词汇表,用于对您想要描述的资源进行逻辑断言。例如,在RDF中,您可以说:“这个资源:r是一辆汽车,因为它是我命名的所有汽车类的成员:Car的成员。” 您还可以说“这个资源:r是细菌,因为它是:Bacteria类的成员。” 在RDF中不能做的是说“等等,这是不一致的:没有任何东西可以既是汽车又是细菌”,因为RDF无法表达这种意思。使用OWL,您还可以说“类:Car:Bacteria是不相交的:根据定义,它们没有共同的成员”。不相交是您在OWL中可以声明的一种逻辑断言,而无法在RDF中声明。
这是否对您重要完全取决于您的应用程序。由OWL定义的逻辑断言具有正式的数学语义,使它们可以由推理引擎处理。例如,这可以用于注意到用户错误地断言:r为不可能的汽车/虫子,并通知他们。或者它可以用于得出隐含在您的描述集合中但未明确说明的新信息。对于某些应用程序,这种形式的推理是必不可少的,对于其他应用程序则无关紧要。

这是否意味着我们可以编写一个RDF文件来描述一些资源,并且可以在另一个文件中使用OWL来描述这些资源之间的关系?所以在使用OWL之前,我应该先有RDF文件吗? - Kurt Shaw
1
可以和不可以 :) 是的,您可以将信息模块化为任意数量的文件。资源之间的关系通常会在RDF中描述,而OWL可以帮助您表达关系的本质。由于StackOverflow喜欢每个页面只有一个问题,如果您想要更多建议,我建议您创建一个新的问题主题,并提供您正在尝试建模的实际示例。然后我们可以在该主题下提出一些具体的建议。 - Ian Dickinson

1

OWL是比RDF更高级的语言。它具有一些RDF无法表达的能力,例如:

• 表示Web中不同文档中定义的类之间的关系;

• 通过现有类的并集、交集和补集构建新类;

• 对类的属性的数量和类型添加约束;

• 确定一个类的所有成员是否将具有特定属性,或者只有其中一些可能具有该属性;

• 表示属性是否对称、非对称、传递等。


1

如果你只是生成或消费语义Web数据(RDF),你不需要担心OWL。它是一种用于RDF数据的机器可读模式语言,但你可以通过理解人类可读的文本或用于你感兴趣数据类型的示例来使用。

关系有点复杂,因为OWL文件是用RDF编写的,并描述了RDF数据。

我在工业界使用SemWeb技术已经有6年了,在那段时间里从未阅读或编写过OWL文件。在此之前,我在一个研究实验室工作,我们有时会使用OWL。


你的意思是说不必在文本编辑器中编写OWL代码,而是使用像Protege这样的图形界面工具?如果需要升级无法找到的知识该怎么办? - crapthings

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接