在RDF代码中使用rdfs:Datatype的必要性

时间:2017-05-25 05:08:35

标签: rdf rdfs

在第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是“数据类型类”。

如果我们不使用最后两行,我们会失去什么?

2 个答案:

答案 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所要求的),或者它没有,在这种情况下知道它是一种数据类型并没有真正帮助,因为它不足以确定哪些词法形式有效以及值空间是什么。

无论哪种方式,这两行都没有提供对任何应用程序感兴趣的进一步处理或蕴藏有用的信息,据我所知。