买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种知识驱动的SPARQL查询构建方法_智言科技(深圳)有限公司_201910282147.7 

申请/专利权人:智言科技(深圳)有限公司

申请日:2019-04-09

公开(公告)日:2023-04-11

公开(公告)号:CN109992658B

主分类号:G06F16/332

分类号:G06F16/332;G06F16/36

优先权:

专利状态码:有效-授权

法律状态:2023.04.11#授权;2019.08.02#实质审查的生效;2019.07.09#公开

摘要:本发明公开了一种知识驱动的SPARQL查询构建方法,属于数据查询技术领域。获取用户提交的SPARQL查询语句,抽取SPARQL查询语句中的实体集合和谓词集合;分别解析判断实体集合及谓词集合中实体数及谓词数的数量,将查询语句分别分类为简单问题、事实问题及复杂问题,复杂问题可分为显示实体问题及隐式实体问题,分别对不同类别的问题构建查询流程,得到相对应的查询答案。本发明根据不同的问题,构建相对应的知识图谱,筛选出正确的SPARQL查询语句;降低了传统方法的搜索空间,减少运行时间;处理复杂问题时,若隐式实体没有出现,通过中间产物限制隐式实体,从而找出正确的SPARQL查询语句并执行结果,准确快速。

主权项:1.一种知识驱动的SPARQL查询构建方法,其特征在于包括以下步骤:1获取用户提交的SPARQL查询语句,抽取SPARQL查询语句中的实体集合和谓词集合;2判断步骤1中的实体集合和谓词集合,若谓词集合中只包含一个谓词,实体集合中只包含一个实体,则将SPARQL查询语句分类为简单问题;3判断步骤1中的实体集合和谓词集合,若谓词集合中只包含一个谓词,实体集合中只包含两个实体,则将SPARQL查询语句分类为事实问题;4判断步骤1中的谓词集合,若谓词集合中包含至少两个谓词,则将SPARQL查询语句分类为复杂问题;5根据步骤4判断步骤1中的实体集合,若实体集合中包含的实体数大于或等于谓词数,则将复杂问题细分为显式实体问题;6根据步骤4判断步骤1中的实体集合,若实体集合中包含的实体数少于谓词数,则将复杂问题细分为隐式实体问题;7分别对简单问题、事实问题、显式实体问题、以及隐式实体问题的查询构建流程,并得到相对应的查询答案;其中,所述简单问题的查询构建流程为:a、从简单问题中抽取一个实体e1和一个谓词p1;b、将实体e1和谓词p1构建出三元组候选集,并得到正确的SPARQL查询s1;c、由于简单问题只有一个三元组,直接执行s1得到结果集R1,所述简单问题的答案就是结果集R1;所述事实问题的查询构建流程为:a、从事实问题中抽取实体集合E1和一个谓词p2;b、从实体集合E中随机选取出一个实体e2,用实体e2和p2构建出三元组候选集,并得到正确的SPARQL查询s2;c、由于事实问题只有一个三元组,直接执行s2得到结果集R2;d、从实体集合E1中抽取出e3,判断e3是否在结果集R2中;e、若e3在结果集R2中,则所述事实问题的答案就是结果集R2,否则,所述事实问题的答案就不是结果集R2;所述显式实体问题的查询构建流程为:a、从显式实体问题中抽取实体集合E2和谓词集合P1;b、从实体集合E2中随机选取出实体e4,从谓词集合P1中随机选取出谓词p3,用实体e4和谓词p3构建出三元组候选集,并得到正确的SPARQL查询s3;c、从实体集合E2中随机选出实体e5,从谓词集合P1中随机选取出谓词p4,用实体e5和谓词p4构建出三元组候选集,并得到正确的SPARQL查询s4;d、执行s3得到结果集R3,执行s4得到结果集R4;e、求结果集R3和结果集R4的交集R5,所述交集R5即为显式实体问题的答案;所述隐式实体问题的查询构建流程为:a、从隐式实体问题中抽取实体e6和谓词集合P2;b、从谓词集合P2中随机选取出p5,用实体e6与p5构建出三元组候选集,并得到正确的SPARQL查询s5,c、执行s5得到结果集R6;d、由于结果集R6可以帮助约束隐式实体的范围,将R6定义为实体e7,并将e7与谓词集合P2中的p6构建出三元组候选集,并得到正确的SPARQL查询s6;e、执行s6得到结果集R7,所述结果集R7即为隐式实体问题的答案。

