RDF Schema (RDFS)

RDF Schema (RDFS) 是对 RDF 的一种扩展。

RDF Schema 和 应用程序的类

RDF 通过类、属性和值来描述资源。

此外,RDF 还需要一种定义应用程序专业的类和属性的方法。应用程序专用的类和属性必须使用对 RDF 的扩展来定义。

RDF Schema 就是这样一种扩展。

RDF Schema (RDFS)

RDF Schema 不提供实际的应用程序专用的类和属性,而是提供了描述应用程序专用的类和属性的框架。

RDF Schema 中的类与面向对象编程语言中的类非常相似。这就使得资源能够作为类的实例和类的子类来被定义。

RDFS 实例

下面的实例演示了 RDFS 的能力的某些方面:

  1. <?xml version="1.0"?>
  2.  
  3. <rdf:RDF
  4. xmlns:rdf= "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  5. xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
  6. xml:base= "http://www.animals.fake/animals#">
  7.  
  8. <rdf:Description rdf:ID="animal">
  9. <rdf:type
  10. rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
  11. </rdf:Description>
  12.  
  13. <rdf:Description rdf:ID="horse">
  14. <rdf:type
  15. rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
  16. <rdfs:subClassOf rdf:resource="#animal"/>
  17. </rdf:Description>
  18.  
  19. </rdf:RDF>

在上面的例子中,资源 "horse" 是类 "animal" 的子类。

简写的例子

由于一个 RDFS 类就是一个 RDF 资源,我们可以通过使用 rdfs:Class 取代 rdf:Description,并去掉 rdf:type 信息,来把上面的例子简写一下:

  1. <?xml version="1.0"?>
  2.  
  3. <rdf:RDF
  4. xmlns:rdf= "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  5. xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
  6. xml:base= "http://www.animals.fake/animals#">
  7.  
  8. <rdfs:Class rdf:ID="animal" />
  9.  
  10. <rdfs:Class rdf:ID="horse">
  11. <rdfs:subClassOf rdf:resource="#animal"/>
  12. </rdfs:Class>
  13.  
  14. </rdf:RDF>

就是这样的!