(计算机软件与理论专业论文)基于关系数据库的rdf存储与查询的研究与实现.pdf_第1页
(计算机软件与理论专业论文)基于关系数据库的rdf存储与查询的研究与实现.pdf_第2页
(计算机软件与理论专业论文)基于关系数据库的rdf存储与查询的研究与实现.pdf_第3页
(计算机软件与理论专业论文)基于关系数据库的rdf存储与查询的研究与实现.pdf_第4页
(计算机软件与理论专业论文)基于关系数据库的rdf存储与查询的研究与实现.pdf_第5页
已阅读5页,还剩76页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

j :i l r h 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名:迹匆差一 日期:扫。年r 月卵 论文使用授权 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:豳鹜 导师签名: 日期:沙f 。年箩月驴 、0 ,4 本论文对i f 和s 湖l 进行了深入的研究,设计了一套使用关系数据库 来进行i f 数据存储与查询的方案。 存储方面,将m ) f 数据结合s p a r q l 查询语言的格式设计存储结构,方便 查询语言进行匹配。同时,由于s p a r q l 查询语言不能根据r d fs c h e m a 元信息 进行推理,无法拒绝或者控制用户根据非敏感数据推理得到敏感数据的操作,本 文尝试性地在r d f 存储端引进了r d f 数据推理控制,以弥补查询端的不足。 查询方面,将用户提交的s p a r q l 查询语言转换成等价的s q l 语言,提交 给关系数据库进行查询,最后将查询结果进行语义封装,返回给用户。本文详细 分析了s p a r o l 查询图模式的结构,针对现有的关于查询图模式匹配顺序的分歧, 提出了自己的观点以及论据,最后采用逆波兰算法将s p a r q l 查询语言正确转换 成s q l 语句。 关键词:i f 、s p a r q l 、s q l 、推理控制、逆波兰算法 0 v,t a b s t r a c t a b s t r a c t w i t hm ed e v e l o p m e n to fs 锄孤t i cw 曲,w o 订d w i d ea 仕e n t i o nh a sb e e np r o f o u l l d l y 0 b t a i n e dt 0t l l er e s e 删l b o o mo fr d f ( r e s o u r c ed e s e r i p t i o nf r a m e w o r k ) m a ti st l l e d a t af o rd e s 嘶b i i l gm e t a d a t aa n di su s e dt 0d e s c r m ew 曲r e s o u r c e s r d fs c h 锄a w r h i c hp r o v i d e s 也e 缸l i l l e w o r ko fc l a s s e sa 1 1 da t t 曲u t e sm a ti ss p e c i f i ct od e s 嘶b e 印p l i c a t i o n s ,i sa i le x t e l l s i o no f r d f t h es t o r a g ea i l dq u e 巧o f m a s s i v e 锄o u n t o f r d f d a t a 行o mi n t e m e t ,a sm er d fa p p l i c a t i o n d e v e l o p e d ,d e m a l l d s f o r h i g h e r r e q u i 獭n e i l t s 1 1 1 ed r a f to fs n r q lq u e 拶l a i l g u a g ep r 0 v i d e db yw 3 c o r g i l n i z a t i o ni s c o n s i d e r e da sm ef i l _ t u r ed e v e l o p m e n t 缸e i l df o rs 锄a n t i cw 曲q u e r yl a l l g u a g e t h e s e m i s t m c t u r e dc h a r a c t e r i s t i c so fr d fi sa b l et ob ep e 疵c t l yc o m b i n e dw i t ht 1 1 e s e m i s t r u c t l h e dq u e r ym e 1 0 d s ,a no p t i o n a lm o d e ,o fs p a r q l 1 1 1 i sd i s s 嘶a t i o nt h a ti sd e 印l ye n g a g e di nt h er e s e a r c ho fi fa 1 1 ds p a r q lh a s d e s i 弘e dap a c k a g eo fs 0 1 u t i o n so fu t i l i z i n gr e l a t i o nd a t a b a s ef o rs t o 血ga i l dq u e r 如n g r d fd a t a 1 1 1s t o r a g e ,t h ep a t t e mo fd e s i g n i n gs t o r a g es t 九】c t u r eo fc o m b i n i n gr d fd a t aw i t h s p a r q lq u e r yl a n g u a g ei s a b l et of a c i l i t a t em em a t c l l i n gf o rq u e 巧1 a i l g i l a g e m e a n w h i l e ,m o r ee 舶r t sh a v eb e e i lm a d et oi n t r o d u c er d f d a t ar e a s o n i n gc o n t r o lo n r d fs t o m g et e n n i n a l 矗”m e e t i n gt h es h o r 渤1 lo fq u e 巧t 印n i n a lb e c a u s eo ft h e i n c 印a b i l i t yo fr e a s o n i n gf o rs p a r q lq u e r ) r1 a n g u a g ea c c o r d i n gt o r d fs c h e m a m e t a i n f o n n a t i o na i l dm ei n c a p a b i l i t yo fd e n ) ,i n go rc o n 缸d 1 1 i n gt ho p e r a t i o n sf o ru s e r s t oa c q u i r es e n s i t i v ed a t ab yr e a s o m n g 行o mn o n - s e n s i t i v ed a t a 1 1 1q u 睨y ,m es n 峨l q u e 巧l a n g u a g es u b m i t t e db yu s e r si si n i t i a l l yt r a n s f o 肌e d t oe q u i v a l e n ts q l1 a 1 1 9 1 1 a g ea i l ds u b s e q u e i l t l yd e l i v e r e dt or e l a t j o nd a t a b a s e 南rq u e f i n a l l ym eq u e 拶r e s u l t sh a v eb e 既s 锄a n t i c - e 芏l c a p s u l a t e da i l dr e 彻m e dt o t h e u s e r s o w no p i l l i o na sw e na si t sa i 翟阻m e n th a sb e e np r o p o s e db yd e t a i l e da n a l y z i n gt h e s t m 曲】r eo f q u e r ym 印m o d e a 1 1 da i 】商n ga tt h er e c e i l td i f f 醯e 1 1 c e sc o r r e s p o n d i n gt ot h e m a t c h i n gs e q u 吼c e so fq u e 巧m 印m o d e u 1 t i m a t e l y ,r e v e r s ep 0 1 i s hn o t a t i o nh a sb e e i l i n 仃o d u c e dt o 恤n s f o 吼c o m p l e xs p a r q l q u e r yl a n g u a g et os q l1 a 1 1 9 u a g e k e y w o r d s :r d f 、s p a r q l 、s q l 、h l 衙e l l c ec o n 缸d 1 、r p n i i , , 目录 目录 第一章绪论。1 1 1研究背景1 1 2发展现状3 1 - 3 研究目标与内容安排4 第二章i m f 相关技术简介5 2 1 r d f 概述5 2 1 1 i f 模型5 2 1 2 r d f 图8 2 2i 国f 存储方案9 2 3i f 查询语言11 2 4 s p a r q l 查询语言12 2 4 1 s p a r q l 查询结构1 3 2 4 2 s p a r q l 图模式1 4 2 4 2 1 基本图模式1 5 2 4 2 2复杂图模式1 5 2 4 3s p a r q l 结果集17 2 5本章小结1 7 第三章r d f 存储1 9 3 1r d f 存储方案1 9 3 2r d f 蕴涵推理2 1 3 3敏感数据标识2 4 3 4本章小结2 6 第四章s p a r q l 查询转换2 7 4 1 s p a r q l 图模式转换2 7 4 1 1基本图模式2 7 4 1 2并图模式2 9 4 1 3可选图模式3 0 4 1 3 1 简单可选图模式3 0 l l t 目录 4 1 3 2 多重可选图模式3 0 4 1 3 3嵌套可选图模式3 1 4 1 4 s p a r q l 查询图模式转换3 5 4 2结果集3 6 4 3本章小结3 7 第五章系统设计与实现3 8 5 1开发工具和平台3 8 5 2系统体系结构3 8 5 3i f 存储模块3 9 5 3 1r d f 三元组解析3 9 5 3 2i f 推理控制4 0 5 3 2 1i f 推理控制算法。4 1 5 3 3i f 数据存储及视图:4 6 5 4 s p a r q l 查询模块4 9 5 4 1s p a r q l 语句解析。51 5 4 2查询转换5 2 5 4 2 1基本图模式转换。5 2 5 4 2 2 复杂图模式转换5 3 5 4 3语义包装5 4 5 5本章小结5 6 第六章系统测试5 7 第七章总结与展望6 5 鸳| 谢6 6 附录t i 7 参考文献6 9 攻硕期间取得的研究成果7 1 i v 、 i 0 加以及信息间交错复杂的关系,用户获取到自己所需要的数据的难度也正在加大。 虽然通过搜索引擎能帮助用户查找所需要的信息,但是从目前的情况来看,已有 的搜索引擎在“全、快、准、省”标准上并不尽如人意,往往在搜索到的大量数 据中,充斥着一些完全无关的数据。同时,现有的w e b 多数注重于页面的展现, 而不关注数据本身的语义性。如在网上想要查找一个电话号码“8 8 8 8 8 8 8 8 ”,搜索 引擎只会去简单匹配字符串为“8 8 8 8 8 8 8 8 ”或者包含“8 8 8 8 8 8 8 8 ”的数据,搜索 出来的结果让人眼花缭乱,而如果你使用“电话号码8 8 8 8 8 8 8 8 ”去进行搜索,搜 索引擎实际上是将文本分割成了两个部分:“电话号码”和“8 8 8 8 8 8 8 8 8 ”,它会搜 索包含这两个关键字的页面,而如果实际包含真实信息的页面中没有使用到“电 话号码 这个字符串,则结果可能会被掩埋在若干查询结果之后。产生这个问题 的关键是目前的搜索引擎基本上是基于文本的简单匹配,它并不理解数据的语义, 搜索引擎只会力不从心。 此外,在庞大的互联网环境中,几乎所有的计算机所起到的作用都只是存储 数据、传输数据或显示数据,担当着人与信息之间的媒介。语义以及数据的选择 判断依然依赖着人工交互。如果计算机能够根据数据的语义性,自动去理解和判 断所操作的数据,将有效地提高程序的处理能力以及数据的选择、判断的效率。 于是,互联网之父t i mb 锄e r s l e e 通过万维网联盟w 3 c 组织( w o d dw i d ew e b c o l l s o r t i u m ) 提出了语义w e b ( s e m a i l t i cw e b ) 的想法,并把语义w e b 看成是下一 代的w e b 发展方向,其目标是为w e b 的实际信息内容提供形式化的含义,以实现 信息在语义层的互操作,从而使得计算机和人类能够更好地协同工作。也就是说, 语义w e b 的目标是让w e b 上的信息能够为机器所理解,从而实现w e b 信息的自动 电子科技大学硕士学位论文 搜索、自动知识获取、自动逻辑推理等操作,以适应w e b 信息资源的爆炸式增长, 更好地为人类服务。 语义w e b 的核心思想就是让机器理解w e b 上的信息,即w e b 数据的语义。这 就需要为机器提供描述w e b 数据的数据,即元数据。为此,需要建立一个通用的 元数据模型,r d f ( r e s o u r c ed e s 耐p t i o nf r 锄e w o r k 资源描述框架) 【1 】正是这样 的一种标准。r d f 提供了一种通用的框架,即由资源、属性、属性值所组成的三 元组,以描述w e b 上的资源。r d f 数据是一种描述元数据的数据。r d f 描述的 资源可以是任何一个能够用u r i 标识的事物,属性值可以是简单的文字值,如 “a l i c e ”,也可以是一个由某个u r i 代表的资源。 在r d f 模型中,一个具有若干属性和相应的属性值的事物( 也称之为一个资 源) ,可以通过若干语句来进行描述。语句的基本结构为“主语( s u 功e c t ) 一谓 语( p r e d i c a t e ) 宾语( o b e c t ) 三元组,其中主语即所描述的资源,谓语为资 源的某个属性,宾语为该属性对应的属性值。每个r d f 三元组可以用“节点边 节点”的连接来表示,如图1 1 所示: 图卜lr d f 模型的三兀组表不 i m f 模型的底层结构就是三元组的集合。在r d f 图中,节点总是主体或者 客体,而且弧的方向总是由主体指向客体。因此,一个r d f 模型可以看作是一个 带标签的有向图。i f 三元组通过谓语说明了事物间的二元联系。通过组合多个 i f 三元组,就能将复杂的信息世界间的多元关系表示出来。 简而言之,砌) f 使用属性以及属性值来描述资源,具体表现形式为i f 三 元组。但是,在有些语句中,会使用特定的值来增强对属性的约束,例如:有时 候需要表示该属性所描述的资源是某一种特定资源,用来描述这种特定资源类的 属性需要增加一些额外的约束,比如父类子类、取值范围等等,但r d f 并不具备 这样的能力,r d f 模型只是提供了一种机制来描述元数据,它并没有定义任何应 用领域的语义,定义专门领域的资源属性及其语义需要借助于其它手段来进行补 充。这些类和属性所形成的特定词汇就可以使用r d fs c h e m a 来描述。 2 第一章绪论 i fs c h e m a 是砌) f 的扩展,它通过提供一些原语来定义类、属性、类与属 性之间的隶属关系等,来增强对资源语义的进一步描述。i fs c h 锄a 比较类似于 一些面向对象的程序设计语言,比如允许类组织成层次结构,一个资源可以是一 个或多个类的实例。但在某些方面又不尽相同,比如它对类和属性的描述属于扩 展的性质,不是强制性的。 i fs c h 锄a 本身也是一种元数据,也是以i f 资源集的形式存在的,并且 r d fs c h 锄a 产生的词汇描述也是i f 图,遵循砒) f 规则。因此,i f 解析软 件可以把i fs c h e i l l a 正确地解释成i f 图。r d fs c h 锄a 定义了资源的种类, 还有资源的属性及其之间的关系。元数据的含义被机器理解和共享是很必要的, 在这方面本体( o n t 0 1 0 9 y ) 起了相当重要的作用,本体实际上是一种共享的词汇, 一般描述了某个领域的重要概念,以及概念间的关系。r d fs c h e m a 就被视作一 种简单的本体语言。 i f 已被广泛地应用在各个领域,例如:用于协助搜索引擎更好地查找资源, 对网站、图书馆中的内容及其关系进行分类和描述,以及智能软件代理中用作知 识表示、共享和交换等等。随着r d f 的应用日益广泛,对于r d f 的存储与查询 的需求也提出了更高的要求。 1 2 发展现状 r j ) f 被设计为一种描述w e b 资源信息数据的通用语言和方法。世界上有很多 科研组织和大学团队在从事i m f 方面的研究。由d 心( 美国国防部高级计划 研究署) 支持开发的d a m l 【2 1 ,是语义w e b 活动的主要推动力,其在i f 之上, 以描述逻辑为基础,成功地以机器可读的方式表示了语义关系。d a m l + o i l 是由 美国和欧盟在d a m l 背景下共同开发的,是在r d f ( s ) 基础之上的扩展,具备一 定的推理性,确定了语义w e b 中知识表示语言的整体框架。j e i l a 【3 】是目前最为流 行的建立语义网应用的j a v a 框架,由h p 实验室开发的开源项目,它可以处理本 体,r d f 数据,推理机制,持久化存储等,支持包括s p a r q l 【4 】在内的多种r d f 查询语言。希腊国家计算机研究所研究开发的冲【5 】( i c s f o r l l hv 撕d a t i n g r d f p a r s e r ) 和j e n a 的a r p 【3 】 ( a n o m e rr d fp a r s e r ,j e i l a 的子a p i ) 是r d f 解析领 域的两大主要开源工具包。s e s 锄e 【6 】使用自己的r d f 数据源模型,并部分支持 s p a r q l 查询语言。r i ) f s t o r e 【7 】是用于解析、存储和管理r d f 。r e d l a i l di f 3 电子科技大学硕士学位论文 l i b r 撕e s 【8 】( r d f 语言工具套件) 是一套基于对象的,模块化的,用来处理r d f 语言文档的工具,提供了用于i f x m l 解析、序列化( r a p t o r ) 和r d f 查询 ( r a s q a l ) 的r d f 工具a p i 。 国内关于语义w e b 的研究起步较晚,但也有不少组织致力于语义w e b 的研究 和应用。江苏省“语义w e b 语言及支撑软件技术基础研究 项目组面向r d f 开 发了f i r t r e e 【9 】系统和r o m q s 系统【10 1 ,f i r t r e e 系统主要研究r d f 前向推 理策略,而r o m q s 系统研究的是s p a r q l 查询语言的非强制匹配问题。复旦大 学的“数字媒体综合素材库建设与关键技术研究 项目纠1 1 】研究r d f 数据在关 系数据库中的存储模式。武汉大学的董慧教授主导的“基于本体的数字图书馆检 索模型研究 【1 2 】项目实现了本体检索、推理和可视化的功能,其中本体推理采用 了基于逻辑的领域知识检测推理和基于关系的蕴涵知识发现推理。 1 3 研究目标与内容安排 本文工作是华为高校合作项目“基于关系数据库的i f 存储与查询的研究” ( 项目号y b i n 2 0 0 7 2 4 3 ) 的研究内容。本文的研究重点是:一、学习r d f 资源描述 框架与s p a r q l 查询语言,在这基础上设计实现一个i f 存储与查询系统。二、 由于r d f 数据的语义性和s p a r q l 的非推理性,研究i f 数据的推理规则,通 过设计存储方案的办法来保护由推理规则推导衍生出来的敏感信息,并保护此类 信息不被泄露;三、研究s p a r q l 查询语言与s q l 语言之间的转换关系,设计 转换系统来支持关系数据库的r d f 查询框架。 本文以下各章的主要内容安排如下:第二章主要介绍r d f 存储以及查询语言 的相关技术,重点介绍s n 娘q l 语言;第三章介绍本文r d f 存储方案的设计, 引入推理控制模块,区分敏感数据和非敏感数据并为其进行标识、处理,主要用 来弥补s p a r q l 查询语言的非推理性带来的安全隐患;第四章针对领域内关于 s p a r q l 复杂可选图模式的分歧,提出个人观点,并给出s p a r q l 到s q l 等价 转换的框架;第五章根据前两章的理论分析,给出具体的系统实现;第六章针对 推理控制模块和查询模块进行功能验证;文章最后对目前的研究做出总结,并对 下一步研究工作提出展望和讨论。 4 第二章r d f 相关技术简介 2 1r d f 概述 第二章r d f 相关技术简介 目前的w e b 模型主要支持对文本内容的浏览和搜索。随着w e b 信息的大量增 加,该模型已不能适应海量信息的交换和处理工作。语义w e b 需要新模型以支持 对w r e b 信息源和服务以及智能应用的统一访问,并用标准机制去交换数据和处理 不同的数据语义。l 模型可用于数据的表示和交换,但缺乏描述语义信息的能 力。因此,w 3 c 标准采用资源描述框架i f 和i fs c h e l l l a 描述网络上的信息 资源,为其赋予语义,比如网页的标题、作者、修改日期、内容以及版权信息。 r d f 被设计为提供一种描述w 曲资源信息数据的通用语言和方法,这样就可 以被计算机应用程序读取并理解,它是一个网络资源对象和对象之间的关系的数 据模型,拥有简单的语义,该数据模型遵循x m l 语法、结构,可用订l 语言编 口 吧,o 2 1 1r d f 模型 r d f ( r e s o u r c ed e s 嘶p t i o nf r 撇e w o r k ,资源描述框架) 通常称为一种“语言 , 但它实际上是一个数据模型。r d f 的设计基于这一思想:被描述的资源具有一些 属性,而这些属性各有具体的属性值。资源指的是能在w e b 上以u r i 标识的所有 事物;资源的属性值可以是资源,或者是文字值。如果属性值是资源,所对应的 属性可以理解为两个资源之间的关系;如果属性值是文字型,则该属性即为对资 源属性的描述。对资源的描述就是对资源的属性以及属性值的声明,我们称之为 陈述( s t a t 锄e n t ) 或语句。陈述的基本结构为“资源属性属性值 三元组,也可 称为“主语谓语宾语 三元组。 i f 抽象数据模型可以采用不同的语法来描述,但是通常情况下使用l 语法来刻画,本文也采用这种方式。在这种情况下,r d f 继承l 的优点。 陈述用于描述资源所具有的属性值。如: 三重门( h t t p :肺p b 0 0 k s i n a c o m c i l b 0 0 k 胁d 强3 7 5 9 0 h 缸1 1 1 ) 的作者是韩寒。 5 电子科技大学硕士学位论文 可以使用下面的三元组定义来描述: ( h 婶:、却b 0 0 k s i n a c o m c n b 0 0 k i n d e x j 7 5 9 0 h n i l l f oa f a u m o r “韩寒”) 陈述的主语为:h 位p :v i p b 0 0 k s i n a c o m c n b o o “i n d e x j 7 5 9 0 h t i i l l ; 陈述的谓语为:f o 征a u t h o r ; 陈述的宾语为:韩寒。 其中f o a f 为前缀,代表的是一个命名空间,表示h 钍p :) 础n s c o 州f o 彬0 1 。 后文还会提到r d f 前缀和r d f s 前缀,分别指代命名空间l 脚: w 3 o r 1 9 9 9 0 2 2 2 一r d f - s ) ,i l t a x - n s 舟和l m p :m 删w 3 o r 2 0 0 0 0 1 r d s c h e m 群。这三个 词汇为w 3 c 教程中的通用命名空间前缀,后文如无特别说明,均指代上述命名 空间。 陈述三元组( x ,p ,y ) 可以看成一个逻辑公式p ( x ,y ) ,其中二元谓语p 将对象x 和对象y 关联起来。实际上,r d f 只提供二元谓语( 属性) 。而现实社 会的各种关系中,多元关系经常出现,如b o b 借给l i l y 一本书g o n ew i mm e 丽n d 。这在二元关系中就不便于表示。为此,r d f 数据模型提供辅助对象的概 念称之为空节点。本例中,设计一个空节点b l a n k n o d e ,表示为:n u m b e r ( “:” 是s p a r q l 查询语言中空节点的表示方法,n u l n b e r 为系统对空节点赋予的独一 无二的值) ,作为b o b 的借出对象,然后对空节点进行补充描述,见以下方式: r d f s :b o bf o a f b o o k 一:1 一:1 f o a f n a m e “g o n ew i t ht h ew i n d ” 一:1 f o a f b o r r o w e r “l i l 矿 如果一个资源的某个属性有多个相互独立的属性值,也可以用空节点来表示, 它传达这样一个信息:资源的属性值存在,但空节点不表示具体的信息,具体信 息会在对该空节点的描述中给出。如:歌曲“n o b o d y m t st ob el o n e l y ”的演 唱者是c “s t i n a a g u i l e r a 和r i c k ym a n i n ,这两个歌手是信息世界中两个相互独立 的客体。借助空节点,该信息可以表示为: r d f s :n o b o d yw | 锄t st ob e j 乃n e l yf o a e s i n g e r s_ 2 一:2 r d f t y p ei - d b a g :2f o a f n 锄e“c h r i s t i n aa g u i l e r a , 6 第二章r d f 相关技术简介 一:2 f o 疆n 撇e “鼬c k ym a i t m ” 在这个例子中,空节点表示“n o b o d y w 撕t s t ob el o n e l y 这首歌的演唱者存 在。第二个三元组中r d b a g 表示一个无序的容器,表明用于描述该空节点的三 元组不区分先后顺序,而歌手信息被置放在该容器中,无先后轻重之分。 实际上,空节点的表现形式并不是一个实际可用的u r j 形式。这就是r d f 模型中空节点的特殊性。在i f 抽象语法中,一个空节点只是一个独特的节点, 用特殊的标识符来标识,没有内在的名字,但是空节点可以有多个,并且互异。 空节点可以用在一个或多个r d f 陈述中,即通过空节点标识符,允许在多个陈述 三元组中引用同一个未标识的资源。需要注意的是,空节点标识符是一个和所有 u r i 引用以及文字均不相同的本地标识符。在合并i f 图的时候,为了保留空节 点的含义,那么不同r d f 图中的空节点必须保持不同,这可能会导致重新分配空 节点标识符。由于空节点本身不存在实际意义,对原r d f 陈述的语义并无任何影 响。 通过上文的例子,给出了r d f 数据模型的三种基本对象类型: 1 u r i 引用,普通资源。在w e b 上以u r i 标识的所有事物都可以称为资源。 在r d f 中普通资源都是以u r i 引用命名的。任何事物都可以有一个唯一 的u r i 引用,u 引用的扩展性允许用来表示任何实体。如: “l l t t p : w w s i n a c o i i l 。 2 文字。字符串或数据类型的值。字符串又称为平凡文字,数据类型的值又 称为类型文字。i f 没有自己的数据类型定义机制,而是允许使用独立 定义的数据类型,如使用证ls c h e m a 中定义的数据类型。如:”l i l y , 1 9 。 3 空节点,特殊资源。空节点实际上也是一种资源,是特殊的资源匿名 资源,它们没有外在的可定位的标记,空节点它仅仅表示一个资源或一 个事件的存在,不指代任何具体的资源。一个空节点既不是一个u r i 引 用也不是文字。空节点标识符并不是i d f 抽象语法的一部分,而且包含 空节点的三元组的表示完全依赖于所用的特定的具体语法。在s p a r q l 中采用以“:”开头的方式来定义空节点,如“:a ,:b 等。本系统沿 用这种方式,另外系统会为每个空节点分配一个独一无二的编号,而不 7 电子科技大学硕士学位论文 是变量名,见上文例子。因此,空节点信息中仅编号为有效信息,用以 区分不同的空节点。 ) f 区分资源、文字这些对象类型,要求主语必须是资源,即可以是u 砒 引用或者空节点;谓语也必须是资源,但是只能是u r i 引用,这是因为空节点本 身是个匿名对象,不包含属性信息,因此不能作为谓语;而宾语可以是资源或者 文字,也就是说,宾语可以是u r i 引用,空节点或者文字。 陈述构成了i f 模型的基本结构。多个陈述就构成了i f 片段。r d f 数据 是对主语相对应的资源进行描述的一种手段,它是语义w e b 技术的基础。 ) f 通过类和特性来陈述资源,而这些特定的类和特性并没有在i f 中预 定义。这时就需要用户使用i fs c h e m a 来自己定义所需的类和特性。i m f s c h e m a ( i m f s ) 是对r d f 的一种扩展。它不提供实际的应用程序专用的类和属性, 而是提供了描述应用程序专用的类和属性的框架。i fs c h 锄a 中的类与面向对 象编程语言中的类非常相似,这就使得资源能够作为类的实例和类的子类来被定 义。r d f s 描述类是通过其中的资源r d f s :c l a s s ( 类) 和r d f s :r e s o u r c e ( 资源) ,特 性r d f t y p e ( 类型) ,r d f s :s u b c l a s s o f ( 子类) ,r d f p r o p e r t y ( 属性) 和r d f s :d o m a i n ( 定义域) 、r d f s :姗g e ( 值域) 和r d f s :s u b p r o p 嘶y o f ( 子属性) 来完成的。 2 1 2r d f 图 i f 资源描述框架是在语义w e b 的基础上发展起来的。陈述三元组便可以用 语义w e b 中的图来解释,称为r d f 图。i f 图是具有节点和有向边的图。在r d f 图中每个陈述三元组表示为一个“节点边节点的连接,对应于原陈述三元组 中“主语( 资源) 谓语( 属性) 宾语( 属性值) 的关系。r d f 图的节点是主语 或者是宾语,其中资源用椭圆节点表示,文字用矩形节点表示;有向边表示谓语, 即主语的属性。如图2 1 所示。 图2 一lr d f 三元组类型表示 8 第二章r d f 相关技术简介 由于矩形节点只能作为宾语存在,矩形节点只可能出现在有向边的末端,而 且矩形节点后不能再扩展r d f 图,因为矩形节点并不是一个资源,按照i f 数 据模型的定义,不能被描述。 扩展三重门的例子,增加韩寒博客h t t p :b l o g s i l l a c o m c i 帅o c o l d 的信息。由 于“韩寒 只是个文字,不能作为主语。利用空节点的表示方法,建立一个表示 人的空节点:2 2 ,不指代任何具体的人,只是表明存在这个作者。于是,上述信 息可以表示为: h t t p :v i p b o o k s i i l a c o m c i l b o o k 他d c x j 7 5 9 0 h t n l l f o a f a u t h o r 一:2 2 :2 2f o a n a m e 韩寒” 一:2 2 f 0a f b l o g h t t p :b l o g s i l l a c o m c 毗w o c o l d 这组三元组用i f 图表示为: 图2 2 r d f 图空节点示例 如果将砒) f 图看成一棵以主语资源为根节点衍生出来的树,那么在这棵树 中,空节点一般不作为叶子节点存在,它们通常只存在于分支节点中。因为处于 叶子节点的空节点无任何具体信息,其所在的r d f 三元组为无意义三元组。 2 2r d f 存储方案 r d f 存储系统是所有r d f 应用系统的核心,较为简单的一种i m f 数据存储 方法是使用x m l 数据库存储r d f 数据【l l 】。但一个r d f 图可以序列化为多个不 同的订l 文档,并且查询依赖于i f 图的订l 表示,所以这种存储方式不便 于对r d f 数据的查询。大规模r d f 数据的存储、管理和操作需要使用基于数据 库的存储方法。 9 电子科技大学硕士学位论文 用传统关系数据库存储i m f 文档是一种比较常见的i f 存储机制【9 】【1 1 】【1 3 1 。 现有的大多数r d f 查询系统,如j e i l a 等也都采用传统关系数据库作为存储介质, 以便利用数据库系统成熟和优良的性能。由于数据库管理系统提供了标准查询接 口,为r d f 查询的实现屏蔽了许多底层的操作,因此基于传统关系数据库是一种 很好的方案。基于数据库的r d f 存储可以采用如下几种具体形式: 幻水平表数据库。在水平表数据库中,只需要用一张“全局”表来表达整个 r d f 文档。r d f 文档中的每一个实例作为表中的一个记录和一个项。该 模型简单,但由于数据库中出现很多列,使得整个数据库呈现为一张稀疏 表。 b ) 垂直表数据库。在垂直表数据库中,用一张表来存储所有的r d f 断言, 表中每一个记录对应一个r d f 三元组。包括j e i l a 和s e s a m e 在内的众多 r d f 引擎均采用了该存储方式,该方式的缺点在于对于每一个查询,都 需要遍历整张表。当处理带有联合查询时,效率更差,查询引擎很难获得 高的查询效率。 c ) 水平类。水平类方法跟水平表数据库方法有点类似,不同之处在于它给本 体中的每个类都提供一个独立的表。本质上,这种方法与数据库领域常用 的实体一关系方法相对应。 d ) 按属性建表。按属性建表方法为r d f 中的每个属性建立一张表,表中仅 含主语( s u b j e c t ) 和宾语( o b j e c t ) 两个项。r d f 文档中的每个三元组都 可以根据所包含的属性名存储到相应的表中。这种方法的缺点和垂直数据 库类似,查询效率不高,同时,由于要为每个属性建立一张表,数量庞大, 给维护带来很大不便。 曲基于路径存储方式。此种方法是设计一种存储模式将i m f 图中的路径存 储在关系数据库中。设计方案的出发点是当前r d f 存储方式大多是将 i f 图拆分成三元组的集合,在进行查询的时候;将三元组连接起来进 行图模式匹配。当图模式中包含的三元组模式很多时,就需要进行多次连 接,使查询效率降低,而采用基于路径的存储方式,可以获得较高的查询 效率。 l o 第二章r d f 相关技术简介 2 3r d f 查询语言 目前存在很多不同的砌) f 查询语言【”】,有的偏重于i f 的逻辑性,有的偏 重于基于w 曲的搜索,有的偏重于简单的实现,也有的不仅注重搜索内容,还能 够搜索到r d fs c h 锄a 。各个查询语言均有自身的特点,主流的r d f 查询语言包 括r q l 【1 4 】、r d q l 【15 1 、n 3 q l 【1 6 1 、t r i p l e 【1 7 】、v ,e r s a 【1 引、s e r q l 【1 9 】和s p a r q “4 】 世 寸o a ) r q l 。r q l 是针对r d f 和r d fs c h e m a 的查询语言,沿用对象查询语言 o q l 语法。它的主要思想是如果研究一个或多个i f 和s c h e m a 模式, 可以把他们看成一组图的连接。r q l 对语言本身进行了r d fs c h 锄a 语 义研究,并涉及类实例关联关系、类属性包含关系、域范围等,并且 可以通过制定语句推断得到。i c s 二f o r t h 的r d fs u i t e 【2 0 】 ( 1 蜘:1 3 9 9 1 1 8 3 3 0 :9 0 9 0 i f ) 已实现r q l 。 b ) r d q l 。r d q l 是s q u i s h q lr d f 查询语言的应用。它包括以三元组模式 列表表达的图形模式,其语法类似于s q l 的s e l e c t 模式,但没有 f r o m 子旬。i d q l 是安全的,并且提供初始的数据类型。 c ) n 3 q l 。n 3 q l 的数据模型与i f 数据模型一致。它提供基于) f 文本 的语法,它支持定义规则来实现查询的目的,因为这个目的,作为规则, 查询不得不保存在专用文件中来关联数据。作为一个查询语言,n 3 是比 较难以使用的。目前e u l 0 2 1 1 ( d e r o o ,2 0 0 0 2 ) 和c w m 【2 2 】( b e m e r s l e e , 2 0 0 0 b ) 实现了n 3 q l 语言。 d ) 强p l e 。嘶p l e 是使用规则语言进行实际查询的运行系统。它的核心语言

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论