我是该领域的新手,我对RDFS词汇的定义有些困惑。
具体来说,词汇表定义rdfs:XMLLiteral
是rdfs:Literal
的子类(rdfs:XMLLiteral
和rdfs:Literal
使用rdfs:subClassOf
连接) 。
这很简单,很容易理解。但是,词汇表还说类rdfs:XMLLiteral
是rdfs:DataType
的实例(由rdf:type
链接)。因此,在这种情况下,考虑到rdf:type
和rdfs:subClassOf
都是类,为什么使用rdfs:XMLLiteral
而不是rdfs:DataType
。
我个人的想法是,因为A类和B类之间的子类关系(假设A∈B)意味着每个属于A的个人也都属于B。
因此,假设我们有一个属于rdfs:XMLLiteral
类的“ x”,如果rdfs:XMLLiteral
和rdfs:DataType
之间存在子类关系,则“ x”也是一个{{ 1}},这不是事实(因为“ x”只是一个单独的文字)。此外,由于rdfs:DataType
和rdfs:DataType
是根据词汇通过rdfs:Class
连接的,因此,如果rdfs:subClassOf
和{{ 1}}存在。因此,这样的子类关系不应该存在。
我不知道我的想法是否正确,我希望有人能提出一些建议来帮助我理解RDFS词汇表中的子类关系和实例关系。
答案 0 :(得分:3)
如果您对集合理论关系ε和understand有很好的理解,那么您就有一个了解rdf:type
和rdfs:subClassOf
的良好基础。您对rdf:XMLLiteral
的描述非常准确。但是:
假设A∈B
这意味着A属于B,不不是每个属于A的个人也都属于B。
A rdf:type B
可以(大致)理解为“ A∈B”,而A rdfs:subClassOf B
可以(大致)理解为“ A⊆B”。
一个集合可以是另一个集合的元素,也可以包含在另一个集合中,也可以相同。例如{a}⊆{a,{a}}和{a}∈{a,{a}}。
但是,与集合论的类比大致上是正确的,因为RDF允许类成为其自身的实例,而集合论则禁止将集合作为其自身的元素(假设the axiom of regularity)。 RDF仍“起作用”的原因是由于定义了its semantics的方式,其中rdf:type
并未真正解释为集合成员关系,而rdfs:subClassOf
并未真正解释为集合包含