【问题标题】:is it correct that a class can be an instance?一个类可以是一个实例是否正确?
【发布时间】:2016-03-09 00:56:25
【问题描述】:

在本文档中 https://www.w3.org/TR/rdf-schema/#ch_introduction

上面写着:

rdfs:Resource 是 rdfs:Class 的一个实例。

不过也这么写:

这是一切的类

这是一个错字吗?类可以是实例吗?

【问题讨论】:

    标签: rdf semantic-web ontology rdfs


    【解决方案1】:

    这实际上是一个有趣的问题。我只是想在 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
    【解决方案2】:

    所有 RDFS 类都是 rdfs:Class 类的实例。由于 rdfs:Resource 是所有事物的类,它也是一个类,因此是 rdfs:Class 的一个实例。

    如果您认为 RDFS 本​​身是在 RDFS 中定义的,这可能是有道理的。如果不是rdfs:Class 本身,您会将rdfs:Class 定义为其他什么类型?

    关于“类可以是实例吗?” - 在定义本体时,您将类定义为rdfs:Classowl:Class 的实例。从技术上讲,它们已经是[这些类的]实例。

    【讨论】:

    • 但是我可以将我的自定义类定义为实例的实例吗? (我非常怀疑)
    • 您专门询问了 RDFS,是的,您可以(即类也可以是其他类的实例)。虽然不知道你为什么想要那个。其他人会更好地了解 OWL(这通常是被禁止的,但答案可能比这更复杂)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多