预存储rdf三元数据的方法和装置的制作方法

文档序号:6337918阅读:338来源:国知局
专利名称:预存储rdf三元数据的方法和装置的制作方法
技术领域
本发明涉及RDF三元数据的存储和管理,更具体而言,涉及用于加速RDF三元数据的查询和读取的方法和装置。
背景技术
RDF (Resource Description Framework,资源描述框架)是万维网联盟(W3C)提出的一组标记语言的技术标准,以便更为丰富地描述和表达Web资源的内容与结构。具体地,RDF可专门用于表达关于Web资源的元数据,比如Web页面的标题、作者和修改时间,Web 文档的版权和许可信息,某个被共享资源的可用计划表等。然而,将“Web资源”这一概念一般化后,RDF可用于表达关于任何可在Web上被标识的事物的信息。随着基于语义的网络描述的发展,RDF数据越来越多地应用在各种网络相关应用中,对RDF数据的管理也变得愈加重要。与一般的关系数据不同,RDF数据可表达为三元组的形式,该三元组包括〈主体, 谓词,客体〉。也就说,RDF通过这样的三元组描述各个元素之间的关系。在将这样的RDF 三元组存储在诸如数据库的存储系统的情况下,通常通过W3C推荐的SPARQL语言进行数据查询。

图1示出现有的RDF数据存储和查询系统的结构。该系统100包括数据库101,数据加载器102,数据存取模块103和查询引擎104。数据库101用于存储RDF三元数据。具体地,在数据库101中,包括IRI表和三元组表。IRI表用于存储内部ID或索引与数据中的IRI串之间的对应关系,而三元组表用上述内部ID的表示形式来存储三元组数据。可以理解,这样的存储方式有利于数据的压缩存储,从而节省存储空间。在从外部输入新的RDF 数据时,数据加载器102接收数据输入,并对输入的RDF数据进行解析,将其转化为内部数据模型。对于该内部数据模型中的每个串,数据存取模块103为其分配一个唯一的内部ID,并将该ID与该串之间的对应关系插入或存储到上述IRI表中。之后,对于数据模型中的每个RDF三元组,数据存取模块103将其内部ID的表示形式插入或存储到上述三元组表中。对于如此存储的RDF三元数据,在想要进行数据查询时,查询引擎104接收用户的 SPARQL查询请求,并将SPARQL查询请求转译为对应的标准化SQL (结构化查询语言)语句。 数据存取模块103根据SQL语句从数据库101中提取所查询的三元组,并将结果返回给查询引擎104。下面结合具体例子说明在上述系统100中执行的RDF数据存储和查询的过程。在一个例子中,在数据库101中存储关于学校课程设置的信息,这些信息均以RDF三元组形式存储。假定,用户想要知道选修Jack所教授的课程的学生名单,那么可以在查询引擎104 中将SPARQL查询设置为SELECT ? nameWHERE {? student :hasName ? name.(1)
? student :takeCourse ? course. (2)? course :toughtBy ? person. (3)? person :hasName "Jack,,.(4)}在上述SPARQL查询中,请求返回所有name值,其中WHERE{}中的语句为name需要满足的关系。具体地,该查询中包含了 4行三元组形式的查询语句(1)- ),每个这样的语句称为一个三元模式(tripl印attern)。可以理解,此处为了便于描述而对这些语句进行了编号,在实际查询中不存在这样的编号。与RDF数据相对应地,每个三元模式也表示为〈主体,谓词,客体〉的形式,但是可以在三元组的至少一个元素前添加问号,将其设定为变量,以表示对该元素进行查询。例如,三元模式(4)表示希望查询在三元组中的谓词为hasName,客体为Jack的情况下,对应的变量person,即确定名字叫Jack的person。继而,通过三元模式(3),可以搜索谓词为toughtBy,客体为以上确定的person的情况下,对应的主体course,也就是确定person所教授的课程course。在三元模式( 中,搜索选修 course的所有student,最后,在三元模式(1)中,确定上述student的名字name。于是,通过以上的三元模式(1)44),以person,course,student为中间变量,就可以确定最终想要查询的name的值。通过逐一执行上述三元模式,图1中的数据存取模块103从数据库101中依次提取出期望的查询结果,并返回给查询引擎104。在一个例子中,返回的RDF三元组可以为如下的形式
权利要求
1.一种处理RDF三元组的方法,所述方法包括获取对RDF三元组的查询请求,所述查询请求包括至少一个三元模式; 将所述至少一个三元模式转化为基本模式的加权; 基于基本模式的加权,统计所述基本模式的出现频率;以及在所述基本模式的出现频率满足一定条件时将所述基本模式所对应的RDF三元组预存储到缓存区。
2.根据权利要求1的方法,其中获取对RDF三元组的查询请求包括,从查询日志中读取查询请求的记录。
3.根据权利要求1的方法,其中所述基本模式具有〈?s:p ? o>的形式。
4.根据权利要求1的方法,其中将所述至少一个三元模式转化为基本模式的加权包括,将特定三元模式相对于基本模式的权重设定为常量。
5.根据权利要求1的方法,其中将所述至少一个三元模式转化为基本模式的加权包括,参考RDF三元组数据存储系统中的统计信息来确定所述至少一个三元模式相对于基本模式的权重。
6.根据权利要求5的方法,其中将所述至少一个三元模式转化为基本模式的加权包括,将〈? s:p:0>形式的三元模式相对于〈? s:p ? o>形式的基本模式的权重w(ρ,ο) 设定为W(P,O) = Num(P,ο) /FACT (ρ),将<:S:p o>形式的三元模式相对于〈? s:p o>形式的基本模式的权重w(s,ρ) 设定为w(s,p) = Num (s,ρ)/FACT (p),其中Num(ρ,ο)表示所述RDF三元组数据存储系统中谓词为P,客体为ο的不同三元组的数目,Num(s,p)表示其中谓词为p,主体为s的不同三元组的数目,FACT(p)表示其中谓词为P的不同三元组的数目。
7.根据权利要求5的方法,其中将所述至少一个三元模式转化为基本模式的加权包括,将〈? s:p:o>形式的三元模式相对于〈? s:p 0>形式的基本模式的权重w(p,O) 设定为·如又此刀·厂FACT(P)将<:S:p 0>形式的三元模式相对于〈? s:p 0>形式的基本模式的权重W(S,P) ^MINiRNGis),RNGjp)) K疋刀·FACT(p)其中DOM(p)表示在所述RDF三元组数据存储系统中谓词为ρ的不同主体的数目; DOM(o)表示其中客体为ο的不同主体的数目;RNG(S)表示其中主体为s的不同客体的数目;RNG(p)表示其中谓词为ρ的不同客体的数目;以及FACT (ρ)表示其中谓词为ρ的不同三元组的数目。
8.根据权利要求1-7中任意一项的方法,其中统计所述基本模式的出现频率包括,将相同的基本模式的权重累加作为所述基本模式的出现频率。
9.根据权利要求1-7中任意一项的方法,其中统计所述基本模式的出现频率包括,基于所述查询请求的出现频率统计所述查询请求中包括三元模式所对应的基本模式的出现频率。
10.根据权利要求1的方法,所述在所述基本模式的出现频率满足一定条件时将所述基本模式所对应的RDF三元组预存储到缓存区包括,使得所述基本模式所对应的三元组的总的大小不超过所述缓存区的大小,同时使得所述基本模式的出现频率尽可能高。
11.一种处理RDF三元组的装置,所述装置包括查询获取单元,配置为获取对RDF三元组的查询请求,所述查询请求包括至少一个三元模式;模式分析单元,配置为将所述至少一个三元模式转化为基本模式的加权; 频率统计单元,配置为基于基本模式的加权,统计所述基本模式的出现频率;以及数据预存储单元,配置为在所述基本模式的出现频率满足一定条件时将所述基本模式所对应的RDF三元组预存储到缓存区。
12.根据权利要求11的装置,其中所述查询获取单元配置为从查询日志中读取查询请求的记录。
13.根据权利要求11的装置,其中所述基本模式具有〈?s:p o>的形式。
14.根据权利要求11的装置,其中所述模式分析单元配置为,将特定三元模式相对于基本模式的权重设定为常量。
15.根据权利要求11的装置,其中所述模式分析单元配置为,参考RDF三元组数据存储系统中的统计信息来对确定所述至少一个三元模式相对于基本模式的权重。
16.根据权利要求15的装置,其中所述模式分析单元配置为,将〈? s:p:o>形式的三元模式相对于〈? s:p o>形式的基本模式的权重w(p,ο) 设定为:w(ρ, ο) = Nu m(p,ο) /FACT (ρ),将<:S:p o>形式的三元模式相对于〈? s:p o>形式的基本模式的权重w(s,ρ) 设定为:w(s, ρ) =Nu m(s,ρ)/FACT(ρ),其中Num(ρ,ο)表示所述RDF三元组数据存储系统中谓词为p,客体为ο的不同三元组的数目,Num(s,p)表示其中谓词为p,主体为s的不同三元组的数目,FACT(p)表示其中谓词为P的不同三元组的数目。
17.根据权利要求15的装置,其中所述模式分析单元配置为,将〈? s:p:0>形式的三元模式相对于〈? s:p ? o>形式的基本模式的权重w(ρ,ο) ,、MIN {DOM {ρ), DOM {ο)) 设定为
18.根据权利要求11-17中任意一项的装置,其中所述频率统计单元配置为,将相同的基本模式的权重累加作为所述基本模式的出现频率。
19.根据权利要求11-17中任意一项的装置,其中所述频率统计单元配置为,基于所述查询请求的出现频率统计所述查询请求中包括的三元模式所对应的基本模式的出现频率。
20.根据权利要求11的装置,其中所述数据预存储单元配置为,使得所述基本模式所对应的三元组的总的大小不超过所述缓存区的大小,同时使得所述基本模式的出现频率尽可能高。
全文摘要
提供了预存储RDF三元数据的方法和装置。所述方法包括获取对RDF三元组的查询请求,其中包括至少一个三元模式;对于每个三元模式,确定其对应的基本模式,并将每个三元模式相对于对应的基本模式进行加权;基于加权的基本模式,统计每个基本模式的出现频率;至少根据所述出现频率,选择至少一个基本模式;以及将所选择的至少一个基本模式所对应的RDF三元组预存储到缓存区。还提供了与之相应的装置。通过上述方法和装置,可以确定访问频率较高的RDF三元组,将这部分三元组预存储到易于访问的缓存区中,由此提高查询效率。
文档编号G06F17/30GK102479239SQ20101057703
公开日2012年5月30日 申请日期2010年11月29日 优先权日2010年11月29日
发明者孙行智, 徐林昊, 武硕, 潘越, 王庆法 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1