APP下载

RDF与MicroData在关联数据语义网中互操作技术应用研究

2016-10-17张前进许艳丹

周口师范学院学报 2016年5期
关键词:词汇表三元组字段

张前进,许艳丹

(安徽国防科技职业学院,安徽 六安 237011)



RDF与MicroData在关联数据语义网中互操作技术应用研究

张前进,许艳丹

(安徽国防科技职业学院,安徽 六安 237011)

探讨了当前关联数据中描述数据的方法及关联数据中RDF后端语义数据模型与MicroData前端语义模型的描述规则.实现了MicroData数据与RDF转换的通用规则设计,使用该规则实现了MicroData与RDF数据的映射,最后完成了基于Drupal的MicroData数据与RDF的转换.

关联数据;RDF;MicroData;Drupal

关联数据是国际互联网协会(W3C)推荐的一种用来发布和联接各类数据、信息和知识的规范[1],其目标是基于万维网,利用语义网技术将所有实体映射为一个富含语义的、互联互通的数据网络.从技术实现的角度讲,关联数据以HTTP URI的方式在万维网上发布资源,其中URI确保了资源在万维网中的唯一性和可关联性.在语义网中描述数据的方式有多种,比较知名的有Microformats、RDF、MicroData等.从数据存储结构的角度上讲又可以分为结构化数据与非结构化数据.

结构化数据多用在后端存储场景中,其对于各种设备的兼容性特点,在未来的应用中具有相当的吸引力.比如智能图书系统,用户输入需要查找的书籍,智能图书系统则将用户查找的书籍返回给用户.Microformats与MicroData则多用在前端富文本展示场景中,如搜索引擎对搜索结果的展示.虽然Microformats与MicroData用在前端展示中,但其设计的目的并不是针对用户,而是针对机器的自动语义识别.

语义网应用一般使用RDF结构化数据描述方式作为其后端数据模型,但用户又想采用结构化数据模型描述方式来获取使用MicroData等非结构化数据描述方式表示的信息,并作为服务与其他系统交互.作为数据消费者,在前端希望同时支持基于MicroData标记和基于RDFa标记,并且两种标记方式描述的信息可以存储到同一个基于RDF数据模型的数据库中.本文研究了RDF结构化数据与MicroData、Microformats等非结构化数据互操作技术实现.该技术的实现可以为智能搜索引擎以及用户个性化推荐系统的设计提供实践参考.

1 关联数据后端语义数据模型与前端语义

模型

1.1网页前端数据MicroData语义描述规则

微数据数据规范定义了一组描述语义数据的属性以及解释这些属性的方式.为从HTML DOM模型中获取微数据,MicroData DOM API提供了一系列相关的方法和属性[2].微数据中用来表示HTML页面元素内容的属性包括itemid、itemprop、itemref、itemscope和itemtype等,如表1所示.

1.2关联数据后端语义RDF描述规则

在语义网络中发布Linked Data的准则是使用HTTP URI作为任何事物的标识名称[3],而不是ID或者其他标识符实现唯一性识别的.RDF定义一套可描述知识概念和实例的规范标准[4],使用形如一个“实体-属性-值”(Entity-attribute-value)的三元组来描述.实体使用URI描述,可以是拥有URI的任何事物,如http://www.ahgf.com.cn/rdf;属性使用具有通用性理解的属性名进行描述,也可以使用URI描述,即属性是拥有名称的资源,如 “product”;值可以是URI也可以是字符串资源,是某个属性的值,如“book”或http://www.ahgf.com.cn,除此之外,属性值也可以是另外一个资源.

表1 微数据中item属性

1.3微数据MicroData与RDF关联数据的映射

微数据是以RDFa为基础,以自定义词汇为核心,采用开放式设计,可以无限扩展[5].微数据MicroData的表示规则是首先定义一个URL形式的词汇表,这个URL既可以是一个实际存在的页面,也可以是虚拟存在的页面[6].使用URL可以创建一个在互联网上唯一的标识[7].从URL词汇表中可以抽取出用于表示RDF三元组实体的URI.MicroData微数据的itemprop属性映射到RDF三元组的attribute-value.如图1所示:

图1 MicroData与RDF映射图

2 MicroData数据与RDF转换的通用规则

2.1规则术语

绝对路径:绝对路径是指文件在硬盘上真正存在的路径.

空节点:在一个节点图中既不是文本节点又不是URL引用的节点.例如,对于没有全局标识符的项会分配一个空节点给它.

规范化信息片段(fragment):字符串,用于指定网络资源中的片段.例如一个网页中有多个名词解释,可使用fragment直接定位到某一名词解释.

