转载

RDFS简介

RDFS简介

这篇博客简单介绍一下RDFS的基本语法,和一些简单的推理规则

其中难免有错误,欢迎评论指出,我会立即回复的。

在上篇RDF的介绍中知道,RDF是领域无关的,而RDFS可以对特定领域进行

描述。具体得,RDFS是通过描述subClassOf, subPropertyOf关系,还有对

Property(属性)的domain(定义域), range(值域)进行约束,来实现对特定领域

描述。

下面举一个简单的例子,来说明RDFS具体是如何描述特定领域的层次关系。

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
    <rdfs:Class rdf:ID="motorVehicle"/>
    <rdfs:Class rdf:ID="van">
        <rdfs:subClassOf rdf:resource="#motorVehicle"/>
    </rdfs:Class>
    <rdfs:Class rdf:ID="truck">
        <rdfs:subClassOf rdf:resource="#motorVehicle"/>
    </rdfs:Class>
    <rdfs:Class rdf:ID="passengerVehicle">
        <rdfs:subClassOf rdf:resource="#motorVehicle"/>
    </rdfs:Class>
     <rdfs:Class rdf:ID="miniVan">
        <rdfs:subClassOf rdf:resource="#van"/>
        <rdfs:subClassOf rdf:resource="passengerVehicle"/>
    </rdfs:Class>
</rdf:RDF>

一些简单的推理规则

P r o p V a l ( s u b C l a s s O f , ? c , ? c ) T y p e ( ? c , C l a s s ) T y p e ( ? c , C l a s s ) ? ? x ( T y p e ( ? x , ? c ) T y p e ( ? x , ? c ) ) P o r p V a l ( P , S , O ) , S , P , O ) , ? c , s u b C l a s s O f , ? c ) T y p e ( ? x , ? c ) ? x c PropVal(subClassOf, ?c, ?c^{&#x27;})\rightarrow Type(?c,Class)\wedge Type(?c^{&#x27;}, Class) \\\wedge \forall ?x(Type(?x,?c)\rightarrow Type(?x,?c^{&#x27;})) \\ PorpVal(P,S,O),代表三元组(S,P,O),比如上面就是(?c,subClassOf,?c{&#x27;})\\ Type(?x,?c{&#x27;})代表?x是?c{&#x27;}的实例

上面的规则代表如果类A是类B的一个子类,那么,类A的实例也是类B的实例

P r o p V a l ( s u b P r o p e r t y O f , ? p , ? p ) T y p e ( ? p , P r o p e r t y ) T y p e ( ? p , P r o p e r t y ) ? ? r ? v ( P r o p V a l ( ? p , ? r , ? v ) P r o p V a l ( ? p , ? r , ? v ) ) PropVal(subPropertyOf, ?p, ?p^{&#x27;})\rightarrow Type(?p,Property)\wedge Type(?p^{&#x27;}, Property) \\\wedge \forall ?r ?v(PropVal(?p,?r,?v)\rightarrow PropVal(?p^{&#x27;},?r,?v))
上面的规则代表如果属性A是属性B的一个子属性,那么,如果r,v满足属性A关系,那么r,v必满足属性B关系

正文到此结束
本文目录