RDF对subClassOf的正确方法

时间:2010-05-13 12:22:59

标签: rdf

这两种方法有什么区别?

A)

<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:tur="http://www.blah.com/turismo#">

<rdf:Description rdf:about="http://www.blah.com/turismo#plaza">
    <rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
</rdf:Description>

<rdf:Description rdf:about="http://www.blah.com/turismo#plazaSinFuente">
    <rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
    <rdfs:subClassOf rdf:resource="http://www.blah.com/turismo#plaza"/>
</rdf:Description>

b)中

<rdf:RDF
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
   xmlns:tur="http://www.blah.com/turismo#">

    <rdfs:Class rdf:ID="plaza"/>

<rdfs:Class rdf:ID="plazaSinFuente">
        <rdfs:subClassOf rdf:resource="#plaza"/>
    </rdfs:Class>

2 个答案:

答案 0 :(得分:5)

在这里你有一个很好的比较:http://www.ibm.com/developerworks/xml/library/x-tiprdfai.html

引用结论:

  

至于在rdf:ID和rdf:about之间进行选择,如果你描述的资源在描述它的RDF文件之外没有真正有意义的位置,你很可能会想要使用前者。也许它是一个本地或便利记录,甚至是抽象或现实世界对象的代理(虽然我建议你在RDF中描述这些事情时会非常谨慎,因为它会导致各种形而上学的混淆;我只有一种做法使用RDF描述对计算机有意义的记录。 rdf:当您引用具有全球知名标识符或位置的资源时,通常可以采用这种方法。

答案 1 :(得分:3)

在示例中,rdf旁边还有另一个区别:ID和rdf:about。如果您使用rdf:Description,那么您提供了一般资源的描述,并且可能提供单独的类型语句。

如果容器元素与第二个示例中的rdfs:Class不同,那么您还提供类型信息。

编码信息相同,但第二种编码更简洁,更易读。

此外,您应该使用大写字母:Plaza和PlazaSinFuente启动Class localName。