全文数据:一种知识驱动的SPARQL查询构建方法技术领域本发明涉及数据查询技术领域,尤其涉及的是一种知识驱动的SPARQL查询构建方法。背景技术在现有技术中,传统数据查询构件方法主要是首先通过暴力将实体链接和关系链接结果中的实体和谓词进行排列组合,然后通过一些简单的筛选规则进行过滤构建好的SPARQL查询语句。由于SPARQL语法的特性,每一条SPARQL都是由若干个三元组组成,而每一个三元组有两个实体占位符和一个谓词占位符,要穷举出所有的组合方式是一项工作量较大的事情。举个例子,从问题“ListTVshowswithproducerasErikBorkandcompanyisDreamWorksTelevision?”中,可以抽取出实体集合E:{,}和谓词集合P:{,}通过这种暴力组合模式,秉持一条谓词一个三元组的原则,可以推断出该SPARQL查询会有两个三元组。两个三元组说明有四个实体占位符,两个谓词占位符,按照排列组合的方式最终会产生4*3*2个SPARQL查询语句。通过这种方式的确可以找到问题的SPARQL查询语句,提高问答系统的召回率,然而这种方式有以下几种缺点:1搜索空间大,需要对实体和谓词进行全排列,其搜索空间会随着实体和谓词数的增加而呈指数级的增加,会耗费巨大的存储空间。2运行时间长,需要在实体和谓词的全排列空间中寻找正确的答案,这会耗费很长的时间,用户体验十分不好。3需要额外的排序算法和剪枝算法,为了从实体和谓词的全排列空间中找出正确的答案,需要额外设计排序算法和剪枝算法缩小搜索空间,从而给出正确答案。因此,现有技术存在缺陷,需要改进。发明内容本发明所要解决的技术问题是:提供一种降低搜索空间、运行时间短,查询快速准确的知识驱动的SPARQL查询构建方法。本发明包括以下步骤:1获取用户提交的SPARQL查询语句,抽取SPARQL查询语句中的实体集合和谓词集合;2判断步骤1中的实体集合和谓词集合,若谓词集合中只包含一个谓词,实体集合中只包含一个实体,则将SPARQL查询语句分类为简单问题;3判断步骤1中的实体集合和谓词集合,若谓词集合中只包含一个谓词,实体集合中只包含两个实体,则将SPARQL查询语句分类为事实问题;4判断步骤1中的谓词集合,若谓词集合中包含至少两个谓词,则将SPARQL查询语句分类为复杂问题;5根据步骤4判断步骤1中的实体集合,若实体集合中包含的实体数大于或等于谓词数,则将复杂问题细分为显示实体问题;6根据步骤4判断步骤1中的实体集合,若实体集合中包含的实体数少于谓词数,则将复杂问题细分为隐式实体问题;7分别对简单问题、事实问题、显示实体问题、以及隐式实体问题的查询构建流程,并得到相对应的查询答案。上述方案中,所述简单问题的查询构建流程为:a、从简单问题中抽取一个实体e1和一个谓词p1;b、将实体e1和谓词p1构建出三元组候选集,并得到正确的SPARQL查询s1;c、由于简单问题只有一个三元组,直接执行s1得到结果集R1,所述简单问题的答案就是结果集R1。上述方案中,所述事实问题的查询构建流程为:a、从事实问题中抽取实体集合E1和一个谓词p2;b、从实体集合E中随机选取出一个实体e2,用实体e2和p2构建出三元组候选集,并得到正确的SPARQL查询s2;c、由于事实问题只有一个三元组,直接执行s2得到结果集R2;d、从实体集合E1中抽取出e3,判断e3是否在结果集R2中;e、若e3在结果集R2中,则所述事实问题的答案就是结果集R2,否则,所述事实问题的答案就不是结果集R2。上述方案中,所述显式实体问题的查询构建流程为:a、从显式实体问题中抽取实体集合E2和谓词集合P1;b、从实体集合E2中随机选取出实体e4,从谓词集合P1中随机选取出谓词p3,用实体e4和谓词p3构建出三元组候选集,并得到正确的SPARQL查询s3;c、从实体集合E2中随机选出实体e5,从谓词集合P1中随机选取出谓词p4,用实体e5和谓词p4构建出三元组候选集,并得到正确的SPARQL查询s4;d、执行s3得到结果集R3,执行s4得到结果集R4;e、求结果集R3和结果集R4的交集R5,所述交集R5即为显式实体问题的答案。上述方案中,所述隐式实体问题的查询构建流程为:a、从隐式实体问题中抽取实体e6和谓词集合P2;b、从谓词集合P2中随机选取出p5,用实体e6与p5构建出三元组候选集,并得到正确的SPARQL查询s5,c、执行s5得到结果集R6;d、由于结果集R6可以帮助约束隐式实体的范围,将R6定义为实体e7,并将e7与谓词集合P2中的p6构建出三元组候选集,并得到正确的SPARQL查询s6;e、执行s6得到结果集R7,所述结果集R7即为隐式实体问题的答案。本发明的有益效果是:与现有技术相比,本发明根据不同的问题,构建相对应的知识图谱,在知识图谱的帮助下,筛选出正确的SPARQL查询语句;省去了传统方法中需要在排序和剪枝步骤的前提下,将实体和谓词组织起来,才能构成SPARQL查询,降低了传统方法的搜索空间,减少了运行时间;处理复杂问题时,若隐式实体没有出现,很难得到正确的SPARQL查询语句,为此,通过中间产物限制隐式实体,从而寻找出正确的SPARQL查询语句执行结果,筛选准确、快速。附图说明图1为本发明的方法流程示意图;图2为本发明的显式实体问题查询构建流程图;图3为本发明的隐式实体问题查询构建流程图。具体实施方式以下结合附图和具体实施例,对本发明进行详细说明。如图1所示,本实施例涉及一种知识驱动的SPARQL查询构建方法,其方法的主要步骤如下:1获取用户提交的SPARQL查询语句,抽取SPARQL查询语句中的实体集合和谓词集合;2判断步骤1中的实体集合和谓词集合,若谓词集合中只包含一个谓词,实体集合中只包含一个实体,则将SPARQL查询语句分类为简单问题;3判断步骤1中的实体集合和谓词集合,若谓词集合中只包含一个谓词,实体集合中只包含两个实体,则将SPARQL查询语句分类为事实问题;4判断步骤1中的谓词集合,若谓词集合中包含至少两个谓词,则将SPARQL查询语句分类为复杂问题;5根据步骤4判断步骤1中的实体集合,若实体集合中包含的实体数大于或等于谓词数,则将复杂问题细分为显示实体问题;6根据步骤4判断步骤1中的实体集合,若实体集合中包含的实体数少于谓词数,则将复杂问题细分为隐式实体问题;7分别对简单问题、事实问题、显示实体问题、以及隐式实体问题的查询构建流程,并得到相对应的查询答案。一、简单问题的查询构建流程为:a、从简单问题中抽取一个实体e1和一个谓词p1;b、将实体e1和谓词p1构建出三元组候选集,并得到正确的SPARQL查询s1;c、由于简单问题只有一个三元组,直接执行s1得到结果集R1,所述简单问题的答案就是结果集R1。下面以具体简单问题做出说明,如:“NamewhoseyouthclubwasFCBarcelona”,判断问题中包含一个实体:,及一个谓词:,将该SPARQL查询语句分类为简单问题。从简单问题中抽取一个实体e1:{}和一个谓词p1:{},并将e1和p1一起构建出查询三元组候选集c1:“selectdistinct?y1where{?y1?x}”,和c2:“selectdistinct?y2where{?x?y2}”;执行三元组候选集c1和c2,可以分别得到结果集Rc1和结果集Rc2,结果集Rc1:[‘http:www.w3.org19990222-rdf-syntax-ns#type’,‘http:www.w3.org200001rdf-schema#label’,‘http:www.w3.org200001rdf-schema#comment’,‘http:www.w3.org200207owl#differentFrom’,‘http:www.w3.org200001rdf-schema#seeAlso’,‘http:www.w3.org200207owl#sameAs’,‘http:purl.orgdctermssubject’,‘http:dbpedia.orgontologywikiPageID’,‘http:dbpedia.orgontologywikiPageRevisionID’,‘http:dbpedia.orgontologywikiPageExternalLink’,‘http:xmlns.comfoaf0.1name’,‘http:xmlns.comfoaf0.1nick’,‘http:xmlns.comfoaf0.1homepage’,‘http:xmlns.comfoaf0.1depiction’,‘http:xmlns.comfoaf0.1isPrimaryTopicOf’,‘http:dbpedia.orgontologythumbnail’,‘http:www.w3.orgnsprov#wasDerivedFrom’,‘http:dbpedia.orgontologyabstract’,‘http:dbpedia.orgontologycapacity’,‘http:dbpedia.orgontologychairman’,‘http:dbpedia.orgontologychairmanTitle’,‘http:dbpedia.orgontologyground’,‘http:dbpedia.orgontologyleague’,‘http:dbpedia.orgontologymanager’,‘http:dbpedia.orgontologymanagerTitle’,‘http:dbpedia.orgontologyposition’,‘http:dbpedia.orgontologyseason’,‘http:dbpedia.orgpropertygk’,‘http:dbpedia.orgpropertylb’,‘http:dbpedia.orgpropertylcb’,‘http:dbpedia.orgpropertylcf’,‘http:dbpedia.orgpropertylcm’,‘http:dbpedia.orgpropertylm’,‘http:dbpedia.orgpropertyrb’,‘http:dbpedia.orgpropertyrcb’,‘http:dbpedia.orgpropertyrcf’,‘http:dbpedia.orgpropertyrcm’,‘http:dbpedia.orgpropertyrm’,‘http:dbpedia.orgpropertyalign’,‘http:dbpedia.orgpropertyalt’,‘http:dbpedia.orgpropertybody’,‘http:dbpedia.orgpropertycaption’,‘http:dbpedia.orgpropertycf’,‘http:dbpedia.orgpropertycm’,‘http:dbpedia.orgpropertycurrent’,‘http:dbpedia.orgpropertydate’,‘http:dbpedia.orgpropertyfooter’,‘http:dbpedia.orgpropertyfounded’,‘http:dbpedia.orgpropertyimage’,‘http:dbpedia.orgpropertyleftarm’,‘http:dbpedia.orgpropertymotto’,‘http:dbpedia.orgpropertynat’,‘http:dbpedia.orgpropertyno’,‘http:dbpedia.orgpropertyother’,‘http:dbpedia.orgpropertyp’,‘http:dbpedia.orgpropertypatternB’,‘http:dbpedia.orgpropertypatternLa’,‘http:dbpedia.orgpropertypatternRa’,‘http:dbpedia.orgpropertypatternSh’,‘http:dbpedia.orgpropertypatternSo’,‘http:dbpedia.orgpropertypos’,‘http:dbpedia.orgpropertyrightarm’,‘http:dbpedia.orgpropertyrw’,‘http:dbpedia.orgpropertys’,‘http:dbpedia.orgpropertyshortName’,‘http:dbpedia.orgpropertyshorts’,‘http:dbpedia.orgpropertysocks’,‘http:dbpedia.orgpropertytitle’,‘http:dbpedia.orgpropertyu’,‘http:dbpedia.orgpropertywidth’,‘http:dbpedia.orgpropertyyears’,‘http:dbpedia.orgpropertydm’,‘http:dbpedia.orgpropertylw’,‘http:dbpedia.orgpropertywordnet_type’,‘http:purl.orglinguisticsgoldhypernym’]结果集Rc2:[‘http:www.w3.org200207owl#differentFrom’,‘http:dbpedia.orgontologybirthPlace’,‘http:dbpedia.orgontologywikiPageRedirects’,‘http:dbpedia.orgontologywikiPageDisambiguates’,‘http:xmlns.comfoaf0.1primaryTopic’,‘http:dbpedia.orgontologyclub’,‘http:dbpedia.orgontologyknownFor’,‘http:dbpedia.orgontologymanagerClub’,‘http:dbpedia.orgontologyoccupation’,‘http:dbpedia.orgontologyoperator’,‘http:dbpedia.orgontologyowner’,‘http:dbpedia.orgontologyowningCompany’,‘http:dbpedia.orgontologyteam’,‘http:dbpedia.orgontologytenant’,‘http:dbpedia.orgpropertyaffiliates’,‘http:dbpedia.orgpropertyaway’,‘http:dbpedia.orgpropertyafter,’‘http:dbpedia.orgpropertyclub’,‘http:dbpedia.orgpropertycurrentChampions’,‘http:dbpedia.orgpropertyhome’,‘http:dbpedia.orgpropertym’,‘http:dbpedia.orgpropertymanagerclubs’,‘http:dbpedia.orgpropertymostSuccessfulClub’,‘http:dbpedia.orgpropertyowner’,‘http:dbpedia.orgpropertyt’,‘http:dbpedia.orgpropertyteam’,‘http:dbpedia.orgpropertytenants’,‘http:dbpedia.orgpropertytext’,‘http:dbpedia.orgpropertyyouthclubs’,‘http:dbpedia.orgpropertybiggestAwayWin’,‘http:dbpedia.orgpropertychampions’,‘http:dbpedia.orgpropertycontinentalcup1Qualifiers’,‘http:dbpedia.orgpropertycontinentalcup2Qualifiers’,‘http:dbpedia.orgpropertycontinentalcup3Qualifiers’,‘http:dbpedia.orgpropertydefendingChampions’,‘http:dbpedia.orgpropertyfcl’,‘http:dbpedia.orgpropertyhighestAttendance’,‘http:dbpedia.orgpropertylongestUnbeaten’,‘http:dbpedia.orgpropertylongestWins’,‘http:dbpedia.orgpropertyncl’,‘http:dbpedia.orgpropertyrd1Team’,‘http:dbpedia.orgpropertyrd2Team’,‘http:dbpedia.orgpropertyrd4Team’,‘http:dbpedia.orgpropertyrd5Team’,‘http:dbpedia.orgpropertyruProclubs’,‘http:dbpedia.orgpropertyrunnerUp’,‘http:dbpedia.orgpropertyschampions’,‘http:dbpedia.orgpropertyteamsInvolved’,‘http:dbpedia.orgpropertywinners’]发现谓词p1:在结果集Rc2中,满足条件。即,c2为所要的三元组,用p1替换?y2,得到SPARQL查询语句s1:“selectdistinct?xwhere{?x}”;执行查询语句s1,得到结果集R1:['http:dbpedia.orgresourceIlie_Sánchez','http:dbpedia.orgresourceThiago_'http:dbpedia.orgresourceMarc_Fernández_footballer','http:dbpedia.orgresourceAlex_Zahavi','http:dbpedia.orgresourceFrancisco_José_Carrasco','http:dbpedia.orgresourceAnselmo_Eyegue','http:dbpedia.orgresourceRafa_Mir','http:dbpedia.orgresourceJosué_Currais_Prieto','http:dbpedia.orgresourceJulio_Pleguezuelo','http:dbpedia.orgresourceSergio_Busquets','http:dbpedia.orgresourceMaxi_Rolón','http:dbpedia.orgresourceAitor_Cantalapiedra','http:dbpedia.orgresourceIsaac_Cuenca','http:dbpedia.orgresourceLluís_Pujol','http:dbpedia.orgresourceMunir_El_Haddadi','http:dbpedia.orgresourceOriol_Riera']所以,简单问题:“NamewhoseyouthclubwasFCBarcelona?”的答案为结果集R1。二、事实问题的查询构建流程为:a、从事实问题中抽取实体集合E1和一个谓词p2;b、从实体集合E中随机选取出一个实体e2,用实体e2和p2构建出三元组候选集,并得到正确的SPARQL查询s2;c、由于事实问题只有一个三元组,直接执行s2得到结果集R2;d、从实体集合E1中抽取出e3,判断e3是否在结果集R2中;e、若e3在结果集R2中,则事实问题的答案就是结果集R2,否则,事实问题的答案就不是结果集R2。下面以具体的事实问题做出说明,如:“DoesSilverAirwayshaveahubattheWashingtonDullesInternationalAirport”,判断问题中包含两个实体:、,及一个谓词:,将该SPARQL查询语句分类为事实问题。从事实问题中抽取实体集合E1:{,}和一个谓词p2:{};从实体集合E中随机选取出一个实体e2:,将实体e2与谓词p2一起构建出候选查询三元组候选集c3:“selectdistinct?y1where{?y1?x}”;和三元组候选集c4:“selectdistinct?y2where{?x?y2}”;执行三元组候选集c3和c4,分别得到结果集Rc3和结果集Rc4,结果集Rc3:[‘http:www.w3.org19990222-rdf-syntax-ns#type’,‘http:www.w3.org200001rdf-schema#label’,‘http:www.w3.org200001rdf-schema#comment’,‘http:www.w3.org200207owl#sameAs’,‘http:purl.orgdctermssubject’,‘http:dbpedia.orgontologywikiPageID’,‘http:dbpedia.orgontologywikiPageRevisionID’,‘http:dbpedia.orgontologywikiPageExternalLink’,‘http:xmlns.comfoaf0.1name’,‘http:xmlns.comfoaf0.1homepage’,‘http:xmlns.comfoaf0.1depiction’,‘http:xmlns.comfoaf0.1isPrimaryTopicOf’,‘http:dbpedia.orgontologythumbnail’,‘http:www.w3.orgnsprov#wasDerivedFrom’,‘http:dbpedia.orgontologyabstract’,‘http:dbpedia.orgontologyformationDate’,‘http:dbpedia.orgontologyheadquarter’,‘http:dbpedia.orgontologyhubAirport’,‘http:dbpedia.orgontologyiataAirlineCode’,‘http:dbpedia.orgontologyicaoAirlineCode’,‘http:dbpedia.orgontologyindustry’,‘http:dbpedia.orgontologyopeningDate’,‘http:dbpedia.orgpropertyaoc’,‘http:dbpedia.orgpropertycallsign’,‘http:dbpedia.orgpropertydestinations’,‘http:dbpedia.orgpropertyfleetSize’,‘http:dbpedia.orgpropertykeyPeople’,‘http:dbpedia.orgpropertylogo’,‘http:dbpedia.orgpropertylogoSize’,‘http:dbpedia.orgpropertyparent’]结果集Rc4:[‘http:dbpedia.orgontologywikiPageRedirects’,‘http:dbpedia.orgontologywikiPageDisambiguates’,‘http:xmlns.comfoaf0.1primaryTopic’,‘http:dbpedia.orgontologysubsidiary’,‘http:dbpedia.orgpropertyhub’,‘http:dbpedia.orgpropertylabel’,‘http:dbpedia.orgpropertyprimaryUser’]发现谓词p2:在结果集Rc3中,满足条件。即,c3为所要的三元组,将三元组c3中?y1替换成p2,得到SPARQL查询语句s2:“selectdistinct?xwhere{?x.}”;执行查询语句s2,得到结果集R2:“['http:dbpedia.orgresourceWashington_Dulles_International_Airport','http:dbpedia.orgresourceTampa_International_Airport','http:dbpedia.orgresourceOrlando_International_Airport','http:dbpedia.orgresourceFort_Lauderdale-Hollywood_Internati-onal_Airport']”,其中,实体e3:在结果集R2中,所以,事实问题:“DoesSilverAirwayshaveahubattheWashingtonDullesInternationalAirport?”的答案为“True”,也就是说事实问题的答案为R2。对于复杂问题,经过数据集LC-QuAD上调研数据发现,LC-QuAD上面的查询语句问题都不会超过两个谓词。因此,在本发明方法中,对于查询语句,只考虑其中含有两个谓词的情况。三、如图2,显式实体问题的查询构建流程为:a、从显式实体问题中抽取实体集合E2和谓词集合P1;b、从实体集合E2中随机选取出实体e4,从谓词集合P1中随机选取出谓词p3,用实体e4和谓词p3构建出三元组候选集,并得到正确的SPARQL查询s3;c、从实体集合E2中随机选出实体e5,从谓词集合P1中随机选取出谓词p4,用实体e5和谓词p4构建出三元组候选集,并得到正确的SPARQL查询s4;d、执行s3得到结果集R3,执行s4得到结果集R4;e、求结果集R3和结果集R4的交集R5,所述交集R5即为显式实体问题的答案。下面以具体复杂问题做出说明,如:“ListTVshowswithproducerasErikBorkandcompanyisDreamWorksTelevision”,判断问题中包含两个谓词:、,则将该SPARQL查询语句分类为复杂问题;同时,该问题还包括两个实体:、,则进一步将该复杂问题分类为显式实体问题。从显式实体问题中抽取实体集合E2:{},和谓语集合P1:{},实体集合E2中随机选取出实体e4:,用实体e4分别拼凑出两个三元组候选集c5:“selectdistinct?y1where{?y1?x}”和三元组候选集c6:“selectdistinct?y2where{?x?y2}”执行三元组候选集c5和c6,分别得到结果集Rc5和Rc6,结果集Rc5:[‘http:www.w3.org19990222-rdf-syntax-ns#type’,‘http:www.w3.org200001rdf-schema#label’,‘http:www.w3.org200001rdf-schema#comment’,‘http:www.w3.org200207owl#sameAs’,‘http:dbpedia.orgpropertybirthPlace’,‘http:purl.orgdctermssubject’,‘http:dbpedia.orgontologywikiPageID’,‘http:dbpedia.orgontologywikiPageRevisionID’,‘http:dbpedia.orgontologywikiPageExternalLink’,‘http:xmlns.comfoaf0.1name’,‘http:xmlns.comfoaf0.1homepage’,‘http:dbpedia.orgpropertyname’,‘http:purl.orgdctermsdescription’,‘http:xmlns.comfoaf0.1givenName’,‘http:xmlns.comfoaf0.1gender’,‘http:xmlns.comfoaf0.1isPrimaryTopicOf’,‘http:xmlns.comfoaf0.1surname’,‘http:www.w3.orgnsprov#wasDerivedFrom’,‘http:dbpedia.orgontologyabstract’,‘http:dbpedia.orgontologyimdbId’,‘http:dbpedia.orgontologynotableWork’,‘http:dbpedia.orgontologyoccupation’,‘http:dbpedia.orgpropertynationality’,‘http:purl.orglinguisticsgoldhypernym’]结果集Rc6:[‘http:dbpedia.orgontologywikiPageDisambiguates’,‘http:xmlns.comfoaf0.1primaryTopic’,‘http:dbpedia.orgontologyauthor’,‘http:dbpedia.orgontologyproducer’,‘http:dbpedia.orgpropertywrittenby’]发现谓词p3:在结果集Rc6中,满足条件。将c6中的?y2替换为p3得到SPARQL查询语句s3:“selectdistinct?xwhere{?x}”;执行查询语句s3,得到结果集R3:“['http:dbpedia.orgresourceBand_of_Brothers_miniseries','http:dbpedia.orgresourceUC:_Undercover']”;同样地,将实体集合E2中另一个实体e5:,和谓词集合P1中另外一个谓词p4:组合起来得到SPARQL查询语句s4:“selectdistinct?xwhere{?x}”;执行查询语句s4,得到结果集R4:['http:dbpedia.orgresourceSmash_TV_series','http:dbpedia.orgresourceLine_of_Fire_2003_TV_series','http:dbpedia.orgresourceDog_Bites_Man','http:dbpedia.orgresourceOn_the_Lot','http:dbpedia.orgresourceOliver_Beene','http:dbpedia.orgresourceRescue_Me_U.S._TV_series','http:dbpedia.orgresourceCarpoolers','http:dbpedia.orgresourceHigh_Incident','http:dbpedia.orgresourceThe_Americans_2013_TV_series','http:dbpedia.orgresourceThe_Job_2001_TV_series','http:dbpedia.orgresourceInk_TV_series','http:dbpedia.orgresourceThe_Others_TV_series','http:dbpedia.orgresourceOff_Centre','http:dbpedia.orgresourceThe_River_U.S._TV_series','http:dbpedia.orgresourceArsenio_TV_series','http:dbpedia.orgresourceSpin_City','http:dbpedia.orgresourceUnited_States_of_Tara','http:dbpedia.orgresourceBand_of_Brothers_miniseries','http:dbpedia.orgresourceFather_of_the_Pride','http:dbpedia.orgresourceThe_Contender_TV_series','http:dbpedia.orgresourceFreaks_and_Geeks','http:dbpedia.orgresourceLas_Vegas_TV_series','http:dbpedia.orgresourceUndeclared',"http:dbpedia.orgresourceIt's_Like,_You_Know...",'http:dbpedia.orgresourceInto_the_West_miniseries','http:dbpedia.orgresourceBattery_Park_TV_series','http:dbpedia.orgresourceChamps_TV_series','http:dbpedia.orgresourceFalling_Skies','http:dbpedia.orgresourceThe_Pacific_miniseries','http:dbpedia.orgresourceTaken_miniseries','http:dbpedia.orgresourceBoomtown_2002_TV_series']求R3和R4的交集得到结果集R5:['http:dbpedia.orgresourceBand_of_Brothers_miniseries']那么显式实体问题:“ListTVshowswithproducerasErikBorkandcompanyisDreamWorksTelevision?”的答案就是结果集R5:['http:dbpedia.orgresourceBand_of_Brothers_miniseries']。四、如图3,隐式实体问题的查询构建流程为:a、从隐式实体问题中抽取实体e6和谓词集合P2;b、从谓词集合P2中随机选取出p5,用实体e6与p5构建出三元组候选集,并得到正确的SPARQL查询s5,c、执行s5得到结果集R6;d、由于结果集R6可以帮助约束隐式实体的范围,将R6定义为实体e7,并将e7与谓词集合P2中的p6构建出三元组候选集,并得到正确的SPARQL查询s6;e、执行s6得到结果集R7,所述结果集R7即为隐式实体问题的答案。下面以具体复杂问题做出说明,如:“WhatarealltheTVshowswhicharerelatedtotheonesproducedbyJulieGardner?”,判断问题中包含两个谓词:、,则将该SPARQL查询语句分类为复杂问题;同时,该问题还包括一个实体:,则进一步将该复杂问题分类为隐式实体问题。从隐式实体问题中抽取实体e6:{};和谓语集合P2:{};用实体e6:拼凑出两个三元组候选集c7:“selectdistinct?y1where{?y1?x}”;和三元组候选集c8:“selectdistinct?y2where{?x?y2}”;执行三元组候选集c7和c8,分别得到结果集Rc7和Rc8,结果集Rc7:[‘http:www.w3.org19990222-rdf-syntax-ns#type’,‘http:www.w3.org200001rdf-schema#label’,‘http:www.w3.org200001rdf-schema#comment’,‘http:www.w3.org200207owl#sameAs’,‘http:dbpedia.orgontologybirthPlace’,‘http:dbpedia.orgontologybirthDate’,‘http:purl.orgdctermssubject’,‘http:dbpedia.orgontologywikiPageID’,‘http:dbpedia.orgontologywikiPageRevisionID’,‘http:dbpedia.orgontologywikiPageExternalLink’,‘http:xmlns.comfoaf0.1name’,‘http:dbpedia.orgpropertyname’,‘http:xmlns.comfoaf0.1depiction’,‘http:purl.orgdctermsdescription’,‘http:xmlns.comfoaf0.1givenName’,‘http:xmlns.comfoaf0.1gender’,‘http:xmlns.comfoaf0.1isPrimaryTopicOf’,‘http:xmlns.comfoaf0.1surname’,‘http:dbpedia.orgontologythumbnail’,‘http:www.w3.orgnsprov#wasDerivedFrom’,‘http:dbpedia.orgontologyabstract’,‘http:dbpedia.orgontologybirthName’,‘http:dbpedia.orgontologybirthYear’,‘http:dbpedia.orgontologyimdbId’,‘http:dbpedia.orgontologynationality’,‘http:dbpedia.orgontologyoccupation’,‘http:dbpedia.orgontologystateOfOrigin’,‘http:dbpedia.orgpropertyafter’,‘http:dbpedia.orgpropertybefore’,‘http:dbpedia.orgpropertycaption’,‘http:dbpedia.orgpropertychildren’,‘http:dbpedia.orgpropertynotableWorks’,‘http:dbpedia.orgpropertyspouse’,‘http:dbpedia.orgpropertytitle’,‘http:dbpedia.orgpropertyyears’,‘http:purl.orglinguisticsgoldhypernym’]结果集Rc8:[‘http:xmlns.comfoaf0.1primaryTopic’,‘http:dbpedia.orgontologyexecutiveProducer’,‘http:dbpedia.orgontologyproducer’,‘http:dbpedia.orgpropertyafter’,‘http:dbpedia.orgpropertybefore’,‘http:dbpedia.orgpropertyproducer’]发现谓词p5:在结果集Rc8中,满足条件。将c8中的?y2替换为p5得到SPARQL查询语句s5:“selectdistinct?xwhere{?x}”;执行查询语句s5,得到结果集R6:[,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,]将结果集R6定义为实体e7,将实体e7和谓词集合P2中另外一个谓词p6:组合起来得到SPARQL查询语句s6:“selectdistinct?xwhere{R6?x}”;执行查询语句s6,得到结果集R7:['http:dbpedia.orgresourceBanana_TV_series','http:dbpedia.orgresourceTofu_web_series','http:dbpedia.orgresourceAtlantis_TV_series','http:dbpedia.orgresourceList_of_Merlin_episodes','http:dbpedia.orgresourceCucumber_TV_series','http:dbpedia.orgresourceDoctor_Who',"http:dbpedia.orgresourceSarah_Jane's_Alien_Files",'http:dbpedia.orgresourceWizards_vs_Aliens','http:dbpedia.orgresourceTorchwood','http:dbpedia.orgresourceTorchwood_Declassified','http:dbpedia.orgresourceThe_Sarah_Jane_Adventures']那么隐式实体问题:“WhatarealltheTVshowswhicharerelatedtotheonesproducedbyJulieGardner?”的答案就是结果集R7。与现有技术相比,本发明根据不同的问题,构建相对应的知识图谱,在知识图谱的帮助下,筛选出正确的SPARQL查询语句;省去了传统方法中需要在排序和剪枝步骤的前提下,将实体和谓词组织起来,才能构成SPARQL查询,降低了传统方法的搜索空间,减少了运行时间;处理复杂问题时,若隐式实体没有出现,很难得到正确的SPARQL查询语句,为此,通过中间产物限制隐式实体,从而寻找出正确的SPARQL查询语句执行结果,筛选准确、快速。以上仅为本发明的较佳实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

权利要求:1.一种知识驱动的SPARQL查询构建方法,其特征在于包括以下步骤:1获取用户提交的SPARQL查询语句,抽取SPARQL查询语句中的实体集合和谓词集合;2判断步骤1中的实体集合和谓词集合,若谓词集合中只包含一个谓词,实体集合中只包含一个实体,则将SPARQL查询语句分类为简单问题;3判断步骤1中的实体集合和谓词集合,若谓词集合中只包含一个谓词,实体集合中只包含两个实体,则将SPARQL查询语句分类为事实问题;4判断步骤1中的谓词集合,若谓词集合中包含至少两个谓词,则将SPARQL查询语句分类为复杂问题;5根据步骤4判断步骤1中的实体集合,若实体集合中包含的实体数大于或等于谓词数,则将复杂问题细分为显示实体问题;6根据步骤4判断步骤1中的实体集合,若实体集合中包含的实体数少于谓词数,则将复杂问题细分为隐式实体问题;7分别对简单问题、事实问题、显示实体问题、以及隐式实体问题的查询构建流程,并得到相对应的查询答案。2.根据权利要求1所述的知识驱动的SPARQL查询构建方法,其特征在于:所述简单问题的查询构建流程为:a、从简单问题中抽取一个实体e1和一个谓词p1;b、将实体e1和谓词p1构建出三元组候选集,并得到正确的SPARQL查询s1;c、由于简单问题只有一个三元组,直接执行s1得到结果集R1,所述简单问题的答案就是结果集R1。3.根据权利要求1所述的知识驱动的SPARQL查询构建方法,其特征在于:所述事实问题的查询构建流程为:a、从事实问题中抽取实体集合E1和一个谓词p2;b、从实体集合E中随机选取出一个实体e2,用实体e2和p2构建出三元组候选集,并得到正确的SPARQL查询s2;c、由于事实问题只有一个三元组,直接执行s2得到结果集R2;d、从实体集合E1中抽取出e3,判断e3是否在结果集R2中;e、若e3在结果集R2中,则所述事实问题的答案就是结果集R2,否则,所述事实问题的答案就不是结果集R2。4.根据权利要求1所述的知识驱动的SPARQL查询构建方法,其特征在于:所述显式实体问题的查询构建流程为:a、从显式实体问题中抽取实体集合E2和谓词集合P1;b、从实体集合E2中随机选取出实体e4,从谓词集合P1中随机选取出谓词p3,用实体e4和谓词p3构建出三元组候选集,并得到正确的SPARQL查询s3;c、从实体集合E2中随机选出实体e5,从谓词集合P1中随机选取出谓词p4,用实体e5和谓词p4构建出三元组候选集,并得到正确的SPARQL查询s4;d、执行s3得到结果集R3,执行s4得到结果集R4;e、求结果集R3和结果集R4的交集R5,所述交集R5即为显式实体问题的答案。5.根据权利要求1所述的知识驱动的SPARQL查询构建方法,其特征在于:所述隐式实体问题的查询构建流程为:a、从隐式实体问题中抽取实体e6和谓词集合P2;b、从谓词集合P2中随机选取出p5,用实体e6与p5构建出三元组候选集,并得到正确的SPARQL查询s5,c、执行s5得到结果集R6;d、由于结果集R6可以帮助约束隐式实体的范围,将R6定义为实体e7,并将e7与谓词集合P2中的p6构建出三元组候选集,并得到正确的SPARQL查询s6;e、执行s6得到结果集R7,所述结果集R7即为隐式实体问题的答案。

百度查询: 智言科技(深圳)有限公司 一种知识驱动的SPARQL查询构建方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。