初识RDF

一、Web语义网

      什么是语义网? 语义网是一种使用可以被计算机理解的方式描述事物的网络,语义网描述的是事物之间的关系(比方说 A B 的一部分,而 Y Z 的成员)以及事物的属性(例如尺寸、重量、使用期限和价格等等)它的核心是通过给万维网上的文档 (如:HTML文档、XML文档)添加能够被计算机所理解的语义“元数据”,从而使整个互联网成为一个通用的信息交换媒介。
  (学习过数据库应该很好理解关系和属性,例如:一个老师跟一个学生之间是师生关系,该老师有自己的属性(教师姓名、性别、民族、职称等),该学生也有自己的属性(学生姓名、性别、名族、班级、成绩等),多个老师、学生相互关系,加上自己的属性,构成了一个巨大的数据语义网。)

二、语义网的七层体系结构

     在语义Web体系结构中(如下图1.1所示),每层结构如下;

  1. 第一层——基础层,包括UnicodeURI。其中Unicode是一个字符集,负责处理资源的编码。URI(Uniform ResourceIdentifier,即统一资源定位符)用于唯一标识网络上的一个概念或资源。
  2. 第二层——语法层(标记语言)包括XMLNSxmlschema,是其语义Web体系结构的重要组成部分,该层负责从语法上表示数据的内容和结构,通过使用标准的语言将网络信息的表现形式、数据结构和内容分离。XML是一种标准的元数据语法描述规范它综合了SGML的丰富功能与HTML的易用性,它允许用户在文档中加入任意的结构。NS(Name Space,命名空间)URI索引确定,XML Schema提供更多的数据类型,能更好地为有效的XML文档服务并提供数据校验机制。
  3. 第三层——资源描述框架层,包括RDFrdfschemaRDF(资源描述框架)作为一种标准化的元数据语义描述规范。Rdfschema使用一种机器可以理解的体系来定义描述资源的词汇。
  4. 第四层——本体层Ontologyvocabulary。该层是在RDF(S)基础上定义的概念及其关系的抽象描述,用于描述应用领域的知识,描述各类资源及资源之间的关系,实现对词汇表的扩展。在这一层,用户不仅可以定义概念而且可以定义概念之间丰富的关系。
  5. 第五至七层包括LogicProofTrustLogic负责在前面几层的基础上提供公理和逻辑推理规则。通过Proof交换以及数字签名,建立一定的信任(trust)关系,从而验证语义Web输出的可靠性以及其是否符合用户的要求,并得出结论。

图1.1   语义web七层体系结构
二、RDF与RDF图 
    在了解前面web语义的基础上,我们下面重点说明RDF与RDF图。

      RDF(资源描述框架,Resource DescriptionFramework, 简称 RDF)用来描述网络资源,诸如网页的标题、作者、修改日期、内容以及版权信息等,它专门用于表达关于Web资源的元数据。将信息至于RDF文件之中,以便这些信息被计算机程序("web spiders")从网络中搜索、发现、摄取、筛选、分析和处理。

    RDF图是由三元组(subject, predicate, object)组成的有向图,subject通过predicate指向object,通常用三元组的数量表示RDF图的大小。如下图23所示为一个RDF图。图2为直观的RDF图,图3为复杂的RDF图。
图2  直观的RDF图

    图3   复杂的RDF图

三、SPARQL查询

      SPARQLSPARQL Protocol and RDF Query Language)是为RDF开发的一种查询语言和数据获取协议。SPARQL是基于图的匹配的查询语言,最基本得图模型是简单图模型,允许从RDF数据库(或者三元组库)中查询三元组,即三元组图模型,它与RDF三元组类似,但是在主语,谓语,宾语的位置上都可能出现变量。如下图4所示为一个SPARQL查询图。

                                                                                 4  SPARQL查询
SPARQL查询方式主要有SELECTCONSTRUCTDESCRIBEASK。Q1(查询经济增长最快的三个欧洲国家),查询语法如下:           
select ?x where{
                                                                                     ?x  locateIn  ?z.
                                                                                      ?x   economic ?y.
                                                                                       ?z    hasName Europe.

                                                                                       }ORDER BY DESC(?y) LIMIT 3.
Q2(查询在该国邻国中国土面积相差最大的国家),查询语法如下:           
select ?x where{
                                                                                    ?x  area ?y.
                                                                                     ?x   neighbors ?x1.
                                                                                      ?x1   area  ?z.
                                                                                    }ORDER BY DESC(?y-?z) LIMIT 1.
(注:这里的查询是简化的,省略了其前缀)
RDF的基本知识介绍先到这里,主要想是在此基础上经行RDF查询优化的一些相关研究!
阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页