(计算机软件与理论专业论文)一个rdf存储与查询系统的设计与实现.pdf_第1页
(计算机软件与理论专业论文)一个rdf存储与查询系统的设计与实现.pdf_第2页
(计算机软件与理论专业论文)一个rdf存储与查询系统的设计与实现.pdf_第3页
(计算机软件与理论专业论文)一个rdf存储与查询系统的设计与实现.pdf_第4页
(计算机软件与理论专业论文)一个rdf存储与查询系统的设计与实现.pdf_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

摘要 语义w e b 被看成是下一代w 曲的扩展,其目标是使w e b 上的信息可以被机器所理解, 从而高效准确地查找信息。语义w e b 的发展将有助丁计算机之间及其与人之间的协同t 作, 实现数据的自动化处理。在语义w e b 中,r d f 和r d fs c h e m a 一般被用于描述资源,从而 提供资源的元数据。随着r d f 的应用越来越j 1 泛,对于r d f 的存储与查询的需求也越来 越多。 奉文首先介绍了语义w e be 的查询语言,重点介绍了s p a r o l 语言,然后阐述了 个 r d f 存储与查询系统( f i r l l r e e ) 的设计与实现,f l r l r e e 采用前向推理策略,实现了数 据的增加、删除、查询功能。本文还介绍了一个具体的语义w e b 应用例子w o n d e r s p a c e , 这个例子说明rr d f 存储与查询系统的应用场景。 在现有的r d f 存储与查询系统上,大量的性能测试结果显示,大多数情况下,基丁前 向推理的系统优于基于屙向推理的系统,但是,当r d f 数据包含复杂的类和属性层次结构 的时候,基于后向推理的系统r 有优势。基于以上的考虑,我们以为现有的系统采用的推理 策略不够灵活,不能适片j 于所有的语义w e b 应用。所以,本文设计了一个r d f 存储与查询 框架,它采用灵活的推理策略,即结合了前向推理和后向推理策略。本文还设计了一个半自 动规则配置t 具,它用于分析应用程序中的数据特祉,防助用户配置推理引擎中的规则。 关键词:语义w 曲,r d f ,r d fs c h e m a ,存储,商询 a b s t r a c t 1 1 h es e m a m i cw e bh a se m e 唱e da st h en e x tg e n e r a t i o no f 血ew o r l dw 1 d ew e b ,l ta i m sa t p u 仕i n gm a c h n e - u n d e r s 伽1 d a b l ed a t ao n 廿1 ew 曲w h e r ed a t ac a nb es h a r e da 1 1 dp m c e s s e db y a u t o m a t e dt o o l sa sw e l ia sb yp e o p l e ,t h i sb e t t e re n a b l e sc o m p u t e r sa n dp e o p l et ow o r ki n c o o p e f a t i o n i ns e m a i i t i cw 曲,r d f ( r e s o u r c ed e s c r i p t i o nf r 砌e w o r k ) a i l dr d fs c h e m aa r e c o m m o n l yu s e dt od e s c r i b em e t a d a 诅w i mt h ew j d e l y 叩p l l c a t i o no fr d f ,t h er e q u l r e m e n to f r d fs t o r a g ea n dq u e r yi n c r e a s e dg r e a t l y t h i sp 印e ri n t m d u c e st h eq u e r yl a l l g l l 鸭e si ns e m a n t i cw e ba tn r s t ,e s p e c i a l l yt h es p a r q l q u e i yl a n g u a g e ,t l l e nd e s c r i b et 1 1 ed e s i g na n dj m p l e m e n t a t i o no f a nr d fs t o r a g ea n dq u e r ys y s t e m ( f i r l 、r e e ) ,h r t r e eu s e sf o n v a r dc h a i n i n gs t r a t e g y ,i m p l e m e n t s t h r e ef u n c t i o n s ,t h a tj s i n s e r t i n gd a t a ,d e l e t i n gd a t aa n dq u e l y h l gd a 诅t h i sp 印e ra l s oj n t m d u c e sas e m a n t i c 、b 印p l i c a t i o n - w o n d e r s p a c e ,t h i s 印p l i c a t i o ns h o w s 柚印p l i c a t i 佃s c e n a r i oo fr d fs t o r a g e a n d q u e l ys y s t e m m a l 】yp e r f o m a l l c et e s t sw e r ec o n d u c t e df o rc u r r e n tr d fs t o r a g ea n dq u e r ys y s t e m s ,t h e r e s u l t ss h o wt h a t ,j nm o s tc a s e s ,f o r w a r dc h a i n i n gb a s e ds y s t e m sa r es u p e r i o rt ob a c k w a r d c h a i n i n gb a s e ds y s t e m sh o w e v e lw h e nr d fd a t ac o n s i s t se x c l u s i v e l yo f a1 a r g ec l a s so rp r o p e n y h i e m r c h yt h a ti sb o t hb r o a da n dd e ep t h ed i s a d v a n t a g eo f1 a 皑e rs t o r a g es p a c em a y a ts o m ep o i n t m l m e i g ht 1 1 ea d v a i l t a g eo f 风t e rq u e r y i n g b a s e do nt h ea b o v ec o n s j d e r a t j o n s ,w ef e e lt h a tt h e 协f 矗e n c es t t a t e g ye m p l o y e db ye x i s t i n gs y s t e m si sn o tf l e x i b l ee n o u g hf o rs e m a n t i cw 曲 印p l i c a l i o n s t h e r e f b r e ,w ed e s i g na nr d fs t o r a g ea i l dq u e r yf r a m e w o r kw i i hn e x i b l ei n f 酊e n c e s 仃a t e g y ,w h i c hc 锄c o m b i n ef o r w a r da n db a c k w a r dc ha n i n gi n f e r e n c es t r a t e g i e s t h i sp 印e ra l s o d e s i g nas e m i - a u t o m a t i cr u l ec o n f i g u r a t i o nt 0 0 1 ,i ti su s e df o ra n a l y z i n gd a t ac h a r a c t e s t i c s ,a s s i s t s u s e r b yc o n n g u r i n gt h er u l e si nj n f b r e n c ee n g i n e s k e yw o r d s :s e m 柚廿cw c b ,r d f ,r d fs c h e m a ,s t o r a g e ,q u e r y i l 东南大学学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得 的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含 其他人已经发表或撰写过的研究成果,也不包含为获得东南大学或其它教育机构 的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均 已在论文中作了明确的说明并表示了谢意。 研究生签名:立丝垫:象日期:丛;己夕 东南大学学位论文使用授权声明 东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送交学位 论文的复印件和电子文梢,可以采用影印、缩印或其他复制手段保存论文。本人 电子文档的内容和纸质论文的内容相一致。除在保密期内的保密论文外,允许论 文被查阅和借阅,可以公布( 包括刊髓) 论文的全部或部分内容。论文的公布( 包 括于0 登) 授权东南大学研究生院办理。 研究生签名:主蝗堑至导师签名:日期:以叼 1 1 研究背景 第一章绪论 当前,随着互联网的发展,w e b ( w o r l dw i d ew e b ,万维网) 上信息的数量也在不断快 速地增长,这一方面为人们提供了更多的可共享的信息;另一方面,却增大了人们获取所需 要信息的难度。虽然通过搜索引擎,一定程度上减小了这种难度,但目时存在的搜索引擎很 难在查准率上让人们满意。而且随着多层w e b 体系结构地应用,有越来越多的数据被存储 到数据库中,这更让搜索引擎显得力不从心。同时,我们注意到,在庞大的互联网环境中, 几乎所有的计算机所起到的作用都只是存储数据、传输数据或显示数据,担当着人与信息之 间的媒介。如果能够让这些计算机理解所存储和传输的数据的话,其势必可以帮助人们去选 择、鉴别,并进而白动地去处理这些数据,这样将极人地提高数据的自动处理能力。 正是在这种情况下,w 曲的创始人t t mb e m e l e e 通过w 3 cf w o r l dw i d ew e b c o n s o n i u m ,万维网联盟) 提山了语义w e b f s e m a n t i c w e b l 的想法,并把语义w e b 看成是 下一代的w 曲发展方向,其目标是为w 曲的实际信息内容提供形式化的含义,以实现信息 在语义层的互操作,从而使得计算机和人类能够更好地协同工作。也就是说,语义w 曲的 目标是让w e b 上的信息能够为机器所理解,从而实现w e b 信息的自动处理( 如自动搜索、 知识获取、逻辑推理等) ,以适应w 曲信息资源的快速增长,更好地为人类服务。 语义w e b 的核心思想就是让机器理解w e be 的信息,即w e b 数据的语义。这就需要为 机器提供描述w 曲数据的数据,即元数据。为此,需要建立一个通用的元数据模型,r d f ( r e s o u r c ed e s c r i p t i o nf m m e w o r k 资源描述框架) 正是这样的一种标准。r d f 提供r 一种 通用的框架,即由资源、属性、属性值所组成的三元组,以描述w e b 上的资源。r d f 描述 的资源可以是任何一个能够用u r i 代表的事物,属性值可以是原子实体,也可以是一个由 某个u r j 代表的资源。闪此,一个r d f 模型可以看作是一个带标签的有向图。而r d f s c h e ma 【“是r d f 的扩展,它通过提供些原语来定义类、属性、类与属性之间的隶属关系 等,米增强对资源语义的进一步描述。 在r d f 模型中,一个具有若干属性和相应的属性值的事物( 也称之为一个资源) ,可以 通过若干语句( 即二元组) 米进行描述,语句中的三个部分义分别称作主体( s u b i e c t ) 、谓 词( p r e d i c a t e ) 利客体( o b j e c t ) 。其中主体即所耍描述的资源,谓词为资源的一个属性,而 客体为该属性所对应的值。r d f 模型的底层结构就是三元组的集合,其中每个二元组可以 用节点一弧一节点的连接米表示,显示如f : 图1 1r d f 三元组的图形表示 可以看出,每个三元组实际上表示一个语句,一个这样的三元组集合就称为r d f 图。 在r d f 陶中,节点总是主体和客体,而且弧的方向总是由主体指向客体。r d f 三元组通过 谓词说明了事物间的某种联系。而r d f 图的含义由图中众多的三元组共同进行说明。 简而言之,r d f 使用属性及属性的值描述资源,形成一条语句。然而,在这些语句中 会使用一些特定的词汇,特别是,有时候需要指明正在描述的资源是一类资源,用以描述此 资源类的属性有特定的约束,r d f 并不具各这样的能力。r d f 模犁只是提供了一种机制来 描述元数据,它并没有定义任何应用领域的语义,定义专门领域的资源属性及其语义需要其 它的手段。这些类和属性所形成的特定词汇可以使用r j ”s c h e m a 来描述。 r d fs c h e m a 比较类似于一些面向对象的程序设计语言,比如允许类组织成层次结构, 一个资源可以是一个或多个类的实例。但在某些方面义不尽相同,比如它对类和属性的描述 属于扩展的性质,1 :是强制性的。 r d fs c h e m a 本身也是一种元数据,也是以r d f 资源集的形式存在的,并且r d fs c h e m a 产生的词汇描述也是r d f 图,遵循r d f 规则。冈此,r d f 软件可阻把r d fs c h e m a 正确的 解释成r d f 图。 r d fs c h e m a 定义了资源的种类,还有资源的属性及其之间的关系。元数据的含义被机 器理解和共享是很必要的,在这方面本体( 0 n t 0 1 0 斟) 起了相当重要的作用,本体实际上是 一种共享的词汇,一般描述了某个领域的重要概念,以及概念间的关系。r d fs c h e m a 就被 视作一种简单的本体语言。 r d f 已被广泛地应用在各个领域,例如:用于协助搜索引擎更好地查找资源,对网站、 图书馆中的内容及其关系进行分类和描述,以及智能软件代理中用作知识表示、共享和交换 等等。随着r d f 的麻用越来越广泛,对于r d f 的存储与查询的需求也越来越多。 1 2 发展现状 目前,研究人员已经提山并实现了好儿种r d f 查询语言,其中有一些是基于传统的数 据库查询语言( 例如s q l ,o q l ) ,其他的基丁逻辑和规则语言。从s q l 语言对关系数据库 的影响米看,r d f 查询语言的标准化能够帮助r d f 查询引擎被更好的接受,使开发语义 w e b 应用程序更加的容易,更有利于语义w 曲的推j “。w 3 c 于2 0 0 4 年2 月成立r d f d a t a a c c e s sw o r k i n gg m u p ( d a w g ) ”j ,d a w g 致力于制定r d f 查询语言和访问协议标准。 s p a r q l p o 是d a 、g 制定的一种r d f 查淘语言,它遵循s q l 语占的语法格式。 已经有好几种r d f 存储与查询工具被开发和使用,图1 2 列出了一些r d f 存储与查洵 系统,所有工具剑目前为l r 还只是研究原型。 t 具名称开发语言版本 l i c e n s e j e na 【6 ,7 】j a v a2 3 a p a c h e ,b s d - s i y l e1 i c e n s e s e s a m e 8 】j a v a1 2 3g p l ,l g p l k a o n 【9 】j a v a1 2 7 a p a c h e ,b s d - s t y l e r d f d b l l o 】c4 b e t am o z i l l ap u b l i cl c e n s e r d f s t o r e 【1 l 】co 5 a p a c h e ,b s d - l i k el i c e n s e r e d l a n d c1 0 2g p l l p g l m o z i l l ap u b l l cl i c e n s e r d f s u i t e 【1 3 l j a v a2 ,or d f s u i t el j c e n s e 图1 2r d f 存储查询系统的简单情况 总体而言,现有的引擎能够很好的支持r d f 的存储与查询,而且性能也越来越好。但是 还有几个方面的不足。首先是各个引擎支持不同的r d f 奄询语言,j = f 】户使削一种工具就必 须学习一种查洵语言,这不仅给用户带米很大的麻烦,也极大的阻碍r 语义w e b 的推j “。 随着w 3 c 的s p a r o l 查询语言的成熟,各个引擎也面临着随时做出修改的境地。其次是各 个推理引擎支持不同的推理策略,但是不能满足所有的语义w e b 应用,因此,推理策略的 2 优化也势在必行。 1 3 研究目标与内容安排 本文工作是江苏省自然科学基金项目“语义、 ,e b 语言及支撑软什技术基础研究”( 批准 号b k 2 0 0 3 0 0 1 ) 的一个研究内容。本文的研究重点是:一、跟踪与学习s p a r o l 查询语言, 在这基础上没计与实现一个r d f 存储与查询系统。二、深入研究r d f 存储与查询系统的推 理策略,并给出了一个具有灵活推理筻略的r d f 存储与查询框架。 本文的以下各章安排如下:第二章介绍了语义w 曲上的查询语言,重点介绍了s p a r q l 语肓;第三章首先介绍了一个r d f 存储与查询系统的设计与实现,它采用前向推理策略, 实现了数据的增加、删除、查询功能,然后又介纲了一个具体的语义w 曲应用例子 w o n d e r s 口a c e i j 4j ,这个例子说明了r d f 存储与查询系统的府用场景;第四章介绍了一个具 有灵活推理策略的r d f 存储与查询框架,它结合了前向推理策略和后向推理策略;文章最 后对目前的研究做出总结,并对下一步研究工作提出展望和讨论。 第二章语义w 曲上的查询语言 2 1 概述 目前,有好几种r d f 布询语言被提山和实现,其中有一些是基于传统的数据库查询语 言( 例如s q l ,o q l ) ,其他的基于逻辑和规则语言。从s q l 语言对关系数据库的影响来看, r d f 奇询语言的标准化能够帮助r d f 查询引擎被更好的接受,使开发语义w e b 应用程序更 加容易,更有利于语义w 曲的推广。 本章首先简要介绍了现有的儿种r d f 查询语言,然后详细介绍了w 3 c 的工作草案 s p a r o l 查询语言。 2 2 现有的查询语言 2 2 1r q l r q l 基于o q l 的语法,例如s e l e c tp u bf r o m p u b n s 3 :y e a r y ) w h e r ey = 2 0 0 6 ”u s i n g n m e s p a c en s 3 = ,r q l 支持路径表达式,它最主要的一个特点是把r d fs c h e m a 的语义信 息内嵌到语言当中,r d fs u n e 系统实现了r q l 语言,s e s a i n e f 8 1 系统也部分实现了这个语 言。 2 2 2s e r q l s e r q l 【15 1 是一个r d f 查询和转换语言,它基于现有的儿种语言( 例如r q l ,r d q l ,n 3 ) , 并增加了一些新的特征,它支持图的转换,r d fs c h e m a ,路径表达式的语法,可选的路径 匹配,查询的合成等功能。目前,s e s a r n e 8 1 系统已经实现了s e r o l 语言。 2 2 3t r i p l e t r t p l e 是一个基于f 1 0 9 i c 语言,它支持规则的定义,推理和转换,它的核心语言基 于h o m 逻辑语法扩展来支持r d f 元语( 命名空间,资源,三元组) ,t r j p l e 不局限于特定 的语义,具体的语义可以通过制定规则集来实现,t r j p l e 不支持数据类型,也不支持更新 事实库。 2 2 4r d q l r d q 7 1 的语法遵循s q l 的s e l e c t 模式,不过没有w h e f e 子句。例如s e l e c t ? xw h e r e ( ? x ,”x o b j e c t ”) 表示查询所有以x o b j e c t 为标签的资源。r d q l 不支持r d fs c h e m a 语 义,它初步支持数据类型。目前,j e n a 6 7 1 实现了r d o l 语言。 4 2 2 5 n 3 n 3 提供r d f 基丁文本的语法,它支持定义规则来实现查询的目的,因为这个目的, 作为规则,查询不得不保存在一个文件中来关联数据。作为一个查询语言,n 3 是比较难以 使用的。目前e u l e r 和c w m 【2 ”实现了n 3 语言。 2 2 6v e r s a v e r s a f 2 ”是基丁图的语言,它支持规则。它使用所谓的横越表达式来表示查询,它的格 式为l i s t e x p r l i s t e x p r - b 0 0 l e x p r ,这些表达式返回一个匹配三元组客体的列表。目前 4 s u i t e 口2 】支持v e r s a 语言。 2 3s p a r q l 查询语言 w 3 c 于2 0 0 4 年2 月成立r d f d a f a a c c e s s w o r k i n g g r o u p ( d a w g ) h ,d a w g 致力于制定 r d f 查询语言和访问协议标准。2 0 0 4 年3 月制定了r d f 数据访问用例和需求文档,这个文档 指定了r d f 查询语言和数据访问协议的削例、需求和目标,i | _ j 例覆盖各种麻崩领域,如私人 和商业信息管理、资源发布、旅游、软件开发、社会网络等。技术需求可以归类为数据模型 的支持( 有限的数据类型支持,可扩展的数值测试) 、图层次上的操作( r d f 图模式匹配一 交或者补,变量绑定结果) 、输出结果的构建( 子图结果,本地查询) 、输出管理( 可选匹 配,返回结果个数限制,结果流输出) 、接口描述协议的确定( 用w s d l 描述接口) 。设计 目标有用户友好的语法、数据的综合和聚合、不存在的三元组测试、高效利崩带宽的协议、 文字查询、是或否的查询、设定排序的结果等。 s p a r o l 是d a w g 根据上面提及的技术需求和设计目标制定的一种r d f 查询语言。 s p a r q l 遵循s q l 语言的语法格式,一个s p a r q l 查洵基于查询模式。 s p a r o l 支持丰富的查询模式,最简单的查询模式是三元组模式,例如:? b 0 0 k d c :t i t l e ? i j t l e 就是一个三元组模式,其中b o o k 和t i t l e 是变量。通过组合简单的三元组模式,可 以得到更加复杂的图模式,包括基本图模式、值限制模式、町选图模式、图模式的并、n a m e d g r 即h s 图模式。这些图模式可以嵌套定义,这样可以组合成更强大的查询模式,满足更广泛 的需求;s p a r o l 还支持对结果集的排序和返回结果数量的限制等功能。 为了满足不同的需求,s p a r o l 提供了四种查询结果格式。s e l e c t 格式的查询返回的 是全部或者部分查询模式匹配的变量绑定;c o n s t r u c t 格式的查询返回的是一张满足查询 模式的子图;d e s c r j b e 格式的查询返回的是一张描述指定资源的r d f 图;a s k 格式的查询 返同查询模式是否匹配。 下面将详细介绍s p a r o l 布询语言的各个特性。 2 3 1 基本图模式 基本的图模式是一个三元组模式的集合,这些三元组模式的关系是交关系,也就是 个幽模式的解必须匹配各个三元组模式。r 面是一个基本图模式的例子。 p r e f i xf b a f 一:af o a n a m e ”s p a r k ”; f b a m b o x : f o a f d e p i c t i o n ( h 郇:x o b j e c t s e d u c r p h o t o s s p a r k j p g :bf o 啦n a m e”c 0 1 1 i n ”: f o a t m b o x : f o a f d e p i c t i o n :cf b a t n a l l l e”w n s h e n ”: f o a m b o xs h a l s u m ”3 f 0 1 f a 9 9 2 9 d f 7 6 9 a 肿7 3 f 5 7 d e c 2 f e o c 2 2 9 0 a e e a ” :df b a e n a l l l e”1 a m s o u r c e ”: f o a f d e p i c 廿o n :ef o a n 锄e ”1 9 u 柚”: f o a l b o xs h a l s u m ”3 ed i i 8 0 s d f o s d 9 8 f s 0 8 9 k e w e 8 i e k q k 9 0 3 3 3 2 s 矾” f o a f d e p i c t i o n 图2 1 :五个人的f o a f 图 p r e f i xf o a f : s e l e c t ? m b o x w h e r e ? xf o a f = n a m e ”s p a r k ” ? xf o a t m b o x ? m b o x 幽2 2 :基本图模式查询例子 图2 1 定义了一个简单的f o a f 图,它包含五个虚拟人物的描述信息。图2 2 显示的查 询例子是为了找山s p a r k 的邮箱。查询的第一行定义rf o a f 命名空间的前缀,这样以后就 不需要每次都写出f o a f 的完整u r l ,可以用前缀米代替;s e l e c t 子句规定了要返回的 变量绑定,变量都以字符“? ”或“$ ”开头,在这个例于中,将返回变量m b o x 的绑定;最 后,w h e r e 子句包含了一个基本的图模式,它包含两个三元组模式,分别是? xf o a n 锄e ”s p a r k 和? xf o a e m b o x ? m b o x 。只有同时匹配这两个三元组模式的变量绑定才能成为图模式 的解。在这个例子中,第一个三元组模式匹配到一个叫:a 的空白节点( b l a i l kn o d e ) ,这个空 白节点有一个f b 赶n a i l l e 属性,属性值是s p a r k ,所以我们把这个空白节点绑定到x 变量上, 这个图模式的第二个二元组模式匹配阻:a 为主体、f b 世m b “为谓词的三元组的客体节点。 图2 3 显示了查询结果。 2 3 2 可选图模式 在图2 1 的数据集中,假如你想写一个s p a r o l 查询返同所有人的姓名,并且如果有照 片,返回每个人的照片。如i 刳2 - 4 ,用基本图模式,只能返回四个结果,因为姓名叫w n s h e n 的人没有f o a t d e p i c t i o n 属性值,冈为只有匹配基本图模式的变量绑定才能作为查询的解, 所以w n s h e n 不是查询的解。 s p a r q l 的o p t i o n a l 关键字可以解决这个问题,o p t i o n a l 区域内的查询模式的不 6 匹配不会导致整个图模式的不匹配,但是如果匹配了,那么匹配的变量绑定将加入到结果中。 如图2 4 的可选图模式查询部分显示了这个查询,查找图2 1 数据集中所有人的属性 f b a f n a l t l e 的值,然后可选的查找相应的属性f b a d 印i c t i o n 的值 基本图模式查询: p r e f i xf b a f 曲t t p :,x m l n s c o i l l f b 栅,1 卢 s e l e c t ? n 啪e ? d 印i c t i o n w h e r e ? p e r s o nf o a f ! n 锄e ? n 咖e ? p e r s o nf b a f :d e p i c t i o n ? d e p ic t l o n ) 可选图模式奄询: p r e f i xf o a t s e l e c t ? n 砌e ? d e p i c t i o n w h e r e ? p e r s o nf o a c n a m e ? n a 1 t i e o p t i o n a lf ? p e r s o nf o a f d e p i c t i o n ? d e p i c t i o n 幽2 4 可选图模式的例子 图2 5 显示了查询结果,所有的结果都包含了人的姓名,只有属性f o a t d e p j c t i o n 的值存 在时,结果中才包含变量d e p i c o n 值,否则直接省略d e p i c t i o n 值。 d e p i c t i o n s d a r k c o l | j n w n s n e n l s o u r c e j g u a n h t t p :,x o b j e c t s p h o t o s 巧g u a n j p e g 图2 5 可选图模式查询结果 图2 4 的可选图模式例子的o p t i o n a l 区域只包含一个三元组模式,其实它可以包含 任意的图模式。一个查询中可以包含多个可选图模式,这些可选图模式之间是相且独立的。 可选图模式也可以嵌套定义,也就是一个可选图模式町阻包含另一个可选幽模式,只有当外 部的可选图模式匹配的时候才考虑内部的可选幽模式。 2 3 3 图模式的并 f o a f 幽用e m a 1 地址来唯一标志一个人,为了保护隐私,有些用户更喜欢用e m a i l 地 址的哈希值( h a s h c o d e ) 。文本的e m a i l 地址用属性f o a f m b o x 来表示,e m a i l 地址的哈希值 用属性f j 赶m b o xs h a l s u m 来表示,一股一个人的f o a f 描述中只含有其中的一种信息。如 果你想写一个查询,当其中任何一种信息存在时,返回这个信息,你可以用s p a r o l 语言 的u n i o n 关键字来达到这个目的。 u n i o n 关键字用来连接两个图模式,只要任何一个图模式匹配,那么整个查询就匹配。 图2 6 显示了图模式并的例子,它返回所有人的姓名,并且当存在f o a f m b o x 或者f o a t s h a l s u i i l 属性值时,返回这些值。 p r e f i xf b a t s e l e c t ? n a m e ? m b o x w h e r e ? d e r s o nf o a t n a m e ? n a m e ? p e r s o nf b 吐m b o x ? m b o x ju n i o n ? p e r s o nf o a f m b o x - s h a ls u m ? m b o x 图2 6 幽模式卉:的例子 图2 7 显示了查询结果,从图中可以看出j a m s o u r c e 不包含在查询结果中,因为他既没 有f b a f m b o x 属性值,也没有f o a t s h a l s u m 属性值。同可选图模式相比,图模式的并只有在 其连接的两个图模式中的任何一个匹配时,整个查询才能匹配,如果两个都不匹配,那么整 个查询也不匹配。 n a m em b o x s d a r k c o l l i n 3 f 0 1 f 驷9 2 9 d f 7 6 9 a f r l 7 3 f 5 7 d e c 2 f e o c 2 2 9 0 a e e a j g l l a n3 e d j j 8 0 s d f o s d 9 8 f s 0 8 9 k e w e 8 j e k q k 9 0 3 3 3 2 s f f s 图2 7 图模式并例子的结果 2 3 4 值限制 s p a r q l 语言的h u l e r 关键字通过给定的表达式来限制结果集,具体讲,当给定的表 达式为假或者产生类型错误时,f i l l e r 就消去这些结果。这些表达式是布尔表达式,可以 通过逻辑符号& & 和ji 结合成更复杂的表达式。 p r e 行xd c : h t 印:佃u r l o r g d c e l e m e n t s 1 1 卢 p r e 矗x n s : :b o o k ld c :t i t l e”t h ea r to f c o m p u t e rp m g r 蛐m i n g ” :b 0 0 k 1 n s :p r j c e 1 2 0 , :b o o k 2 d c :t i t l e”t h es e m a n t i cw 曲”, :b o o k 2 n s :p r i c e 5 0 图2 8 图书价格表 p r e f i xd c : h t f p :p 州o 呵d c e l e m e n t s 1 1 胁 p r e f n s : h 仕p :,e x a m p i e o r g ,n 渺 s e l e c t ? 廿t i e ? p r i c e w h e r e f ? xd c :t i t l e ? t i t l e ? xn s :p r i c e ? p r l c e f i l t e r ( ? p r i c e 6 0 ) 图2 9 值限制查询例子 t i t l e t h es e m a n t i cw e b5 0 图2 1 0 值限制查询例子结果 图2 8 显示了一个图书价格列表,它包含两本书的名字和价格。图2 9 显示了一个查询, 它返同价格低于6 0 的图书的标题和价格。图2 1 0 显示了查询结果,t h ea no fc o m p u t e r p r o g r a m m j n g 没有包含在结果集中,因为它的价格为1 0 0 ,这导致了表达式? p r i c e 6 0 值为 假。 2 3 5n a m e dg r a p h s 图模式 多个r d f 数据源的信息可以合并成一个r d f 数据源,有时候我们需要追踪某个三元组的 起始位置,这个信息就是所谓起源( 肿v e n a n c e ) 信息的部分,起源信息还包括一些= 元 组描述方面的信息。当前,r d f 用具体化( r e i 6 c a t i o n ) 机制来描述起源信息,但是具体化 机制描述的对象是三元组,由于描述粒度太小,所以导致三元组的数量成倍增加,在 2 3 】中, 作者提出了n a m e d g r a p h s 概念,n a m e d g r 叩h s 扩展了r d f 的语法和语义,能用r d f 三元组来 描述r d f 图,因为以图为描述粒度所以三元组的数量不会增加很多。 s p a r q l 语言提出了r d f d a t a s e t 概念,这类似于na i t l e d g r a p h s ,不同的是s p a r q l 有一 张后台图,当查询没有规定在哪张幽中查询的时候,就默认在后台图中查询,当然也可以规 定在一张或多张n a n l e dg r a 口h s 中查| 旬。 到目前为止,我们提供的查询都运行在厉台图上,除了后台图,s p a r q l 可以查询任何 数目的n 锄e dg r a p h s 。s p a r q l 使用关键字g r a p h 米查询n 枷e dg r a p h s ,关键字g r a p h 后 面紧跟着n a i i l e dg r a p h s 的i r i 口州或者一个变量,这个变量涉及到r d fd a t a s e t 中所有n e d g r a p h s 的i r j 。 幽2 川显示了一个r d f d a t a s e t ,它包含一个后台图和两个n a m e d g m p h s 。其中后台图描 述了n a m e dg r a p h s 的一些信息,n a m e dg r a p h s 分别是w n s h e n 和j m s o u r c e 的f o a f 信息。下面 以这个r d fd 砒a s c t 为数据渊介绍几种n a r n e dg m p h s 图模式。 # d e f a u l tg r a p hh 郇:x o b j e c t s ,e d u c “f o a 砌e f a u l t f o a f p r e f i xd c : h 廿p :p u r l o r g d c ,e l e m e n t s 门1 肛 p r e 疗xd a t a : b n p :x o b j e c t s e d u c n f o a 胁 d a t a :w n s h e n f o a f d c :p u b l i s h e r w i l s h e n ” d a t a :w n s h e n f o a fd c :d a t e ”2 0 0 6 0 1 0 6 ” d a t a :j a m s o u r c e f o a fd c :p u b l i s h e r 0 柚s o u r c e ” d a t a = j 锄s o u r c e f o a fd c :d a t e ”2 0 0 6 - 0 1 - 2 3 ” 群n a m e dg r l p h :h t t p :x o b j e c t s e d u c n f o a f w n s h e n f o a f p r e 矗x f o a h 札p :x m l n sc o m ,f o a f 0 1 卢 p r e 疗x r d e h 卸:w w w w 3 o 吲19 9 9 0 2 2 2 一r d f _ s y n t a x - n s 炒 p r e f i x r d f s : :af o a e n a m e”w n s h e n ” 9 :af o a m b o x :a f b a t k n o w s :bf j a t n a r n e :b f o a t m b o x :bf o a t n i c k :br d f s :s e e a l s o 一:b 。0 a r i l s o u r c e ” ”9 0 0 d m a n ” 拌n a r n e dg r a p h :h 廿p :x o b j e c t s e d u c n f b a 硝a m s o u r c e f o a f p r e f i x f o n m p :n l n s c o m f o a 伽1 卢 p p r e 打x r d t p r e f i x r d f s : :zf b a n 砌e”i a m s o e ” :zf o a m b o x :z r d f s :s e e a i s o :z f b a t n i c k”h a n d s o m e m 肌” 图2 1 1 一个r d fd a t i s e t 2 3 5 1 基于特定图的n a m e dg 阳p h s 图模式 当关键字g r a p h 和特定的r d f 图的l r i 或者已经绑定的变量一起使用时,那么图模 式将应用丁这个i r i 或者变量对应的绑定值指定的n a m e dg r a p h s ,如果在这个特定的n a l l l e d g m p h s 上找到匹配对,那么这些匹配对形成查询结果。 p r e f i xt l o a : h 札d :x m l n s c o 州f o 缸y o 1 肛 眦f l xd a t a : h t t p :x o b j e c t s e d u c “f o a 伽 s e l e c t ? 伍c k n 枷e w h e r e g r a p hd a t a :j a m s o u r c e f o a ff ? x f o a 胁b o x ? xf o a e n i c k ? 面c k n a r n e , 图2 1 2 基于特定图的n a m e dg r a 口h s 图模式查洵例子 图2 1 2 显示的是一个基于特定图的n a m e dg m p h s 图模式查询例子,其目的是为了在 j

温馨提示

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

评论

0/150

提交评论