CN102129457A - 大规模语义数据路径查询的方法 - Google Patents
大规模语义数据路径查询的方法 Download PDFInfo
- Publication number
- CN102129457A CN102129457A CN201110056579XA CN201110056579A CN102129457A CN 102129457 A CN102129457 A CN 102129457A CN 201110056579X A CN201110056579X A CN 201110056579XA CN 201110056579 A CN201110056579 A CN 201110056579A CN 102129457 A CN102129457 A CN 102129457A
- Authority
- CN
- China
- Prior art keywords
- path
- expression
- data
- query
- subject
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- 239000003638 chemical reducing agent Substances 0.000 claims description 7
- 238000011156 evaluation Methods 0.000 claims 1
- 241000234435 Lilium Species 0.000 description 13
- 230000006870 function Effects 0.000 description 6
- 238000013507 mapping Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 238000013499 data model Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及基于MapReduce编程框架地图的路径搜索技术领域,公开了一种大规模语义数据路径查询的方法,本发明通过基于MapReduce的编程框架,采用流行的图的路径查询排序的算法,完成大规模语义数据的关系路径的查询。本发明有效地实现了语义数据关系路径在数量级很大的情况下,路径查询也能很快进行,从返回结果上,不仅告诉用户,位于路径两端的两个本体是什么,更关键的是关心了具体这两个本体是怎么连接起来的,让用户清晰的看到这条链上的所有有关联的本体。
Description
技术领域
本发明涉及基于MapReduce编程框架地图的路径搜索技术领域,尤其涉及了一种大规模语义数据路径查询的方法。
背景技术
海量数据是互联网发展的必然结果,而大规模的将现有数据语义化则是信息时代的必然需求。现在已经有不少较大的语义数据云,提供大量的语义化的数据及其应用服务。
关联关系则是语义网的核心。那么,查询得到语义关联关系则是语义网应用领域的一个非常重要的工作,特别是医学、生物领域。数据查询是利用现有数据进行开发利用的一个不可避免的步骤。
现在的查询语言只做到一般规模数据的普通查询和路径查询,其中,路径查询只能得到处于整个路径链上的起点和终点的本体,没有给出这条路径具体是什么,即这两个本体是通过怎样的属性链一步步连接起来的。
随着语义数据的增加,处理大规模语义数据的方法也需要解决。MapReduce作为一种高效地并行处理大规模数据的编程框架在很多领域上都获得了应用。
发明内容
本发明针对现有技术中的路径查询只能得到处于整个路径链上的起点和终点的本体,无法看到整个具体路径的缺点,提供了一种采用了MapReduce的编程模型,不同于现有的路径查询,只返回该路径上的起点和终点两个端点;而是返回该路径上的所有点,并且按一定的规则排序,方便用户看到整个路径,了解这些点是怎么连接起来的大规模语义数据路径查询的方法。
为了解决上述技术问题,本发明通过下述技术方案得以解决:
大规模语义数据路径查询的方法,包括下列步骤:
步骤A:需要定制查询路径的模式:
a:查询路径的语法:查询路径表达式为基于本体的属性而非字符的正则表达式,该路径表达式基本能够满足查询需求;
b:路径评估:路径按照难易程度分为以下两种:
简单路径:路径表达式只包含连接(sequence)、取反(reverse)和{n},即路径长度固定;
复杂路径:路径表达式中包含*,?,{},即该路径的长度可变;
步骤B:分析路径表达式,将路径表达式进行拆分:
所述的简单路径需要将路径表达式分成几个更简单的表达式,然后将其join(求交),连接起来,过程中需要迭代,如果其中间结果不满足路径条件,不作为最终结果;
所述的复杂路径需要迭代,输出相应的结果;
步骤C:MapReduce工作步骤:
c:准备工作:将原路径表达式和分析好的路径表达式链记录;链记录记录原路径表达式和分析好的路径表达式,分析好的路径表达式,类似于一个状态转移图,用于后面判断路径是否符合原路径表达式。
d:MapReduce的Mapper读入数据,其中以语义数据三元组中的Object(宾语)和Subject(主语)作为<key,value>中的key,以其关联关系的属性链及宾语作为value,分发数据;Mapper是MapReduce编程框架中的映射函数。
e:Reducer(MapReduce中的化简函数)接收数据后,根据拆分好的路径,对数据进行join操作,得到根据路径连接起来的本体链;join操作:有两个本体实例,当第一个的Object和第二个本体的Subject相同,则这两个本体可以做一个连接操作。如:alice:friend bob,bob:friend Lily.那么就有Alice:friend bob:friend Lily。
f:重复步骤d和e,直到不会在产生新的根据路径连接起来的本体链,有区别的是在迭代的过程中,要将拆分好的路径链按照最初的路径表达式再一步步连接起来,恢复成原来的路径或与之等价的路径;本体链:Alice:knowsBob:knows Lily,Alice认识Bob,Bob认识Lily就构成一个本体链,即由一串有关联关系组成的本体。
g:根据路径,输出结果。
作为优选,所述的步骤d中的MapReduce的Mapper读入数据过程中,若读入的三元组数据<subject,property,object>中的property在查询的路径表达式中有取反操作,则要新加一组三元组数据<object,^property,subject>,即将原来的三元组的主语和宾语交换,同时对property(属性)取反。
方法中涉及到相关的名词解释:
路径表达式——正则表达式、元字符
在计算机科学中,正则表达式就是用某种模式去匹配一类字符串的一个公式,一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。在很多文本编辑器或其他工具里,正则表达式通常被用来检索或替换那些符合某个模式的文本内容。许多程序设计语言都支持利用正则表达式进行字符串操作。
元字符,是指那些在正则表达式中具有特殊意义的专用字符,可以用来规定其前导字符(即位于元字符前面的字符)在目标对象中的出现模式。
语义数据模型——本体、属性
本体模型更像是一种类和对象的模型。数据模型在这里被表达为类及其属性,而数据则表达为本体实例。
编程模型——MapReduce
MapReduce是用于大规模数据集(大于1TB)的并行计算。实现是指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(化简)函数,用来保证所有映射的键值对中的每一个共享相同的键组。包括以下两部分:
a)映射(Map):对一些独立元素组成的概念上的列表(例如,一个测试成绩的列表)的每一个元素进行指定的操作。
b)化简(Reduce)对一个列表的元素进行适当的合并。
本发明由于采用了以上技术方案,具有显著的技术效果:
1、本方法采用了MapReduce的编程模型,可以处理海量数据,从返回结果上,不仅告诉用户,位于路径两端的两个本体是什么,更关键的是关心了具体这两个本体是怎么连接起来的,让用户清晰的看到这条链上的所有有关联的本体;
2、给出了路径查询结果的一个排序,能让用户更方便快捷的看到想要的第一结果。
附图说明
图1是本发明的流程示意图。
具体实施方式
下面结合附图1与实施例对本发明作进一步详细描述:
实施例1
大规模语义数据路径查询的方法,如图1所示,包括下列步骤:
步骤A:需要定制查询路径的模式:
a:查询路径的语法:查询路径表达式为基于本体的属性而非字符的正则表达式,该路径表达式基本能够满足查询需求;
b:路径评估:路径按照难易程度分为以下两种:
简单路径:路径表达式只包含连接(sequence)、取反(reverse)和{n},即路径长度固定;
复杂路径:路径表达式中包含*,?,{},即该路径的长度可变;
步骤B:分析路径表达式,将路径表达式进行拆分:
所述的简单路径需要将路径表达式分成几个更简单的表达式,然后将其join(求交),连接起来,过程中需要迭代,如果其中间结果不满足路径条件,不作为最终结果;
所述的复杂路径需要多次迭代,输出相应的结果;
步骤C:MapReduce工作步骤:
c:准备工作:将原路径表达式和分析好的路径表达式链记录;链记录记录原路径表达式和分析好的路径表达式,分析好的路径表达式,类似于一个状态转移图,用于后面判断路径是否符合原路径表达式。
d:MapReduce的Mapper读入数据,其中以语义数据三元组中的Object(宾语)和Subject(主语)作为<key,value>中的key,以其关联关系的属性链及宾语作为value,分发数据;Mapper是MapReduce编程框架中的映射函数。
e:Reducer(MapReduce中的化简函数)接收数据后,根据拆分好的路径,对数据进行join操作,得到根据路径连接起来的本体链;join操作:有两个本体实例,当第一个的Object和第二个本体的Subject相同,则这两个本体可以做一个连接操作。如:alice:friend bob,bob:friend Lily.那么就有Alice:friend bob:friend Lily。
f:重复步骤d和e,直到不会在产生新的根据路径连接起来的本体链,有区别的是在迭代的过程中,要将拆分好的路径链按照最初的路径表达式再一步步连接起来,恢复成原来的路径或与之等价的路径;本体链:Alice:knowsBob:knows Lily,Alice认识Bob,Bob认识Lily就构成一个本体链,即由一串有关联关系组成的本体。
g:根据路径,输出结果。
所述步骤d中的MapReduce的Mapper读入数据过程中,若读入的三元组数据<subject,property,object>中的property在查询的路径表达式中有取反操作,则要新加一组三元组数据<object,^property,subject>,即将原来的三元组的主语和宾语交换,同时对property(属性)取反。
本发明具体实施过程如下:
定义一个属性叫friend,alice:friend bob表示alice是bob的朋友。如果我们要找到alice的所有朋友,和她的朋友的朋友,即她的朋友圈,那么我们的路径表达式应该是alice:friend+?x,其中?x就是我们所要找的人,当我们把数据按照<key value>分发出去。
原输入数据:alice:friend bob;alice:friend Lucy;bob:friend Lily;bob:friend tom;
分发数据:<(alice,bob),(:friend bob)>,<(alice,Lucy),(:friend Lucy)>,<(bob,Lily),(:friend,Lily)>,<(bob,tom),(:friend,tom)>.其中前两个即<(alice,bob),(:friend bob)>,<(alice,Lucy),(:friend Lucy)>被分到一个Reducer,后两个<(bob,Lily),(:friend,Lily)>,<(bob,tom),(:friend,tom)>被分到一个Reducer。这两个Reducer分别得到:alice的朋友,和bob的朋友。然后将结果迭代,重新分发,分到同一个Reducer,通过key值查找进行jion操作,得到<(alice,bob),(:friend bob)>,<(alice,Lily),(:friend,bob;:friend,Lily)>,<(alice,Lucy),(:friend Lucy)>,<(alice,tom),(:friend bob;:friend tom)>。从而我们得到alice的朋友及朋友的朋友,bob,Lily,Lucy,tom,并且知道她们是通过什么人联系起来的。
本发明由于采用了MapReduce的编程模型,可以处理海量数据,从返回结果上,不仅告诉用户,位于路径两端的两个本体是什么,更关键的是关心了具体这两个本体是怎么连接起来的,让用户清晰的看到这条链上的所有有关联的本体;给出了路径查询结果的一个排序,能让用户更方便快捷的看到想要的第一结果。
总之,以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所作的均等变化与修饰,皆应属本发明专利的涵盖范围。
Claims (2)
1.大规模语义数据路径查询的方法,其特征在于,包括下列步骤:
步骤A:需要定制查询路径的模式:
a:查询路径的语法:查询路径表达式为基于本体的属性而非字符的正则表达式,该路径表达式基本能够满足查询需求;
b:路径评估:路径按照难易程度分为以下两种:
简单路径:路径表达式只包含连接(sequence)、取反(reverse)和{n},即路径长度固定;
复杂路径:路径表达式中包含*,?,{},即该路径的长度可变;
步骤B:分析路径表达式,将路径表达式进行拆分:
所述的简单路径需要将路径表达式分成几个更简单的表达式,然后将其join(求交),连接起来,过程中需要迭代,如果其中间结果不满足路径条件,不作为最终结果;
所述的复杂路径需要迭代,输出相应的结果;
步骤C:MapReduce工作步骤:
c:准备工作:将原路径表达式和分析好的路径表达式链记录;
d:MapReduce的Mapper读入数据,其中以语义数据三元组中的Object(宾语)和Subject(主语)作为<key,value>中的key,以其关联关系的属性链及宾语作为value,分发数据;
e:Reducer接收数据后,根据拆分好的路径,对数据进行join操作,得到根据路径连接起来的本体链;
f:重复步骤d和e,直到不会在产生新的根据路径连接起来的本体链,有区别的是在迭代的过程中,要将拆分好的路径链按照最初的路径表达式再一步步连接起来,恢复成原来的路径或与之等价的路径;
g:根据路径,输出结果。
2.根据权利要求1所述的大规模语义数据路径查询的方法,其特征在于:所述的步骤d中的MapReduce的Mapper读入数据过程中,若读入的三元组数据<subject,property,object>中的property在查询的路径表达式中有取反操作,则要新加一组三元组数据<object,^property,subject>,即将原来的三元组的主语和宾语交换,同时对property(属性)取反。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110056579XA CN102129457A (zh) | 2011-03-09 | 2011-03-09 | 大规模语义数据路径查询的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110056579XA CN102129457A (zh) | 2011-03-09 | 2011-03-09 | 大规模语义数据路径查询的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102129457A true CN102129457A (zh) | 2011-07-20 |
Family
ID=44267539
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110056579XA Pending CN102129457A (zh) | 2011-03-09 | 2011-03-09 | 大规模语义数据路径查询的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102129457A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102332009A (zh) * | 2011-09-02 | 2012-01-25 | 北京大学 | 一种大规模数据集上的关系查询方法 |
WO2014101520A1 (zh) * | 2012-12-27 | 2014-07-03 | 腾讯科技(深圳)有限公司 | 基于MapReduce实现分析函数的方法及系统 |
CN104424251A (zh) * | 2013-08-28 | 2015-03-18 | 腾讯科技(深圳)有限公司 | 一种多维度拆分的计算方法以及系统 |
CN105577438A (zh) * | 2015-12-22 | 2016-05-11 | 桂林电子科技大学 | 一种基于MapReduce的网络流量本体构建方法 |
CN106776729A (zh) * | 2016-11-18 | 2017-05-31 | 同济大学 | 一种大规模知识图谱路径查询预测器构造方法 |
CN107463671A (zh) * | 2017-08-03 | 2017-12-12 | 北京大学 | 路径查询的方法和装置 |
CN110874529A (zh) * | 2018-08-31 | 2020-03-10 | 通用电气公司 | 用于属性链中的隐含图形模式的方法和系统 |
-
2011
- 2011-03-09 CN CN201110056579XA patent/CN102129457A/zh active Pending
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102332009A (zh) * | 2011-09-02 | 2012-01-25 | 北京大学 | 一种大规模数据集上的关系查询方法 |
CN102332009B (zh) * | 2011-09-02 | 2013-09-04 | 北京大学 | 一种大规模数据集上的关系查询方法 |
WO2014101520A1 (zh) * | 2012-12-27 | 2014-07-03 | 腾讯科技(深圳)有限公司 | 基于MapReduce实现分析函数的方法及系统 |
US10282366B2 (en) | 2013-08-28 | 2019-05-07 | Tencent Technology (Shenzhen) Company Limited | Multi-dimensional decomposition computing method and system |
CN104424251B (zh) * | 2013-08-28 | 2019-03-15 | 腾讯科技(深圳)有限公司 | 一种多维度拆分的计算方法以及系统 |
CN104424251A (zh) * | 2013-08-28 | 2015-03-18 | 腾讯科技(深圳)有限公司 | 一种多维度拆分的计算方法以及系统 |
CN105577438A (zh) * | 2015-12-22 | 2016-05-11 | 桂林电子科技大学 | 一种基于MapReduce的网络流量本体构建方法 |
CN105577438B (zh) * | 2015-12-22 | 2018-09-28 | 桂林电子科技大学 | 一种基于MapReduce的网络流量本体构建方法 |
CN106776729A (zh) * | 2016-11-18 | 2017-05-31 | 同济大学 | 一种大规模知识图谱路径查询预测器构造方法 |
CN106776729B (zh) * | 2016-11-18 | 2020-08-14 | 同济大学 | 一种大规模知识图谱路径查询预测器构造方法 |
CN107463671A (zh) * | 2017-08-03 | 2017-12-12 | 北京大学 | 路径查询的方法和装置 |
CN107463671B (zh) * | 2017-08-03 | 2019-12-13 | 北京大学 | 路径查询的方法和装置 |
CN110874529A (zh) * | 2018-08-31 | 2020-03-10 | 通用电气公司 | 用于属性链中的隐含图形模式的方法和系统 |
CN110874529B (zh) * | 2018-08-31 | 2023-10-13 | 通用电气公司 | 用于属性链中的隐含图形模式的方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Chen et al. | Behavior sequence transformer for e-commerce recommendation in alibaba | |
CN102129457A (zh) | 大规模语义数据路径查询的方法 | |
CN103608812B (zh) | 业务智能系统的查询优化技术 | |
Zafarani et al. | Social media mining: an introduction | |
CN105706078B (zh) | 实体集合的自动定义 | |
CN103646032B (zh) | 一种基于本体和受限自然语言处理的数据库查询方法 | |
CN108268580A (zh) | 基于知识图谱的问答方法及装置 | |
US20110302168A1 (en) | Graphical models for representing text documents for computer analysis | |
CN103593412B (zh) | 一种基于树形结构问题的应答方法及系统 | |
CN104699698A (zh) | 基于海量数据的图查询处理方法 | |
JP2019040598A5 (zh) | ||
Vogt | The future role of bio-ontologies for developing a general data standard in biology: chance and challenge for zoo-morphology | |
Musyaffa et al. | Minimally invasive semantification of light weight service descriptions | |
CN104156431B (zh) | 一种基于实体图社团结构的rdf关键词查询方法 | |
Beneventano et al. | Semantic annotation of the CEREALAB database by the AGROVOC linked dataset | |
He et al. | SRSH: a social recommender system based on Hadoop | |
CN103324644A (zh) | 一种查询结果多样化方法及装置 | |
Gupta et al. | Search bot: Search intention based filtering using decision tree based technique | |
Surianarayanan et al. | Towards quicker discovery and selection of web services considering required degree of match through indexing and decomposition of non–functional constraints | |
WO2023278154A1 (en) | Apparatus and method for transforming unstructured data sources into both relational entities and machine learning models that support structured query language queries | |
Samih et al. | Translational-randomwalk embeddings-based recommender systems: a pragmatic survey | |
Liu et al. | srvpa: A multi-domain conversational service recommendation approach | |
Khan et al. | Chatbots in hospitality and tourism: A bibliometric synthesis of evidence | |
Saouli et al. | SaaS-DCS: software-as-a-service discovery and composition system-based existence degree | |
Bravo et al. | Enriching semantically web service descriptions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20110720 |