RDF使用Schema来定义其类型系统,在定义类型时,RDF引入了部分面向对象的思想。由于RDF的图中主要包含以下几个部分,主语,谓语,宾语,文本。因此RDF Schema要做的主要就是为这不同的部分提供对应的一个类型。RDF Schema本身也是一个RDF文件。
a) 继承关系与实例关系
rdfs:subClassOf用于表示继承关系。三元组A rdfs:subClassOf B表示A是B的子类,这与Java当中的class A extends B等价。
rdfs:type用于表示实例关系。三元组A rdfs:type B表示A是B的一个实例,这与Java当中的A = new B()等价。
b) 类标记:
标记 |
说明 |
继承关系(rdfs:subClassOf) |
实例关系(rdfs:type) |
rdfs:Resource |
所有出现在RDF图中的对象都属于资源 |
|
rdfs:Class |
rdfs:Class |
主语和宾语。用于指明主语或宾语所属的类型 |
rdfs:Resource |
rdfs:Class |
rdfs:Literal |
文本 |
rdfs:Resource |
rdfs:Class |
rdfs:Datatype |
用于有类型文本,指定数据类型 |
rdfs:Class |
rdfs:Class |
rdf:XMLLiteral |
XML文本 |
rdfs:Literal |
rdfs:Datatype |
rdf:Property |
谓语 |
rdfs:Resource |
rdfs:Class |
rdfs:Container |
容器的基类 |
rdfs: Resource |
rdfs:Class |
rdf:Bag |
|
rdfs:Container |
rdfs:Class |
rdf:Seq |
|
rdfs:Container |
rdfs:Class |
rdf:Alt |
|
rdfs:Container |
rdfs:Class |
rdf:List |
集合 |
rdfs: Resource |
rdfs:Class |
rdf:nil |
空列表 |
|
rdf:List |
c) 类定义:
<rdf:Description rdf:about="A">
<rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class">
<rdfs:subClassOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
</rdf:Description>
等价于
<rdfs:Class rdf:about="A">
<rdfs:subClassOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
</rdfs:Class>
d) 范围与域:
rdfs:range用于指定宾语的范围。三元组P rdfs:range Q;A P B,在第一个三元组当中,我们规定了如果一个三元组使用了属性P,那么三元组当中的宾语必须是Q的实例。第二个三元组单中,由于使用了P,所以可以得出B必定是Q的实例。
rdfs:domain用于指定主语的范围。三元组P rdfs:range Q;A P B,在第一个三元组当中,我们规定了如果一个三元组使用了属性P,那么三元组当中的主语必须是Q的实例。第二个三元组单中,由于使用了P,所以可以得出A必定是Q的实例。
e) 属性标记,所有的标记都是rdfs:Proerpty的实例
标记 |
说明 |
域,主语(rdfs:domain) |
范围,宾语(rdfs:range) |
rdfs:range |
对宾语进行约束 |
rdfs:Class |
rdfs:Property |
rdfs:domain |
对主语进行约束 |
rdfs:Class |
rdfs:Property |
rdf:type |
用于定义实例关系 |
rdfs:Resource |
rdfs:Class |
rdfs:subClassOf |
用于定义继承关系 |
rdfs:Class |
rdfs:Class |
rdfs:subPropertyOf |
用于定义属性之间的继承关系。子属性的含义是指如果A是B的子属性,那么如果主语和宾语符合A关系,那么他们也符合B关系。 |
rdfs:Property |
rdfs:Property |
rdfs:label |
提供用户友好的标签 |
rdfs:Resource |
rdfs:Literal |
rdfs:comment |
对资源进行描述 |
rdfs:Resource |
rdfs:Literal |
rdfs:member |
用于表示集合与元素之间的关系 |
rdfs:Resource |
rdfs:Resource |
rdf:first |
用于指明某个资源是某个集合的首元素 |
rdf:List |
rdfs:Resource |
rdf:rest |
|
rdf:List |
rdf:List |
f) 属性定义
<rdf:Property rdf:about="B">
<rdfs:domain rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#List"/>
<rdfs:range rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#List"/>
</rdf:Property>