我如何用 Protege 描述 OWL 中的 "John swims"?

How do i describe "John swims" in OWL with Protege?

我找到了一个解释不同关系的网页。

https://www.w3.org/2004/08/12-Yoshio/onNaryRelations.html#unary

但是缺少那部分代码,我无法使它们中的任何一个工作。

如何让它像 "John swims" 一样工作?

重要说明:您的 link 没有显示实际的 RDF。如页面摘要所述:

This page presents my (ongoing) proposal for a framework for presenting N-ary relationships.

相反,我的回答将向您展示如何定义必要的 classes 和属性来表达您正在尝试的内容。


RDF 只允许定义带有主语、谓语和宾语的语句或三元组。

<subject> <predicate> <object>
        I        like hamburgers
     John          is swimming

一个重要的谓词是 rdf:type(在 Turtle 文件中通常缩写为 a,例如您的 links 显示的那个),它表示个人是某个class。要以实际英语阅读,您可以使用 "is a".

<subject> <predicate> <object>
        I        am a Person
     John        is a Person
 Swimming       is an Activity

最后但同样重要的是,为了表达一个人执行activity,我们需要定义一个对象属性,performs,它有Person作为域,Activity 作为范围。

this Gist 中,您会找到一个可以在 Protégé 中打开的 Turtle 文件。这里重要的一行是第 40 行,其中定义了实际的 John performs Swimming 语句。