文档基本路径:在文档中如果没有具有href属性的基本元素,那么文档的基本路径就是文档的回退路径.否则文档的基本路径就是文档树序中第一个具有href属性元素的冰冻URL路径.

求值上下文:一种数据结构,该数据结构由存储器(数据项到对象的映射,初始值为空)、当前类型、当前词汇表组成.

项(item):一个项由包含一个@itemscope属性的元素来描述.顶级微数据项列表可以使用DOM API document.getitems方法检索得到.

项属性(item properties):项目属性的列表可以使用微数据的DOM API element.properties方法检索得到.

全局标识符:项的itemid属性值.该值可以实现与文档元素的属性值相区分.

文本:文本值,如字符串和日期.这些包括可定义类型的文字、语言标记的字符串和简单的文字等.

属性:每个名字标识一个项的属性.

属性名称:一个元素的itemprop属性标记.

2.2规则描述

2.2.1生成三元组过程

当用户代理通过给定的上下文生成三元组时,需要按照下面的步骤:

(1) 如果内存中有一个项的实体,则让对象指向该实体.否则,如果项具有一个全局标识符,并且全局标识符是一个绝对路径,则让对象指向该标识符.否则让对象成为一个新的空节点.

(2)在内存中增加一个从项到对象的映射.

(3)从元素的element.itemType属性返回的每一个类型进行定义项.如果类型是个绝对路径则获取一个如下面示例的三元组:

宾语:subject

谓词:http://www.sample.org/2000/syntax-ns#people

类型:people

(4)设置从元素的element.itemType属性中获取的第一个元素类型作为项的类型.

(5)否则,如果求值上下不为空,则设置类型为当前类型.

(6)如果注册的词汇表包含URI前缀,并且该前缀的字符与一个与类型URI前缀字符长度相匹配,则设置该词汇表作为URI前缀.

(7)否则,如果类型不为空,通过移除所有以“/”或者“#”结尾的类型路径来构建词汇表.

(8)通过将当前词汇表设置为词汇表来更新求值上下文.

(9) 对于每一个元素,如果该元素拥有一个或一个以上的属性名称并且该名称是项的属性之一,执行以下步骤:

遍历元素属性名称集合中的每一个名字,执行以下步骤:

(a)设置context作为求值上下文的副本,并将类型设置为当前类型.

(b)将通过使用context和名称生成的谓词URI设置为谓词.

(c)将元素的属性值设置为value值.

(d)如果value值是一个项,则使用context获取三元组作为value值.将value值替换为通过上述步骤获取的subject.

(e)获取下面的三元组:

宾语:subject

谓词:predicate

对象:object

(f)如果一个实体的名称存在于已注册具有subProperty或者equivalentProperty键的词汇表中,对于每一个equiv的值,则产生以下三元组:

宾语:subject

谓词:equiv

对象:value

(10)返回三元组对象.

2.2.2生成谓词URI过程

首先获取求值上文中的当前类型与当前词汇表,然后与上下文名称一起生成谓词URI.

(1)如果名称是一个绝对路径,返回名称作为URI应用.

(2)如果从上下文中获得的当前类型为空,那么就不存在当前词汇表.则将文档基本路径与其fragment设置为规范化的fragment名称值,然后作为URI的引用返回.

