【发布时间】:2016-03-09 00:56:25
【问题描述】:
在本文档中 https://www.w3.org/TR/rdf-schema/#ch_introduction
上面写着:
rdfs:Resource 是 rdfs:Class 的一个实例。
不过也这么写:
这是一切的类
这是一个错字吗?类可以是实例吗?
【问题讨论】:
标签: rdf semantic-web ontology rdfs
在本文档中 https://www.w3.org/TR/rdf-schema/#ch_introduction
上面写着:
rdfs:Resource 是 rdfs:Class 的一个实例。
不过也这么写:
这是一切的类
这是一个错字吗?类可以是实例吗?
【问题讨论】:
标签: rdf semantic-web ontology rdfs
这实际上是一个有趣的问题。我只是想在 CaptSolo 的回答中添加您的评论:
但是我可以将我的自定义类定义为实例的实例吗? (我非常怀疑)
这不是你是否“可以”做某事(至少在这种情况下不是)的问题,而是你所做的是否有意义的问题。毕竟,语义网是建立在任何人都可以对任何事情说任何话的前提下的。有时会产生后果,这可能会导致对您的数据进行“逻辑”推断。
所以这个是有道理的:
:foo a rdfs:Class.
:bar a :foo.
虽然这个没有:
:george a foaf:Person.
:foo a :george.
你能同时断言吗?从技术上讲,是的,我认为没有一家三合店会阻止您这样做。但后者是不合逻辑的——每个 RDFS 类都被定义为其实例的集合,因此您将一个人“George”视为某种概念。如果你的本体或数据没有意义,那么没有人会使用它。
【讨论】:
:george a foaf:Person . :foo a :george. 实际上是有道理的。假设:foo 是:george,当时他还是个少年。他的:foaf:age 是"13 years old",他的身高是"1.38 m"。 :george 还有其他实例。一个刚结婚,一个a :Toddler,一个a :DeadPerson。
所有 RDFS 类都是 rdfs:Class 类的实例。由于 rdfs:Resource 是所有事物的类,它也是一个类,因此是 rdfs:Class 的一个实例。
如果您认为 RDFS 本身是在 RDFS 中定义的,这可能是有道理的。如果不是rdfs:Class 本身,您会将rdfs:Class 定义为其他什么类型?
关于“类可以是实例吗?” - 在定义本体时,您将类定义为rdfs:Class 或owl:Class 的实例。从技术上讲,它们已经是[这些类的]实例。
【讨论】: