在第143页的教科书(A Developer’s Guide to the Semantic Web by Yu, Liyang)中,它表明,“它总是有用的 清楚地声明给定的URI表示数据类型,如下所示:“。然后它显示以下代码:
<rdf:Property
rdf:about1⁄4"http://www.liyangyu.com/camera#model">
<rdfs:domain rdf:resource="#Camera"/>
<rdfs:range
rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
</rdf:Property>
<rdfs:Datatype
rdf:about="http://www.w3.org/2001/XMLSchema#string"/>
我不明白最后两行的必要性。据我所知,XMLSchema#string
对任何字符串都有好处。正如描述here一样,rdfs:Datatype
是“数据类型类”。
如果我们不使用最后两行,我们会失去什么?
答案 0 :(得分:1)
所有原始类型differ,虽然reasoners可能或可能think以相反的方式。
所有原始类型的超类型(⊆)为rdfs:Literal
,不要与rdf:PlainLiteral
混淆,类似于xsd:anySimpleType
。
所有基元类型的类型(∈)为rdfs:Datatype
。
在上一版(2011年)中,溧阳宇在你引用的文章后写道:
下一个例子将显示使用rdfs:Datatype不仅是一个好处 练习,但在某些情况下也是必要的。
我相信,这个例子在2014年版本中并未排除。
答案 1 :(得分:1)
最后两行似乎毫无用处。这些行表示xsd:string
是一种数据类型。 RDF引擎已经知道xsd:string
是一种数据类型,并且可以处理这种类型的文字(大多数RDF引擎就是这种情况,无论如何都是RDF 1.1所要求的),或者它没有,在这种情况下知道它是一种数据类型并没有真正帮助,因为它不足以确定哪些词法形式有效以及值空间是什么。
无论哪种方式,这两行都没有提供对任何应用程序感兴趣的进一步处理或蕴藏有用的信息,据我所知。