(3)设置扩展URI的URI引用.扩展URI引用通过添加规范化的fragment名称值到当前词汇表(通过“#”签字符分隔,除非当前的词汇表以“#”或 “/”结尾).

(4)返回扩展的URI.

3 基于Drupal的MicroData数据与RDF

转换实现

Drupal是一个基于PHP+MySql的开源内容管理系统平台,主要用于构建提供多种功能和服务的动态网站[8].Drupal 特别适用于输出结构化数据,它将内容作为拥有字段值形式的属性的独立内容(称为实体).在 Drupal 7 中,使用 RDFa 向 HTML 添加结构化数据的功能被整合到了Drupal 核心中[9].基于Drupal为站点添加MicroData实现过程如图2所示.

图2 基于Drupal为站点添加的MicroData过程

具体实现过程如下:

(1)添加内容类型

内容类型用来搜集用户定义的实体并存储相关字段的信息.比如,在网上书店系统中可以定义一个书籍的内容类型,该内容类型包含:书名、作者、出版社、定价等表单信息.

(2)扩展内容类型字段属性

在添加完内容类型后,默认情况下该内容类型只包含标题和内容两个表单字段,需要扩展字段完善表单信息,如书名、作者、出版社、定价等.

(3)启用MicroData支持模块

使用Drupal的字段系统可以为内容类型添加最基本的字段类型,同时,Drupal提供了一个API,可以通过模块为内容类型添加新的字段类型.Drupal本身采用的是Plug-in的设计模式,因此站点管理员就可以安装这些字段模块,不需要编写任何代码就可以完成字段的配置与格式化.

微数据在HTML中对于数据属性的位置有严格的要求[10],因此每种字段类型都需要格式化其在HTML中放置属性的位置.虽然微数据在Drupal7中被提到了核心位置,但仍然并不是所有字段类型都支持微数据.因此如果需要使用Drupal社区所贡献的字段格式器模块,则要查看微数据支持的列表.如果尚未支持使用的字段类型,则可以通过创建修改内容的补丁,将微数据支持传回该模块.

(4)注册属性

如果需要使用微数据公开内容类型的相关字段,则需要使用Entity API模块将需要公开的字段属性进行注册[11].为了在HTML前端放置微数据,还需要修改字段的HTML主题输出.

(5)将内容映射到RDF

在 .module模块定义文件中,使用RDF Mapping API提供的hook_rdf_mapping 为内容类型和字段创建RDF映射.如果要更改现有映射,在install函数中使用rdf_mapping_load和 rdf_mapping_save函数完成加载与保存.

4 结束语

基于关联数据技术的语义网络使得数据能够更好地实现互操作及重复使用[12],并且使得数据共享更加便捷.RDF与MicroData在关联数据语义网中互操作的实现,扩展了数据共享应用.为语义网中不同系统与服务间,结构化与非结构化数据间互操作提供了实践参考.

[1]刘炜.关联数据:概念、技术及应用展望[J].大学图书馆学报,2011,29(2):5-12.

[2]肖祯怀.基于HTML5的前端效率机制及Web应用模式研究[D].济南:山东师范大学,2014.

[3]付瑶.图书馆关联数据质量控制研究[D].长春:东北师范大学,2013.

[4]易雅鑫,宋自林,尹康银.RDF数据存储模式研究及实现[J].情报科学,2007,25(8):1218-1222.

[5]张敏,王丹.基于微格式的用户生成内容聚合组织研究[J].情报理论与实践,2014,37(8):122-127.

[6]贾君枝,王醒.基于微数据的语义标注应用研究[J].情报理论与实践,2016,39(2):54-58.

[7]魏欣.基于微数据的物联网实体表示与搜索[D].哈尔滨:哈尔滨工业大学,2013:1-50.

[8]许艳丹,张前进,盛安元.基于CMS平台的校园网站系统设计与实现[J].中国西部科技,2010,9(4):38-41.

[9]任瑞娟,濮德敏,王剑宏,等.基于Drupal实现多类型学术资源的语义化组织与关联化聚合[J].情报科学,2015,33(5):63-67.

[10]吴振宇.基于Web的物联网应用体系架构和关键技术研究[D].北京:北京邮电大学,2013.

[11]王云.基于Drupal的师生互动平台的设计与实现[D].西安:西安电子科技大学,2014.

[12]欧石燕,胡珊,张帅.本体与关联数据驱动的图书馆信息资源语义整合方法及其测评[J].图书情报工作,2014,58(2): 5-13.

Research of the interoperability between RDF and MicroData in the linked data semantic web

ZHANG Qianjin,XU Yandan

(Anhui Vocational College of Defense Technology,Anhui Lu’an 237011,China)

Discussed the method of describing the data in the linked data and the description rules of RDF back-end semantic data model and MicroData front-end semantic model that in the linked data. Designed the conversion general rule of MicroData and RDF,by using this rule realized the mapping of MicroData and RDF,and finally completed the conversion of MicroData data and RDF based on Drupal.

Linked Data;RDF;MicroData;Drupal

2016-03-17;

2016-04-20

安徽省自然科学研究重点项目(No.KJ2016A120); 安徽省教育厅教学研究重点项目(No.2015jxtd096);2015年安徽国防科技职业学院质量工程项目(No.gf2015ck04)

张前进(1982- ),男,河南商丘人,硕士,讲师,主要从事计算机应用技术研究.

TP391.1

A

1671-9476(2016)05-0127-04

10.13450/j.cnki.jzknu.2016.05.033

猜你喜欢

词汇表三元组字段
特征标三元组的本原诱导子
Peritoneal dissemination of pancreatic cancer caused by endoscopic ultrasound-guided fine needle aspiration: A case report and literature review
关于余挠三元组的periodic-模
浅谈台湾原版中文图书的编目经验
一个时态RDF存储系统的设计与实现
CNMARC304字段和314字段责任附注方式解析
无正题名文献著录方法评述
三元组辐射场的建模与仿真
关于CNMARC的3--字段改革的必要性与可行性研究
词汇表