• 资源描述框架模式RDFS

    普通类
    • 支持
    • 批判
    • 提问
    • 解释
    • 补充
    • 删除
    • 前言

          RDF定义了一个简单的模型,通过指定的性质和相应的值描述资源之间的关系,可以表示一个实体关系图。(类似于E-R图)
    但RDF没有定义任何一个特定领域的语义,没有假定某个领域,只提供了一个领域无关的机制来描述元数据,因此还需要其他工具来描述领域相关的语义,这便是RDFS所要实现的目标。【不了解RDF?先学习一下 RDF 的知识吧】
          RDFS的工作:(1)描述类与它的子类之间的关系,可用于定义某个特定领域的分类方法;(2)定义类的性质。
          可以说,RDFS提供了一些建模原语,用来定义一个描述类、类与类之间关系的简单模型,相当于为描述网上资源的RDF语句提供了一个词汇表。从而增强了RDF对资源的描述能力。

    RDF和RDFS最大的区别是什么?

    • 基本概念

      基本模型是:class definition and subClassOf statement,property definition and subPropertyOf statement,domain and range statement(To restrict the combination of class and property ),type statement(To declare a instance/resource of class)。使用这些原语定义一个领域的知识。
          RDFS中的subClassOf层次结构如下:




          RDFS是RDF的词汇描述语言,继承了所有RDF中定义的概念,并且有进一步的扩展,基本概念如下:
    资源可以被划分成各种class,class的成员叫instance of class,类(rdf:Class)本身也是资源(rdf:Resource),通常用RDF URI Reference标识,可以用RDF的性质(rdf:Property)来描述。rdf:type性质可以用来声明一个资源是一个类的实例。
    每个类都关联着一个实例集合,叫做这个类的扩展类。两个不同类可以有相同扩展类。但性质一般不同。一个类可以是自己的扩展类的成员。
    子类与超类:当且仅当类C中的所有实例都是C’类的实例时,类C就是类C’的子类(以rdfs:subClassOf性质声明),C’为超类。所有类都是自身的子类。
          子性质与超性质:(性质定义为主体资源与客体资源的关系)当且仅当与性质P相关联的所有主体资源和客体资源也都与性质P’相关联,P是P’的子性质,P’是P的超性质。所有性质都是自身的子性质。

    讨论一下RDFS原语的完备性

    • 以性质为中心的RDFS

      每个性质都指定了它所关联的主体类和客体类,因此可以向类中添加新的性质而无需修改这个类的定义,并且任何人都可以使用这种方法描述关于已存在的资源的任何信息。
          性质有两种约束:
          domain(定义域):将性质与类连接起来,指定了主体资源;
          range(值域):限制了性质的取值范围,指定了客体资源。
    模型举例:
          人(Person)是文档(Document)的作者(Author)。
          人有姓名(Name),类型为常量(Literal)。
          文档(Document)有标题(Title),类型为DC:title。




          上述模型重点突出了资源及其相互之间的关系,如果想重点突出作者这个性质,而不是资源本身,可以通过引入domain和range,调整如下:




    将上述模型的上层进一步具体化可得:




          同样,上述模型的下层也可以进一步具体化,整合可得:


    找一本你最熟悉的书,画出它的RDFS模型

    • RDFS的组成

      主要的类和性质有:
    (1)rdfs:Resource:RDF所描述的所有事物,所有其它类都是这个类的子类,rdfs:Resource是rdfs:Class的实例;
    (2)rdfs:Class:由所有RDF类资源组成的类,表示资源的类型,用来定义RDFS中的概念。Rdfs:Class是rdf:Class的实例;
    (3)rdfs:Literal:由常量值构成的类,可为字符、数字等,往往是性质的取值。Rdfs:Literal是rdfs:Class的实例,是rdfs:Resource的子类;
    (4)rdfs:Lable:用来提供关于资源名称的一个便于用户阅读的版本;
    (5)rdfs:comment:提供关于资源的一些描述信息;
    (6)rdf:Property:由RDF性质构成的类,描述那些作为RDF性质的资源;
    (7)rdfs:domain:是rdf:Property的实例,表示由具有给定性质的资源构成的类;
    (8)rdfs:range:是rdf:Property的实例,表示作为性质值的资源所构成的类。Rdfs:range性质的值是一个类,即rdfs:Class类;
    (9)rdf:type:表明一个资源是一个类的实例,描述资源和类之间的instance-of关系;
    (10)rdfs:subClassOf:表示类之间的包含关系。一个类可以是多个类的子类,但继承关系图不能有环;
    (11)rdfs:PropertyOf:是rdf:Property的一个实例,描述了性质之间的包含关系,用来说明一个性质是另一个性质的实例。
    如果性质P2是性质P1的子性质,而资源R有一个P2性质且值为V,那么资源R也有一个性质P1值为V。同样,继承关系图也是无环的。子性质的这种层次体系可以用来表示range和domain约束的层次关系。一个RDF性质的rdfs:domain和rdfs:range也可以用于它的每个子性质。
    与具体化相关的类和性质有:
    (12)rdf:Statement:所有RDF语句都是rdf:Statement的实例,rdf:Statement是rdf:subject、rdf:object、rdf:predicate性质的domain;
    (13)rdf:subject:表示一个资源是某个RDF语句的主体。Rdf:subject的rdfs:domain是rdf:Statement,其rdfs:range是rdfs:Resource。常用三元组表示S是rdf:Statement类的一个实例且S的主体是资源R;
    (14)rdf:predicate:表示一个资源是某个RDF语句的谓词。其domain和range与rdf:subject相同。元组表示S是rdf:Statement类的一个实例,R是rdf:Property的一个实例,且S的谓词是R;
    (15)rdf:Object:表示一个资源是某个RDF语句的客体。其rdfs:domain是rdf:Statement,其rdfs:range既可以是常量也可以是资源。
    RDF容器相关的类和性质有:
    (16)rdfs:Container:所有RDF容器类的父类;
    (17)rdfs:Bag:该类表示RDF的Bag容器;
    (18)rdfs:Seq:表示RDF的Sequence容器;
    (19)rdfs:Alt:表示RDF的Alt容器;
    (20)rdfs:member:是rdf:Property的一个实例,是所有容器成员性质的父性质。
    (21)rdfs:ContainerMembershipProperty:该类的实例包括性质rdf:_1、rdf:_2、rdf:_3等,用来表示一个资源是一个容器的成员,是rdf:Property的子类。每个容器成员性质的一个实例是rdfs:member性质的rdfs:subPropertyOf性质;常用三元组表示容器资源O是C的成员,标号为n;
    (22)rdf:List:是RDF列表类,与以下三个性质连用;
    (23)rdf:first:该性质表示rdf:List与它的第一个项之间的关系。如三元组表示资源O是列表L的第一个项;
    (24)rdf:rest:该性质表示子列表不包含原列表的第一个项。如三元组表示列表O去掉了第一个项列表L;
    (25)rdf:nil:资源rdf:nil是一个空列表。如三元组表示列表L中只有一个项;

    学习完后,你能理解RDFS吗?

    • 标签:
    • 表示
    • RDF
    • rdf
    • 实例
    • 学习元
    • RDFS
    • rdfs
    • 性质
    • 资源
    • 描述
  • 加入的知识群:
    学习元评论 (0条)

    评论为空
    聪明如你,不妨在这 发表你的看法与心得 ~



    登录之后可以发表学习元评论
      
暂无内容~~
顶部