CN109992658A - 一种知识驱动的sparql查询构建方法 - Google Patents

一种知识驱动的sparql查询构建方法 Download PDF

Info

Publication number
CN109992658A
CN109992658A CN201910282147.7A CN201910282147A CN109992658A CN 109992658 A CN109992658 A CN 109992658A CN 201910282147 A CN201910282147 A CN 201910282147A CN 109992658 A CN109992658 A CN 109992658A
Authority
CN
China
Prior art keywords
http
org
dbpedia
entity
predicate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910282147.7A
Other languages
English (en)
Other versions
CN109992658B (zh
Inventor
周柳阳
张美�
郑卫国
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhi Yan Technology (shenzhen) Co Ltd
Original Assignee
Zhi Yan Technology (shenzhen) Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhi Yan Technology (shenzhen) Co Ltd filed Critical Zhi Yan Technology (shenzhen) Co Ltd
Priority to CN201910282147.7A priority Critical patent/CN109992658B/zh
Publication of CN109992658A publication Critical patent/CN109992658A/zh
Application granted granted Critical
Publication of CN109992658B publication Critical patent/CN109992658B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

一种知识驱动的SPARQL查询构建方法
技术领域
本发明涉及数据查询技术领域,尤其涉及的是一种知识驱动的SPARQL查询构建方法。
背景技术
在现有技术中,传统数据查询构件方法主要是首先通过暴力将实体链接和关系链接结果中的实体和谓词进行排列组合,然后通过一些简单的筛选规则进行过滤构建好的SPARQL查询语句。由于SPARQL语法的特性,每一条SPARQL都是由若干个三元组组成,而每一个三元组有两个实体占位符和一个谓词占位符,要穷举出所有的组合方式是一项工作量较大的事情。举个例子,从问题“List TV shows with producer as Erik Bork and companyis Dream Works Television?”中,可以抽取出实体集合E:
{<http://dbpedia.org/resource/Erik_Bork>,
<http://dbpedia.org/resource/DreamWorks_Television>}
和谓词集合P:
{<http://dbpedia.org/ontology/producer>,
<http://dbpedia.org/ontology/company>}
通过这种暴力组合模式,秉持一条谓词一个三元组的原则,可以推断出该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。
下面以具体简单问题做出说明,如:
“Name whose youth club was FC Barcelona”,
判断问题中包含一个实体:<http://dbpedia.org/resource/FC_Barcelona>,
及一个谓词:<http://dbpedia.org/pro-perty/youthclubs>,
将该SPARQL查询语句分类为简单问题。
从简单问题中抽取一个实体e1:
{<http://dbpedia.org/resource/FC_Barcelona>}
和一个谓词p1:
{<http://dbpedia.org/pro-perty/youthclubs>},
并将e1和p1一起构建出查询三元组候选集c1:
“select distinct?y1 where
{<http://dbpedia.org/resource/FC_Barcelona>?y1?x}”,
和c2:
“select distinct?y2 where
{?x?y2<http://dbpedia.org/resource/FC_Barcelona>}”;
执行三元组候选集c1和c2,可以分别得到结果集Rc1和结果集Rc2,
结果集Rc1:
[‘http://www.w3.org/1999/02/22-rdf-syntax-ns#type’,
‘http://www.w3.org/2000/01/rdf-schema#label’,
‘http://www.w3.org/2000/01/rdf-schema#comment’,
‘http://www.w3.org/2002/07/owl#differentFrom’,
‘http://www.w3.org/2000/01/rdf-schema#seeAlso’,
‘http://www.w3.org/2002/07/owl#sameAs’,
‘http://purl.org/dc/terms/subject’,
‘http://dbpedia.org/ontology/wikiPageID’,
‘http://dbpedia.org/ontology/wikiPageRevisionID’,
‘http://dbpedia.org/ontology/wikiPageExternalLink’,
‘http://xmlns.com/foaf/0.1/name’,
‘http://xmlns.com/foaf/0.1/nick’,
‘http://xmlns.com/foaf/0.1/homepage’,
‘http://xmlns.com/foaf/0.1/depiction’,
‘http://xmlns.com/foaf/0.1/isPrimaryTopicOf’,
‘http://dbpedia.org/ontology/thumbnail’,
‘http://www.w3.org/ns/prov#wasDerivedFrom’,
‘http://dbpedia.org/ontology/abstract’,
‘http://dbpedia.org/ontology/capacity’,
‘http://dbpedia.org/ontology/chairman’,
‘http://dbpedia.org/ontology/chairmanTitle’,
‘http://dbpedia.org/ontology/ground’,
‘http://dbpedia.org/ontology/league’,
‘http://dbpedia.org/ontology/manager’,
‘http://dbpedia.org/ontology/managerTitle’,
‘http://dbpedia.org/ontology/position’,
‘http://dbpedia.org/ontology/season’,
‘http://dbpedia.org/property/gk’,
‘http://dbpedia.org/property/lb’,
‘http://dbpedia.org/property/lcb’,
‘http://dbpedia.org/property/lcf’,
‘http://dbpedia.org/property/lcm’,
‘http://dbpedia.org/property/lm’,
‘http://dbpedia.org/property/rb’,
‘http://dbpedia.org/property/rcb’,
‘http://dbpedia.org/property/rcf’,
‘http://dbpedia.org/property/rcm’,
‘http://dbpedia.org/property/rm’,
‘http://dbpedia.org/property/align’,
‘http://dbpedia.org/property/alt’,
‘http://dbpedia.org/property/body’,
‘http://dbpedia.org/property/caption’,
‘http://dbpedia.org/property/cf’,
‘http://dbpedia.org/property/cm’,
‘http://dbpedia.org/property/current’,
‘http://dbpedia.org/property/date’,
‘http://dbpedia.org/property/footer’,
‘http://dbpedia.org/property/founded’,
‘http://dbpedia.org/property/image’,
‘http://dbpedia.org/property/leftarm’,
‘http://dbpedia.org/property/motto’,
‘http://dbpedia.org/property/nat’,
‘http://dbpedia.org/property/no’,
‘http://dbpedia.org/property/other’,
‘http://dbpedia.org/property/p’,
‘http://dbpedia.org/property/patternB’,
‘http://dbpedia.org/property/patternLa’,
‘http://dbpedia.org/property/patternRa’,
‘http://dbpedia.org/property/patternSh’,
‘http://dbpedia.org/property/patternSo’,
‘http://dbpedia.org/property/pos’,
‘http://dbpedia.org/property/rightarm’,
‘http://dbpedia.org/property/rw’,
‘http://dbpedia.org/property/s’,
‘http://dbpedia.org/property/shortName’,
‘http://dbpedia.org/property/shorts’,
‘http://dbpedia.org/property/socks’,
‘http://dbpedia.org/property/title’,
‘http://dbpedia.org/property/u’,
‘http://dbpedia.org/property/width’,
‘http://dbpedia.org/property/years’,
‘http://dbpedia.org/property/dm’,
‘http://dbpedia.org/property/lw’,
‘http://dbpedia.org/property/wordnet_type’,
‘http://purl.org/linguistics/gold/hypernym’]
结果集Rc2:
[‘http://www.w3.org/2002/07/owl#differentFrom’,
‘http://dbpedia.org/ontology/birthPlace’,
‘http://dbpedia.org/ontology/wikiPageRedirects’,
‘http://dbpedia.org/ontology/wikiPageDisambiguates’,
‘http://xmlns.com/foaf/0.1/primaryTopic’,
‘http://dbpedia.org/ontology/club’,
‘http://dbpedia.org/ontology/knownFor’,
‘http://dbpedia.org/ontology/managerClub’,
‘http://dbpedia.org/ontology/occupation’,
‘http://dbpedia.org/ontology/operator’,
‘http://dbpedia.org/ontology/owner’,
‘http://dbpedia.org/ontology/owningCompany’,
‘http://dbpedia.org/ontology/team’,
‘http://dbpedia.org/ontology/tenant’,
‘http://dbpedia.org/property/affiliates’,
‘http://dbpedia.org/property/away’,
‘http://dbpedia.org/property/after,’
‘http://dbpedia.org/property/club’,
‘http://dbpedia.org/property/currentChampions’,
‘http://dbpedia.org/property/home’,
‘http://dbpedia.org/property/m’,
‘http://dbpedia.org/property/managerclubs’,
‘http://dbpedia.org/property/mostSuccessfulClub’,
‘http://dbpedia.org/property/owner’,
‘http://dbpedia.org/property/t’,
‘http://dbpedia.org/property/team’,
‘http://dbpedia.org/property/tenants’,
‘http://dbpedia.org/property/text’,
‘http://dbpedia.org/property/youthclubs’,
‘http://dbpedia.org/property/biggestAwayWin’,
‘http://dbpedia.org/property/champions’,
‘http://dbpedia.org/property/continentalcup1Qualifiers’,
‘http://dbpedia.org/property/continentalcup2Qualifiers’,
‘http://dbpedia.org/property/continentalcup3Qualifiers’,
‘http://dbpedia.org/property/defendingChampions’,
‘http://dbpedia.org/property/fcl’,
‘http://dbpedia.org/property/highestAttendance’,
‘http://dbpedia.org/property/longestUnbeaten’,
‘http://dbpedia.org/property/longestWins’,
‘http://dbpedia.org/property/ncl’,
‘http://dbpedia.org/property/rd1Team’,
‘http://dbpedia.org/property/rd2Team’,
‘http://dbpedia.org/property/rd4Team’,
‘http://dbpedia.org/property/rd5Team’,
‘http://dbpedia.org/property/ruProclubs’,
‘http://dbpedia.org/property/runnerUp’,
‘http://dbpedia.org/property/schampions’,
‘http://dbpedia.org/property/teamsInvolved’,
‘http://dbpedia.org/property/winners’]
发现谓词p1:<http://dbpedia.org/property/youthclubs>在结果集Rc2中,满足条件。
即,c2为所要的三元组,用p1替换?y2,得到SPARQL查询语句s1:
“select distinct?x where
{?x<http://dbpedia.org/property/youthclubs><http://dbpedia.org/resource/FC_Barcelona>}”;
执行查询语句s1,得到结果集R1:
['http://dbpedia.org/resource/Ilie_Sánchez',
'http://dbpedia.org/resource/Thiago_
'http://dbpedia.org/resource/Marc_Fernández_(footballer)',
'http://dbpedia.org/resource/Alex_Zahavi',
'http://dbpedia.org/resource/Francisco_José_Carrasco',
'http://dbpedia.org/resource/Anselmo_Eyegue',
'http://dbpedia.org/resource/Rafa_Mir',
'http://dbpedia.org/resource/Josué_Currais_Prieto',
'http://dbpedia.org/resource/Julio_Pleguezuelo',
'http://dbpedia.org/resource/Sergio_Busquets',
'http://dbpedia.org/resource/Maxi_Rolón',
'http://dbpedia.org/resource/Aitor_Cantalapiedra',
'http://dbpedia.org/resource/Isaac_Cuenca',
'http://dbpedia.org/resource/Lluís_Pujol',
'http://dbpedia.org/resource/Munir_El_Haddadi',
'http://dbpedia.org/resource/Oriol_Riera']
所以,简单问题:
“Name whose youth club was FC Barcelona?”的答案为结果集R1。
二、事实问题的查询构建流程为:
a、从事实问题中抽取实体集合E1和一个谓词p2;
b、从实体集合E中随机选取出一个实体e2,用实体e2和p2构建出三元组候选集,并得到正确的SPARQL查询s2;
c、由于事实问题只有一个三元组,直接执行s2得到结果集R2;
d、从实体集合E1中抽取出e3,判断e3是否在结果集R2中;
e、若e3在结果集R2中,则事实问题的答案就是结果集R2,否则,事实问题的答案就不是结果集R2。
下面以具体的事实问题做出说明,如:
“Does Silver Airways have a hub at the Washington DullesInternational Airport”,
判断问题中包含两个实体:
<http://dbpedia.org/resource/Silver_Airways>、
<http://dbpedia.org/resource/Washington_Dulles_International_Airport>,
及一个谓词:<http://dbpedia.org/ontology/hubAirport>,
将该SPARQL查询语句分类为事实问题。
从事实问题中抽取实体集合E1:
{<http://dbpedia.org/resource/Silver_Airways>,
<http://dbpedia.org/resource/Washington_Dulles_International_Airport>}
和一个谓词p2:
{<http://dbpedia.org/ontology/hubAirport>};
从实体集合E中随机选取出一个实体e2:
<http://dbpedia.org/resource/Silver_Airways>,
将实体e2与谓词p2一起构建出候选查询三元组候选集c3:
“select distinct?y1 where
{<http://dbpedia.org/resource/Silver_Airways>?y1?x}”;
和三元组候选集c4:
“selectdistinct?y2 where
{?x?y2<http://dbpedia.org/resource/Silver_Airways>}”;
执行三元组候选集c3和c4,分别得到结果集Rc3和结果集Rc4,
结果集Rc3:
[‘http://www.w3.org/1999/02/22-rdf-syntax-ns#type’,
‘http://www.w3.org/2000/01/rdf-schema#label’,
‘http://www.w3.org/2000/01/rdf-schema#comment’,
‘http://www.w3.org/2002/07/owl#sameAs’,
‘http://purl.org/dc/terms/subject’,
‘http://dbpedia.org/ontology/wikiPageID’,
‘http://dbpedia.org/ontology/wikiPageRevisionID’,
‘http://dbpedia.org/ontology/wikiPageExternalLink’,
‘http://xmlns.com/foaf/0.1/name’,
‘http://xmlns.com/foaf/0.1/homepage’,
‘http://xmlns.com/foaf/0.1/depiction’,
‘http://xmlns.com/foaf/0.1/isPrimaryTopicOf’,
‘http://dbpedia.org/ontology/thumbnail’,
‘http://www.w3.org/ns/prov#wasDerivedFrom’,
‘http://dbpedia.org/ontology/abstract’,
‘http://dbpedia.org/ontology/formationDate’,
‘http://dbpedia.org/ontology/headquarter’,
‘http://dbpedia.org/ontology/hubAirport’,
‘http://dbpedia.org/ontology/iataAirlineCode’,
‘http://dbpedia.org/ontology/icaoAirlineCode’,
‘http://dbpedia.org/ontology/industry’,
‘http://dbpedia.org/ontology/openingDate’,
‘http://dbpedia.org/property/aoc’,
‘http://dbpedia.org/property/callsign’,
‘http://dbpedia.org/property/destinations’,
‘http://dbpedia.org/property/fleetSize’,
‘http://dbpedia.org/property/keyPeople’,
‘http://dbpedia.org/property/logo’,
‘http://dbpedia.org/property/logoSize’,
‘http://dbpedia.org/property/parent’]
结果集Rc4:
[‘http://dbpedia.org/ontology/wikiPageRedirects’,
‘http://dbpedia.org/ontology/wikiPageDisambiguates’,
‘http://xmlns.com/foaf/0.1/primaryTopic’,
‘http://dbpedia.org/ontology/subsidiary’,
‘http://dbpedia.org/property/hub’,
‘http://dbpedia.org/property/label’,
‘http://dbpedia.org/property/primaryUser’]
发现谓词p2:<http://dbpedia.org/ontology/hubAirport>在结果集Rc3中,满足条件。
即,c3为所要的三元组,将三元组c3中?y1替换成p2,得到SPARQL查询语句s2:
“select distinct?x where{<http://dbpedia.org/resource/Silver_Airways><http://dbpedia.org/ontology/hubAirport>?x.}”;
执行查询语句s2,得到结果集R2:
“['http://dbpedia.org/resource/Washington_Dulles_International_Airport',
'http://dbpedia.org/resource/Tampa_International_Airport',
'http://dbpedia.org/resource/Orlando_International_Airport',
'http://dbpedia.org/resource/Fort_Lauderdale-Hollywood_Internati-onal_Airport']”,
其中,实体e3:
<http://db-pedia.org/resource/Washington_Dulles_International_Airport>
在结果集R2中,所以,事实问题:
“Does Silver Airways have a hub at the Washington DullesInternational Airport?”的答案为“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即为显式实体问题的答案。
下面以具体复杂问题做出说明,如:
“List TV shows with producer as Erik Bork and company is Dream WorksTelevision”,
判断问题中包含两个谓词:<http://dbpedia.org/ontology/producer>、
<http://dbpedia.org/ontology/company>,
则将该SPARQL查询语句分类为复杂问题;
同时,该问题还包括两个实体:<http://dbpedia.org/resource/Erik_Bork>、
<http://dbpedia.org/resource/DreamWorks_Television>,
则进一步将该复杂问题分类为显式实体问题。
从显式实体问题中抽取实体集合E2:
{<http://dbpedia.org/resource/Erik_Bork>
<http://dbpedia.org/resource/DreamWorks_Television>},
和谓语集合P1:
{<http://dbpedia.org/ontology/producer>
<http://dbpedia.org/ontology/company>},
实体集合E2中随机选取出实体e4:<http://dbpedia.org/resource/Erik_Bork>,用实体e4分别拼凑出两个三元组候选集c5:
“select distinct?y1where{<http://dbpedia.org/resource/Erik_Bork>?y1?x}”
和三元组候选集c6:
“select distinct?y2 where{?x?y2<http://dbpedia.org/resource/Erik_Bork>}”
执行三元组候选集c5和c6,分别得到结果集Rc5和Rc6,
结果集Rc5:
[‘http://www.w3.org/1999/02/22-rdf-syntax-ns#type’,
‘http://www.w3.org/2000/01/rdf-schema#label’,
‘http://www.w3.org/2000/01/rdf-schema#comment’,
‘http://www.w3.org/2002/07/owl#sameAs’,
‘http://dbpedia.org/property/birthPlace’,
‘http://purl.org/dc/terms/subject’,
‘http://dbpedia.org/ontology/wikiPageID’,
‘http://dbpedia.org/ontology/wikiPageRevisionID’,
‘http://dbpedia.org/ontology/wikiPageExternalLink’,
‘http://xmlns.com/foaf/0.1/name’,
‘http://xmlns.com/foaf/0.1/homepage’,
‘http://dbpedia.org/property/name’,
‘http://purl.org/dc/terms/description’,
‘http://xmlns.com/foaf/0.1/givenName’,
‘http://xmlns.com/foaf/0.1/gender’,
‘http://xmlns.com/foaf/0.1/isPrimaryTopicOf’,
‘http://xmlns.com/foaf/0.1/surname’,
‘http://www.w3.org/ns/prov#wasDerivedFrom’,
‘http://dbpedia.org/ontology/abstract’,
‘http://dbpedia.org/ontology/imdbId’,
‘http://dbpedia.org/ontology/notableWork’,
‘http://dbpedia.org/ontology/occupation’,
‘http://dbpedia.org/property/nationality’,
‘http://purl.org/linguistics/gold/hypernym’]
结果集Rc6:
[‘http://dbpedia.org/ontology/wikiPageDisambiguates’,
‘http://xmlns.com/foaf/0.1/primaryTopic’,
‘http://dbpedia.org/ontology/author’,
‘http://dbpedia.org/ontology/producer’,
‘http://dbpedia.org/property/writtenby’]
发现谓词p3:<http://dbpedia.org/ontology/producer>在结果集Rc6中,满足条件。将c6中的?y2替换为p3得到SPARQL查询语句s3:
“select distinct?x where{?x<http://dbpedia.org/ontology/producer><http://dbpedia.org/resource/Erik_Bork>}”;
执行查询语句s3,得到结果集R3:
“['http://dbpedia.org/resource/Band_of_Brothers_(miniseries)',
'http://dbpedia.org/resource/UC:_Undercover']”;
同样地,将实体集合E2中另一个实体e5:
<http://dbpedia.org/resource/DreamWorks_Television>,
和谓词集合P1中另外一个谓词p4:
<http://dbpedia.org/ontology/company>
组合起来得到SPARQL查询语句s4:
“select distinct?x where{?x<http://dbpedia.org/ontology/company><http://dbpedia.org/resource/DreamWorks_Television>}”;
执行查询语句s4,得到结果集R4:
['http://dbpedia.org/resource/Smash_(TV_series)',
'http://dbpedia.org/resource/Line_of_Fire_(2003_TV_series)',
'http://dbpedia.org/resource/Dog_Bites_Man',
'http://dbpedia.org/resource/On_the_Lot',
'http://dbpedia.org/resource/Oliver_Beene',
'http://dbpedia.org/resource/Rescue_Me_(U.S._TV_series)',
'http://dbpedia.org/resource/Carpoolers',
'http://dbpedia.org/resource/High_Incident',
'http://dbpedia.org/resource/The_Americans_(2013_TV_series)',
'http://dbpedia.org/resource/The_Job_(2001_TV_series)',
'http://dbpedia.org/resource/Ink_(TV_series)',
'http://dbpedia.org/resource/The_Others_(TV_series)',
'http://dbpedia.org/resource/Off_Centre',
'http://dbpedia.org/resource/The_River_(U.S._TV_series)',
'http://dbpedia.org/resource/Arsenio_(TV_series)',
'http://dbpedia.org/resource/Spin_City',
'http://dbpedia.org/resource/United_States_of_Tara',
'http://dbpedia.org/resource/Band_of_Brothers_(miniseries)',
'http://dbpedia.org/resource/Father_of_the_Pride',
'http://dbpedia.org/resource/The_Contender_(TV_series)',
'http://dbpedia.org/resource/Freaks_and_Geeks',
'http://dbpedia.org/resource/Las_Vegas_(TV_series)',
'http://dbpedia.org/resource/Undeclared',
"http://dbpedia.org/resource/It's_Like,_You_Know...",
'http://dbpedia.org/resource/Into_the_West_(miniseries)',
'http://dbpedia.org/resource/Battery_Park_(TV_series)',
'http://dbpedia.org/resource/Champs_(TV_series)',
'http://dbpedia.org/resource/Falling_Skies',
'http://dbpedia.org/resource/The_Pacific_(miniseries)',
'http://dbpedia.org/resource/Taken_(miniseries)',
'http://dbpedia.org/resource/Boomtown_(2002_TV_series)']
求R3和R4的交集得到结果集R5:
['http://dbpedia.org/resource/Band_of_Brothers_(miniseries)']
那么显式实体问题:“List TV shows with producer as Erik Bork andcompany is Dream Works Television?”的答案就是结果集R5:
['http://dbpedia.org/resource/Band_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即为隐式实体问题的答案。
下面以具体复杂问题做出说明,如:
“What are all the TV shows which are related to the ones produced byJulie Gardner?”,
判断问题中包含两个谓词:
<http://dbpedia.org/ontology/executiveProducer>、
<http://dbpedia.org/ontology/related>,
则将该SPARQL查询语句分类为复杂问题;
同时,该问题还包括一个实体:<http://dbpedia.org/resource/Julie_Gardner>,
则进一步将该复杂问题分类为隐式实体问题。
从隐式实体问题中抽取实体e6:
{<http://dbpedia.org/resource/Julie_Gardner>};
和谓语集合P2:
{<http://dbpedia.org/ontology/executiveProducer>
<http://dbpedia.org/ontology/related>};
用实体e6:<http://dbpedia.org/resource/Julie_Gardner>
拼凑出两个三元组候选集c7:
“select distinct?y1where
{<http://dbpedia.org/resource/Julie_Gardner>?y1?x}”;
和三元组候选集c8:
“select distinct?y2 where
{?x?y2<http://dbpedia.org/resource/Julie_Gardner>}”;
执行三元组候选集c7和c8,分别得到结果集Rc7和Rc8,
结果集Rc7:
[‘http://www.w3.org/1999/02/22-rdf-syntax-ns#type’,
‘http://www.w3.org/2000/01/rdf-schema#label’,
‘http://www.w3.org/2000/01/rdf-schema#comment’,
‘http://www.w3.org/2002/07/owl#sameAs’,
‘http://dbpedia.org/ontology/birthPlace’,
‘http://dbpedia.org/ontology/birthDate’,
‘http://purl.org/dc/terms/subject’,
‘http://dbpedia.org/ontology/wikiPageID’,
‘http://dbpedia.org/ontology/wikiPageRevisionID’,
‘http://dbpedia.org/ontology/wikiPageExternalLink’,
‘http://xmlns.com/foaf/0.1/name’,
‘http://dbpedia.org/property/name’,
‘http://xmlns.com/foaf/0.1/depiction’,
‘http://purl.org/dc/terms/description’,
‘http://xmlns.com/foaf/0.1/givenName’,
‘http://xmlns.com/foaf/0.1/gender’,
‘http://xmlns.com/foaf/0.1/isPrimaryTopicOf’,
‘http://xmlns.com/foaf/0.1/surname’,
‘http://dbpedia.org/ontology/thumbnail’,
‘http://www.w3.org/ns/prov#wasDerivedFrom’,
‘http://dbpedia.org/ontology/abstract’,
‘http://dbpedia.org/ontology/birthName’,
‘http://dbpedia.org/ontology/birthYear’,
‘http://dbpedia.org/ontology/imdbId’,
‘http://dbpedia.org/ontology/nationality’,
‘http://dbpedia.org/ontology/occupation’,
‘http://dbpedia.org/ontology/stateOfOrigin’,
‘http://dbpedia.org/property/after’,
‘http://dbpedia.org/property/before’,
‘http://dbpedia.org/property/caption’,
‘http://dbpedia.org/property/children’,
‘http://dbpedia.org/property/notableWorks’,
‘http://dbpedia.org/property/spouse’,
‘http://dbpedia.org/property/title’,
‘http://dbpedia.org/property/years’,
‘http://purl.org/linguistics/gold/hypernym’]
结果集Rc8:
[‘http://xmlns.com/foaf/0.1/primaryTopic’,
‘http://dbpedia.org/ontology/executiveProducer’,
‘http://dbpedia.org/ontology/producer’,
‘http://dbpedia.org/property/after’,
‘http://dbpedia.org/property/before’,
‘http://dbpedia.org/property/producer’]
发现谓词p5:
<http://dbpedia.org/ontology/executiveProducer>在结果集Rc8中,满足条件。
将c8中的?y2替换为p5得到SPARQL查询语句s5:
“select distinct?x where{?x<http://dbpedia.org/ontology/executiveProducer>
<http://dbpedia.org/resource/Julie_Gardner>}”;
执行查询语句s5,得到结果集R6:
[<http://dbpedia.org/resource/Da_Vinci's_Demons>,
<http://dbpedia.org/resource/Human_Nature_(Doctor_Who)>,
<http://dbpedia.org/resource/Blink_(Doctor_Who)>,
<http://dbpedia.org/resource/Cucumber_(TV_series)>,
<http://dbpedia.org/resource/Father's_Day_(Doctor_Who)>,
<http://dbpedia.org/resource/Fragments_(Torchwood)>,
<http://dbpedia.org/resource/To_the_Last_Man_(Torchwood)>,
<http://dbpedia.org/resource/Tooth_and_Claw_(Doctor_Who)>,
<http://dbpedia.org/resource/The_End_of_Time_(Doctor_Who)>,
<http://dbpedia.org/resource/Revenge_of_the_Slitheen>,
<http://dbpedia.org/resource/Time_Crash>,
<http://dbpedia.org/resource/New_Street_Law>,
<http://dbpedia.org/resource/Forest_of_the_Dead>,
<http://dbpedia.org/resource/Silence_in_the_Library>,
<http://dbpedia.org/resource/The_Poison_Sky>,
<http://dbpedia.org/resource/The_Blood_Line>,
<http://dbpedia.org/resource/Adrift_(Torchwood)>,
<http://dbpedia.org/resource/Out_of_Time_(Torchwood)>,
<http://dbpedia.org/resource/Sleeper_(Torchwood)>,
<http://dbpedia.org/resource/Smith_and_Jones_(Doctor_Who)>,
<http://dbpedia.org/resource/The_End_of_the_World_(Doctor_Who)>,
<http://dbpedia.org/resource/Dead_Man_Walking_(Torchwood)>,
<http://dbpedia.org/resource/End_of_Days_(Torchwood)>,
<http://dbpedia.org/resource/Everything_Changes_(Torchwood)>,
<http://dbpedia.org/resource/New_Earth>,
<http://dbpedia.org/resource/The_Gathering_(Torchwood)>,
<http://dbpedia.org/resource/Countrycide>,
<http://dbpedia.org/resource/They_Keep_Killing_Suzie>,
<http://dbpedia.org/resource/Cyberwoman>,
<http://dbpedia.org/resource/Invasion_of_the_Bane>,
<http://dbpedia.org/resource/Random_Shoes>,
<http://dbpedia.org/resource/The_Shakespeare_Code>,
<http://dbpedia.org/resource/Rose_(Doctor_Who)>,
<http://dbpedia.org/resource/Utopia_(Doctor_Who)>,
<http://dbpedia.org/resource/The_Sound_of_Drums>,
<http://dbpedia.org/resource/Something_Borrowed_(Torchwood)>,
<http://dbpedia.org/resource/The_Doctor's_Daughter>,
<http://dbpedia.org/resource/Dead_of_Night_(Torchwood)>,
<http://dbpedia.org/resource/Aliens_of_London>,
<http://dbpedia.org/resource/World_War_Three_(Doctor_Who)>,
<http://dbpedia.org/resource/The_Unquiet_Dead>,
<http://dbpedia.org/resource/Us_&_Them>,
<http://dbpedia.org/resource/Adam_(Torchwood)>,
<http://dbpedia.org/resource/Journey's_End_(Doctor_Who)>,
<http://dbpedia.org/resource/Midnight_(Doctor_Who)>,
<http://dbpedia.org/resource/Reset_(Torchwood)>,
<http://dbpedia.org/resource/Enemy_of_the_Bane>,
<http://dbpedia.org/resource/Getting_On_(U.S._TV_series)>,
<http://dbpedia.org/resource/Prisoner_of_the_Judoon>,
<http://dbpedia.org/resource/Doomsday_(Doctor_Who)>,
<http://dbpedia.org/resource/Merlin_(2008_TV_series)>,
<http://dbpedia.org/resource/Small_Worlds_(Torchwood)>,
<http://dbpedia.org/resource/The_Gift_(The_Sarah_Jane_Adventures)>,
<http://dbpedia.org/resource/Secrets_of_the_Stars>,
<http://dbpedia.org/resource/The_Day_of_the_Clown>,
<http://dbpedia.org/resource/The_Last_Sontaran>,
<http://dbpedia.org/resource/The_Temptation_of_Sarah_Jane_Smith>,
<http://dbpedia.org/resource/Mona_Lisa's_Revenge>,
<http://dbpedia.org/resource/The_Eternity_Trap>,
<http://dbpedia.org/resource/The_Mad_Woman_in_the_Attic>,
<http://dbpedia.org/resource/Escape_to_L.A.>,
<http://dbpedia.org/resource/Immortal_Sins>,
<http://dbpedia.org/resource/The_Categories_of_Life>,
<http://dbpedia.org/resource/The_Middle_Men>,
<http://dbpedia.org/resource/Dreamland_(Doctor_Who)>,
<http://dbpedia.org/resource/The_Mark_of_the_Berserker>,
<http://dbpedia.org/resource/The_New_World_(Torchwood)>,
<http://dbpedia.org/resource/Planet_of_the_Dead>,
<http://dbpedia.org/resource/The_Next_Doctor>,
<http://dbpedia.org/resource/The_Wedding_of_Sarah_Jane_Smith>,
<http://dbpedia.org/resource/The_Stolen_Earth>,
<http://dbpedia.org/resource/A_Day_in_the_Death>,
<http://dbpedia.org/resource/Doctor_Who:_Children_in_Need>,
<http://dbpedia.org/resource/Attack_of_the_Graske>,
<http://dbpedia.org/resource/Rise_of_the_Cybermen>,
<http://dbpedia.org/resource/The_Idiot's_Lantern>,
<http://dbpedia.org/resource/Fear_Her>,
<http://dbpedia.org/resource/Love_&_Monsters>,
<http://dbpedia.org/resource/Tardisode>,
<http://dbpedia.org/resource/The_Age_of_Steel>,
<http://dbpedia.org/resource/The_Impossible_Planet>,
<http://dbpedia.org/resource/Evolution_of_the_Daleks>,
<http://dbpedia.org/resource/Last_of_the_Time_Lords>,
<http://dbpedia.org/resource/Banana_(TV_series)>,
<http://dbpedia.org/resource/Intruders_(TV_series)>,
<http://dbpedia.org/resource/Rendition_(Torchwood)>,
<http://dbpedia.org/resource/The_Unicorn_and_the_Wasp>,
<http://dbpedia.org/resource/From_Out_of_the_Rain>,
<http://dbpedia.org/resource/The_Fires_of_Pompeii>,
<http://dbpedia.org/resource/Day_One_(Torchwood)>,
<http://dbpedia.org/resource/End_of_the_Road_(Torchwood)>,
<http://dbpedia.org/resource/Greeks_Bearing_Gifts_(Torchwood)>,
<http://dbpedia.org/resource/Partners_in_Crime_(Doctor_Who)>,
<http://dbpedia.org/resource/Planet_of_the_Ood>,
<http://dbpedia.org/resource/42_(Doctor_Who)>,
<http://dbpedia.org/resource/Meat_(Torchwood)>,
<http://dbpedia.org/resource/Turn_Left_(Doctor_Who)>,
<http://dbpedia.org/resource/Voyage_of_the_Damned_(Doctor_Who)>,
<http://dbpedia.org/resource/Bad_Wolf>,
<http://dbpedia.org/resource/Boom_Town_(Doctor_Who)>,
<http://dbpedia.org/resource/The_Christmas_Invasion>,
<http://dbpedia.org/resource/The_Doctor_Dances>,
<http://dbpedia.org/resource/The_Empty_Child>,
<http://dbpedia.org/resource/The_Long_Game>,
<http://dbpedia.org/resource/The_Parting_of_the_Ways>,
<http://dbpedia.org/resource/Army_of_Ghosts>,
<http://dbpedia.org/resource/School_Reunion_(Doctor_Who)>,
<http://dbpedia.org/resource/The_Girl_in_the_Fireplace>,
<http://dbpedia.org/resource/The_Satan_Pit>,
<http://dbpedia.org/resource/Kiss_Kiss,_Bang_Bang_(Torchwood)>,
<http://dbpedia.org/resource/The_Sontaran_Stratagem>,
<http://dbpedia.org/resource/Captain_Jack_Harkness_(Torchwood_episode)>,
<http://dbpedia.org/resource/Combat_(Torchwood)>,
<http://dbpedia.org/resource/Dalek_(Doctor_Who_episode)>,
<http://dbpedia.org/resource/Gridlock_(Doctor_Who)>,
<http://dbpedia.org/resource/Music_of_the_Spheres_(Doctor_Who)>,
<http://dbpedia.org/resource/The_Runaway_Bride_(Doctor_Who)>,
<http://dbpedia.org/resource/The_Sarah_Jane_Adventures>,
<http://dbpedia.org/resource/Torchwood>,
<http://dbpedia.org/resource/Tofu_(web_series)>,
<http://dbpedia.org/resource/Exit_Wounds_(Torchwood)>,
<http://dbpedia.org/resource/Ghost_Machine_(Torchwood)>,
<http://dbpedia.org/resource/Daleks_in_Manhattan>,
<http://dbpedia.org/resource/The_Family_of_Blood>,
<http://dbpedia.org/resource/The_Infinite_Quest>,
<http://dbpedia.org/resource/The_Lazarus_Experiment>,
<http://dbpedia.org/resource/Eye_of_the_Gorgon>,
<http://dbpedia.org/resource/The_Lost_Boy_(The_Sarah_Jane_Adventures)>,
<http://dbpedia.org/resource/Warriors_of_Kudlak>,
<http://dbpedia.org/resource/Whatever_Happened_to_Sarah_Jane%3F>,
<http://dbpedia.org/resource/The_Waters_of_Mars>,
<http://dbpedia.org/resource/From_Raxacoricofallapatorius_with_Love>]
将结果集R6定义为实体e7,将实体e7和谓词集合P2中另外一个谓词p6:
<http://dbpedia.org/ontology/related>
组合起来得到SPARQL查询语句s6:
“select distinct?x where
{R6<http://dbpedia.org/ontology/related>?x}”;
执行查询语句s6,得到结果集R7:
['http://dbpedia.org/resource/Banana_(TV_series)',
'http://dbpedia.org/resource/Tofu_(web_series)',
'http://dbpedia.org/resource/Atlantis_(TV_series)',
'http://dbpedia.org/resource/List_of_Merlin_episodes',
'http://dbpedia.org/resource/Cucumber_(TV_series)',
'http://dbpedia.org/resource/Doctor_Who',
"http://dbpedia.org/resource/Sarah_Jane's_Alien_Files",
'http://dbpedia.org/resource/Wizards_vs_Aliens',
'http://dbpedia.org/resource/Torchwood',
'http://dbpedia.org/resource/Torchwood_Declassified',
'http://dbpedia.org/resource/The_Sarah_Jane_Adventures']
那么隐式实体问题:“What are all the TV shows which are related to theones produced by Julie Gardner?”的答案就是结果集R7。
与现有技术相比,本发明根据不同的问题,构建相对应的知识图谱,在知识图谱的帮助下,筛选出正确的SPARQL查询语句;省去了传统方法中需要在排序和剪枝步骤的前提下,将实体和谓词组织起来,才能构成SPARQL查询,降低了传统方法的搜索空间,减少了运行时间;处理复杂问题时,若隐式实体没有出现,很难得到正确的SPARQL查询语句,为此,通过中间产物限制隐式实体,从而寻找出正确的SPARQL查询语句执行结果,筛选准确、快速。
以上仅为本发明的较佳实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (5)

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即为隐式实体问题的答案。
CN201910282147.7A 2019-04-09 2019-04-09 一种知识驱动的sparql查询构建方法 Active CN109992658B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910282147.7A CN109992658B (zh) 2019-04-09 2019-04-09 一种知识驱动的sparql查询构建方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910282147.7A CN109992658B (zh) 2019-04-09 2019-04-09 一种知识驱动的sparql查询构建方法

Publications (2)

Publication Number Publication Date
CN109992658A true CN109992658A (zh) 2019-07-09
CN109992658B CN109992658B (zh) 2023-04-11

Family

ID=67132703

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910282147.7A Active CN109992658B (zh) 2019-04-09 2019-04-09 一种知识驱动的sparql查询构建方法

Country Status (1)

Country Link
CN (1) CN109992658B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111241127A (zh) * 2020-01-16 2020-06-05 华南师范大学 基于谓语组合的sparql查询优化方法、系统、存储介质及设备
CN112989005A (zh) * 2021-04-16 2021-06-18 重庆中国三峡博物馆 一种基于分阶段查询的知识图谱常识问答方法及系统

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090138498A1 (en) * 2007-11-26 2009-05-28 Microsoft Corporation Rdf store database design for faster triplet access
US20130346445A1 (en) * 2012-06-21 2013-12-26 David Mizell Augmenting queries when searching a semantic database
US20140156633A1 (en) * 2012-11-30 2014-06-05 International Business Machines Corporation Scalable Multi-Query Optimization for SPARQL
US20140372408A1 (en) * 2012-01-25 2014-12-18 Hitachi, Ltd. Sparql query optimization method
CN104572970A (zh) * 2014-12-31 2015-04-29 浙江大学 一种基于本体库内容的sparql查询语句生成系统
CN104778277A (zh) * 2015-04-30 2015-07-15 福州大学 一种基于Redis的RDF数据分布式存储和查询方法
US20150339577A1 (en) * 2014-05-22 2015-11-26 Ulli Waltinger Generating a Classifier for Performing a Query to a Given Knowledge Base
CN107748757A (zh) * 2017-09-21 2018-03-02 北京航空航天大学 一种基于知识图谱的问答方法
CN108256065A (zh) * 2018-01-16 2018-07-06 智言科技(深圳)有限公司 基于关系检测和强化学习的知识图谱推理方法
CN108959613A (zh) * 2018-07-17 2018-12-07 杭州电子科技大学 一种面向rdf知识图谱的语义近似查询方法
CN109086376A (zh) * 2018-07-24 2018-12-25 北京大学 基于sparql查询语言的多查询方法和装置
CN109325029A (zh) * 2018-08-30 2019-02-12 天津大学 基于稀疏矩阵的rdf数据存储和查询方法

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090138498A1 (en) * 2007-11-26 2009-05-28 Microsoft Corporation Rdf store database design for faster triplet access
US20140372408A1 (en) * 2012-01-25 2014-12-18 Hitachi, Ltd. Sparql query optimization method
US20130346445A1 (en) * 2012-06-21 2013-12-26 David Mizell Augmenting queries when searching a semantic database
US20140156633A1 (en) * 2012-11-30 2014-06-05 International Business Machines Corporation Scalable Multi-Query Optimization for SPARQL
US20150339577A1 (en) * 2014-05-22 2015-11-26 Ulli Waltinger Generating a Classifier for Performing a Query to a Given Knowledge Base
CN104572970A (zh) * 2014-12-31 2015-04-29 浙江大学 一种基于本体库内容的sparql查询语句生成系统
CN104778277A (zh) * 2015-04-30 2015-07-15 福州大学 一种基于Redis的RDF数据分布式存储和查询方法
CN107748757A (zh) * 2017-09-21 2018-03-02 北京航空航天大学 一种基于知识图谱的问答方法
CN108256065A (zh) * 2018-01-16 2018-07-06 智言科技(深圳)有限公司 基于关系检测和强化学习的知识图谱推理方法
CN108959613A (zh) * 2018-07-17 2018-12-07 杭州电子科技大学 一种面向rdf知识图谱的语义近似查询方法
CN109086376A (zh) * 2018-07-24 2018-12-25 北京大学 基于sparql查询语言的多查询方法和装置
CN109325029A (zh) * 2018-08-30 2019-02-12 天津大学 基于稀疏矩阵的rdf数据存储和查询方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
HYUNJOONG KANG等: "On integrating knowledge graph embedding into sparql query processing", 《2018 IEEE INTERNATIONAL CONFERENCE ON WEB SERVICES (ICWS)》 *
KISUNG KIM等: "R3F: RDF triple filtering method for efficient SPARQL query processing", 《WORLD WIDE WEB》 *
徐芳芳: "基于语义缓存的RDF数据查询优化", 《中国优秀硕士学位论文全文数据库信息科技辑》 *
韩仲良: "基于semi-join的关联数据联合查询方法研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111241127A (zh) * 2020-01-16 2020-06-05 华南师范大学 基于谓语组合的sparql查询优化方法、系统、存储介质及设备
CN111241127B (zh) * 2020-01-16 2023-01-31 华南师范大学 基于谓语组合的sparql查询优化方法、系统、存储介质及设备
CN112989005A (zh) * 2021-04-16 2021-06-18 重庆中国三峡博物馆 一种基于分阶段查询的知识图谱常识问答方法及系统
CN112989005B (zh) * 2021-04-16 2022-07-12 重庆中国三峡博物馆 一种基于分阶段查询的知识图谱常识问答方法及系统

Also Published As

Publication number Publication date
CN109992658B (zh) 2023-04-11

Similar Documents

Publication Publication Date Title
Michaud Handling mountain minorities in China, Vietnam and Laos: from history to current concerns
Bergman Swedish crime fiction: The making of Nordic Noir
Boehm Retaliatory violence in human prehistory
Sanders et al. Defensive insect symbiont leads to cascading extinctions and community collapse
Riley The rebirth of tragedy out of the spirit of hip hop: A cultural sociology of gangsta rap music
CN109992658B (zh) 一种知识驱动的sparql查询构建方法
Nash Practicing ethnography in a globalizing world: an anthropological odyssey
Jackson The human network: how we're connected and why it matters
Hartley A Trojan Horse in the Citadel of Stories?
Peacock Stieg Larsson's millennium trilogy: Interdisciplinary approaches to Nordic noir on page and screen
Elitaş et al. Reading Turkey’s new vision based real policies through an identity and their presentation in series as a soft power: A study on the series, Resurrection-Ertugrul
Wykes The burrowers: news about bodies, tunnels and green guerrillas
Gilpin NRA media and second amendment identity politics
Roy Understanding India’s sociological diversity, unity in diversity and caste system in contextualizing a global conservation model
Hua the dual alienation in waste tide
Pinheiro-Machado et al. Populism in emerging economies: authoritarian politics, labour precariousness, and aspirational classes in Brazil, India, and the Philippines (BIP)
Alcalá Unworking community: cultural imaginaries, common life, and the politics of division
Donnar Redundancy and ageing: Sylvester Stallone’s enduring action star image
Watson The Kids are Alt-Right: Hardcore Punk, Subcultural Violence and Contemporary American Politics in Jeremy Saulnier’s Green Room
Peters Music in crime, resistance, and identity
Rieger Was Quine right about subjunctive conditionals?
Watson The Kids are Alt-right
Fischer Bacurau flies at dusk: film, viral cultural politics, Covid-19, hauntings, and futures
Lohmann Spirit Colonists in New Guinea Minds
Deighan Kneeling on Glass: Elaine May’s A New Leaf (1971) as Screwball Black Comedy

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant