Rdf数据分布式并行语义编码方法

文档序号:10569987阅读:298来源:国知局
Rdf数据分布式并行语义编码方法
【专利摘要】本发明涉及一种RDF数据分布式并行语义编码方法,具体包括以下步骤:步骤S1:读入RDF本体文件,构建类关系模型和属性关系模型;步骤S2:读入RDF数据文件,将三元组分割成三元组项,将三元组项按类划分,并删除重复的三元组项,同时生成前缀编码;对三元组项进行过滤,用以确保RDF三元组编码的一致性,使得同一个三元组项不会分配到不同的编码;步骤S3:将三元组项进行编码,生成字典表;步骤S4:将三元组进行编码,生成编码后的三元组文件;步骤S5:将步骤S4的结果文件作为此步骤的输入,根据步骤S3中的字典表,反转生成原始RDF数据文件。本发明在分布式环境下结合本体能够高效地实现大规模数据的压缩编码与反转。
【专利说明】
RDF数据分布式并行语义编码方法
技术领域
[0001] 本发明涉及语义网技术领域,特别是涉及一种RDF数据分布式并行语义编码方法。
【背景技术】
[0002] 由于RDF数据的大规模性使得其管理存在局限性,为了加速RDF数据的查询或推 理,减少数据的存储空间,通常的做法就是对三元组进行压缩编码。压缩编码已经被证明是 一种有效的编码,通过将一个数值(ID)替换原有的三元组项(主语或谓语或宾语),最终将 所有三元组数据转换为数值式的数据。集中式环境由于内存的限制,不适用于对大规模数 据的编码。研究RDF数据分布式并行压缩编码算法是目前较新的一个领域。Goodman等人在 Gray XMT机器上提出适应线性探测的方法,通过并行的Hash在单个字典表上实现了并行的 编码。此算法的编码时间与所采用的计算机核数成线性关系,这种方法要求所有的数据保 存在内存中且严重依赖于在共享内存架构的Gray XMT,不适用于普通的分布式存储系统。 LongCheng等人采用X10语言对RDF数据进行压缩。首先对三元组进行过滤,再根据三元组项 的Hash值将三元组数据等数量的分配到不同的节点进行本地编码,并生成多个字典表。 Urbani等人提出分布式MapReduce数据压缩算法,主要分为数据压缩阶段和数据反转阶段, 其中在数据压缩阶段对三元组进行压缩,并构建字典表;在反转阶段,将压缩后的三元组和 字典表进行连接,从而生成原始三元组数据。此算法在数据反转阶段效率不够高。
[0003] 以上为目前RDF数据分布式并行压缩的最新研究成果,也是目前存在的三种有效 的RDF数据并行压缩算法,能够实现海量RDF数据并行压缩编码,但这些压缩算法均未考虑 结合本体文件,因此编码后的三元组没有表示任何语义信息,不利于后期进行分布式查询 或语义推理。目前还没有结合本体文件实现RDF数据的并行语义编码。
[0004] 集中式环境下无法满足海量数据的需求,而分布式环境下的压缩编码没有表示任 何语义信息,不利于分布式查询或推理。有些分布式压缩算法在数据反转阶段的效率不够 尚。
[0005] 需要解决的技术问题:1.解决分布式环境中如何保证三元组项编码的唯一性,即 相同的三元组项不会分配到不同的编码。2.解决分布式环境中如何保证编码的无损压缩性 质,即编码后的三元组能够反转为原始的三元组。3.结合提出的分布式方案提出了对应的 并行编码方案,从而满足大规模数据的分布式并行语义编码的需求。

【发明内容】

[0006] 有鉴于此,本发明的目的是提供一种RDF数据分布式并行语义编码方法,主要结合 本体对RDF数据进行编码,使得RDF三元组的编码带有语义信息且编码具有规律性,利于分 布式查询与语义推理的完成,在分布式环境下结合本体能够高效地实现大规模数据的压缩 编码与反转。
[0007] 本发明采用以下方案实现:一种RDF数据分布式并行语义编码方法,具体包括以下 步骤:
[0008] 步骤SI:读入RDF本体文件,构建类关系模型和属性关系模型,生成类及其编码的 映射文件与属性及其编码的映射文件;
[0009] 步骤S2:读入RDF数据文件,将三元组分割成三元组项,将三元组项按类划分,并删 除重复的三元组项,同时生成前缀编码;对三元组项进行过滤,用以确保RDF三元组编码的 一致性,使得同一个三元组项不会分配到不同的编码;
[0010] 步骤S3:将三元组项进行编码,生成字典表;
[0011] 步骤S4:将三元组进行编码,生成编码后的三元组文件;
[0012] 步骤S5:将步骤S4的结果文件作为此步骤的输入,根据步骤S3中的字典表,反转生 成原始RDF数据文件。
[0013]进一步地,所述步骤S1中,首先将RDF数据格式的本体文件进行Jena解析,根据类 关系生成关系树,构建类关系的模型;
[0014] 其中,定义类属性类型标记Flag用以标识所述类和所述属性,假设当前数据为V, 则 f〇 V e 类
[0015] flag 二(
[l v e:属性
[0016] 定义树节点编码位数TreenodeDigit,简称TD,若总节点数为M,贝lj m/M、 fl (0 < M < 10)
[0017] TD(M) = ] 7 、
[ID (floor :( M/10 ) ) + 1 (M > 10)
[0018] 定义类编码TreeClasscode,简称TC,TC由Flag、直系父类个数标记、父类节点顺序 编码和节点顺序编码构成;其中,总节点数为M,父类节点顺序编码的位数与节点顺序编码 的位数都为10(1〇;!'以11,1)表示第11层的第1个节点4的类节点编码汀(11,1)表示第11层的第1 个节点A的节点顺序编码,REPT(0,n)表示为产生n个0;设anc(h)表示第h层的类节点顺序编 码,f(h-l,m)表示节点A的父类节点B的节点顺序编码,则 "x fm:ax{anc(h - 1)} + i (h > 1)
[0019] f (h, i> = < 〇 (h = 0, i = 1)
[0020] TC(h,i)=Flag&IPF&REPT(0,TD(M)-TD(f(h-l,m)))&
[0021] f(h-l,m)&REPT(0,TD(M)-TD(f(h,i)))&f(h,i)
[0022] 当IPF>1时,父类节点顺序编码为所有直系父类的节点顺序编码的组合;
[0023] 定义属性编码TreePropertycode,简称TP,TP由Flag、类编码、父属性节点顺序编 码和节点顺序编码构成;其中,总节点数为M,父属性节点顺序编码的位数与节点顺序编码 的位数都为TD(M);TP(h,i)表示第h层的第i个节点C的属性节点编码,C所属的类设为R,其 类节点编码表示为扣化^);以114)表示第11层的第1个节点(:的节点顺序编码,1^1'(0,11)表 示为产生n个0;设anc(h)表示第h层的属性节点顺序编码,f(h-l,m)表示节点C的父属性节 点D的节点顺序编码,则 /T .、 f:max{ancth ~ 1)} + i (h > 1)
[0024] f (h, 1; = {
[0 (h = 0, i = 1)
[0025] TP(h,i)=Flag&TC(p,r)&REPT(0,TD(M)-TD(f(h-l,m)))
[0026] &f(h-l,m)&REPT(0,TD(M)-TD(f(h,i)))&f(h,i);
[0027] 所述关系树为一棵多叉树,通过广度优先算法结合类编码的定义,得到属性关系 的关系树,生成类编码。
[0028] 进一步地,所述步骤S2中,将三元组按类划分,所述三元组的谓语为RDF本体文件 中的属性,在构建属性关系模型中已生成了属性编码,则只需要将三元组的主语和宾语按 类划分;若RDF数据中三元组项Triple Item不唯一,贝lj在三元组项Triple Item按类划分的同 时对三元组项Tripleltem进行过滤;
[0029]所述三元组项Tripleltem分类与过滤算法的具体为:输入RDF三元组格式文件;输 出三元组项Tripleltem按类划分的类文件并且前缀编码关系文件;
[0030]若不同的三元组项Tripleltem共享相同的URI,为了确保编码具有语义相似性,使 得相似URI编码成相似的数字,则根据RDF数据文件抽取出相同的前缀;
[0031 ] 该步骤需要重写MapReduce的MultipleOutputFormat使得输出的文件能够按类文 件输出。
[0032]较佳的,所述三元组项Tripleltem是三元组的主语、谓语或者宾语,定义为:
[0033] V {Sj, Pj, 0k ) (1 < /, j, k < n)
[0034] 其中,n表示三元组的总数;
[0035] 若V V e 贝iJvG Tripleltem。 ,.
[0036] 进一步地,所述步骤S3中,获取三元组项Tripleltem分类与过滤算法的结果文件, 作为三元组项编码的输入文件;在Map阶段对三元组项Tripleltem的类文件进行处理,在 Reduce阶段对三元组项Tripleltem进行编码,同时生成三元组项Triple Item与其编码的字 典映射表文件,将字典映射表文件存储到集群的HDFS上;每个三元组项Tripleltem编码格 式为:所属类编码+前缀编码+尾数编码;
[0037] 所述三元组项Triple Item编码算法的具体为:输入三元组项Tripleltem按类划分 的类文件并且前缀编码关系文件;输出字典映射表文件。
[0038] 进一步地,所述步骤S4中,根据所述三元组项Tripleltem编码算法中生成的字典 映射表,对输入的RDF三元组格式文件中的每一个三元组进行编码;将三元组项Tripleltem 与字典映射表进行连接,从而生成三元组的编码;
[0039]所述三元组编码算法的具体为:输入RDF三元组格式文件与字典映射表文件 [0040]输出编码生成的RDF文件。
[0041 ] 进一步地,所述步骤S5中,根据SC0M算法建立了三元组项Tripleltem及其编码的 字典表,结合字典表,采用SC0M反转算法将编码生成的RDF文件反转成原始的RDF文件。 [0042]与现有技术相比,本发明具有如下优点:本发明提出的RDF数据分布式并行语义编 码方案,能够在大规模数据下高效地完成RDF数据的分布式并行编码,并能够实现RDF数据 的反转;该编码方案相比现有的编码方案,在压缩编码阶段和反转阶段都具有显著优势,并 且该编码方案能够提升RDFS规则推理。
【附图说明】
[0043]图1是本发明的方法框架示意图。
[0044] 图2为本发明中LUBM中部分类关系模型示意图。
[0045] 图3为本发明中LUBM中部分属性关系模型
【具体实施方式】
[0046] 下面结合附图及实施例对本发明做进一步说明。
[0047] 本实施例提供一种RDF数据分布式并行语义编码方法(Semantic Coding with Ontology on MapReduce,简称SC0M)。根据MapReduce的特点结合本体构建类关系和属性关 系模型,根据模型对RDF数据进行分类编码,从而能够实现RDF数据的分布式并行压缩编码, 其中SC0M方案分为压缩编码阶段和反转阶段,如图1所示,具体包括以下步骤:
[0048]步骤S1:读入RDF本体文件,构建类关系模型和属性关系模型,生成类及其编码的 映射文件与属性及其编码的映射文件;
[0049]步骤S2:读入RDF数据文件,将三元组分割成三元组项,将三元组项按类划分,并删 除重复的三元组项,同时生成前缀编码;对三元组项进行过滤,用以确保RDF三元组编码的 一致性,使得同一个三元组项不会分配到不同的编码;
[0050]步骤S3:将三元组项进行编码,生成字典表;
[0051] 步骤S4:将三元组进行编码,生成编码后的三元组文件;
[0052]步骤S5:将步骤S4的结果文件作为此步骤的输入,根据步骤S3中的字典表,反转生 成原始RDF数据文件。
[0053]在本实施例中,所述步骤S1中,为了能够使得RDF数据的编码具有语义信息,需要 生成类编码。由于RDF数据中的谓语在本体文件中都有定义,且数量远远少于RDF数据中的 主语或宾语,因而该步骤在对类进行编码后需要完成属性的编码。
[0054]在本实施例中,给出如下几个定义:
[0055] 定义类属性类型标记Flag用以标识所述类和所述属性,假设当前数据为V,则
[0056] Flag = |° V e J li V €属性
[0057] 定义树节点编码位数TreenodeDigit,简称TD,若总节点数为M,贝lj f:l (:0.<: M <: .10:)
[0058] TD:(M) = \
[TD (floor ( M/10 ) ) + 1 :(M > 10)
[0059] 定义类编码TreeClasscode,简称TC,TC由Flag、直系父类个数标记、父类节点顺序 编码和节点顺序编码构成;其中,总节点数为M,父类节点顺序编码的位数与节点顺序编码 的位数都为10(1〇;!'以11,1)表示第11层的第1个节点4的类节点编码汀(11,1)表示第11层的第1 个节点A的节点顺序编码,REPT(0,n)表示为产生n个0;设anc(h)表示第h层的类节点顺序编 码,f(h-l,m)表示节点A的父类节点B的节点顺序编码,则 m [max{anc(h - 1)} + i (h > l)
[0060] I (h, i)= < 1 〇 (h = 0, i = 1)
[0061] TC(h,i)=Flag&IPF&REPT(0,TD(M)-TD(f(h_l,m)))&
[0062] f(h-l,m)&REPT(0,TD(M)-TD(f(h,i)))&f(h,i)
[0063]当IPF>1时,父类节点顺序编码为所有直系父类的节点顺序编码的组合;
[0064] 定义属性编码1'代6?1'(^61^5^0(16,简称1?,1?由?138、类编码、父属性节点顺序编 码和节点顺序编码构成;其中,总节点数为M,父属性节点顺序编码的位数与节点顺序编码 的位数都为TD(M);TP(h,i)表示第h层的第i个节点C的属性节点编码,C所属的类设为R,其 类节点编码表示为扣化^);以114)表示第11层的第1个节点(:的节点顺序编码,1^1'(0,11)表 示为产生n个0;设anc(h)表示第h层的属性节点顺序编码,f(h-l,m)表示节点C的父属性节 点D的节点顺序编码,则 以.、 fmax{anc(h - 1)} + i (h > 1)
[0065] f (h,1) = ^
[0 (h = 0, i = l)
[0066] TP(h,i)=Flag&TC(p,r)&REPT(0,TD(M)-TD(f(h-l,m)))
[0067] &f(h-l,m)&REPT(0,TD(M)-TD(f(h,i)))&f(h,i);
[0068]在本实施例中,所述步骤S2,首先将RDF数据格式的本体文件进行Jena解析,根据 类关系生成关系树(子类与父类),构建类关系的模型;所述关系树为一棵多叉树,通过广度 优先算法结合类编码的定义,得到属性关系的关系树,生成类编码。
[0069] 以LUBM数据集中的类片段为例,假设根据树节点编码位数的定义所确定的编码位 数为2,则构建的类关系模型如图2所示,其中编码的第一位表示类标记,第二位表示直系父 类个数标记,第三位和第四位的组合构成了当前类的直系父类节点顺序编码,最后两位构 成了当前类的节点顺序编码。其中,Things类为所有类的父类,它的直系父类个数标记为0 (即 IPF = 0)。
[0070] 考虑到一个类的父类可能不止一个,假设Part-timeGraduateStudent类(在职研 究生)的直系父类为图2类关系模型中的GraduateStudent类(研究生)和 TeachingAssistant类(助理)。则,Part-timeGraduateStudent类的父类节点顺序编码为 GraduateStudent类和TeachingAssistant类的顺序编码的组合(即0911)。此时,Part-timeGraduateStudent 类的编码为02091113,其中,IPF = 2 表不 Part-timeGraduateStudent 类有两个直系父类。
[0071] 与构建类关系树类似,构建出属性的关系树,对属性进行编码,与类编码不同在于 属性编码需要添加类编码信息,使得属性编码含有语义信息。
[0072]以LUBM数据集中的属性片段为例,假设根据树节点编码位数的定义所确定的编码 位数为2,结合图2中的类编码,则属性关系模型如图3所示,其中编码的第一位表示属性标 记,第二位至第七位的组合为当前属性的类编码(属性的定义域类),第八位和第九位的组 合为当前属性的直系父属性节点顺序编码,最后两位为当前属性的节点顺序编码。此外,该 步骤生成了属性定义域与值域文件。
[0073]采用这种编码方式,能够为下文中RDF数据的编码新增语义信息,当Tripleltem为 主语或者宾语时,能够根据其编码判断所属类信息,当Tripleltem为谓语时,能够获取当前 谓语的父属性或所属类的信息。
[0074]在本实施例中,所述步骤S2中,将三元组按类划分,所述三元组的谓语为RDF本体 文件中的属性,在构建属性关系模型中已生成了属性编码,则只需要将三元组的主语和宾 语按类划分;由于RDF数据中三元组项Tripleltem可能不唯一,从而删除重复的三元组项 Triple Item,确保三元组项Triple Item的唯一性,保证相同的Triple Item不会分配到不同 的编码。此外,由于不同三元组项Tripleltem可能共享相同的URI,为了确保编码具有语义 相似性,使得相似URI编码成相似的数字,根据RDF数据文件抽取出相同的前缀(命名空间)。 此外,该步骤需要重写MapReduce的MultipleOutputFormat使得输出的文件能够按类文件 输出。
[0075]较佳的,所述三元组项Tripleltem是三元组的主语、谓语或者宾语,定义为:
[0076] V (毛,為)(1 S -/,J.,jr S 及)
[0077]其中,n表示三元组的总数;
[0078] 若V v e 以,,户,,.贝iJvGTripleltem。
[0079] 所述三元组项Tripleltem的分类与过滤算法的具体步骤如下:
[0080] 输入:RDF三元组格式文件
[0081] 输出:Tripleltem按类划分的类文件;前缀编码关系文件 [0082]具体伪代码如下表一所示。
[0083] 表一三元组项Tripleltem的分类与过滤算法
[0085]
[0086]在本实施例中,所述步骤S3中,获取三元组项Tripleltem分类与过滤算法的结果 文件,作为三元组项编码的输入文件;在Map阶段对三元组项Triple Item的类文件进行处 理,在Reduce阶段对三元组项Triple Item进行编码,同时生成三元组项Triple Item与其编 码的字典映射表文件,将字典映射表文件存储到集群的HDFS上;每个三元组项Tripleltem 编码格式为:所属类编码+前缀编码+尾数编码;
[0087] 所述三元组项Tripleltem编码算法的具体为:
[0088]输入:三元组项Tripleltem按类划分的类文件;前缀编码关系文件;
[0089]输出:字典映射表文件。
[0090]具体伪代码如下表二所示。
[0091 ] 表二三元组项Tripleltem编码算法
[0093]
[0094]以LUBM数据集中的三元组片段(如表三)为例,描述Tripleltem编码算法的过程。 [0095]表三输入的RDF三元组数据片段
[0097]为了下文描述的简洁性,根据表三生成Tripleltem编号和原始数据的映射关系 表,如表四所列。其中,表三中第3个三元组的主语与第5个三元组的宾语相同,则只对应一 个Tripleltem。
[0098]表四Tripleltem编号和原始数据的映射关系
[0100]
[0101 ]将表三所列的三元组片段作为三元组项Tripleltem的分类与过滤算法的输入得 到Tripleltem的类文件与前缀编码关系文件,假设获取的前缀编码关系文件如表五所列。
[0102]表五所列三元组片段前缀编码信息
[0104] 将三元组项Triple Item的分类与过滤算法的结果文件作为Triple Item编码算法 的输入,并且的类(属性)关系模型可获取Tripleltem的编码。假设阈值a表示Tripleltem编 码中尾数位数,若a = 3,根据表三的三元组片段,结合表四和表五所得到的Tripleltem编码 信息如表六所列。
[0105] 表六Tripleltem编码信息
[0107]在本实施例中,所述步骤S4中,根据所述三元组项Tripleltem编码算法中生成的 字典映射表,对输入的RDF三元组格式文件中的每一个三元组进行编码;将三元组项 Tripleltem与字典映射表进行连接,从而生成三元组的编码;
[0108]所述三元组编码算法的具体为:
[0109] 输入:RDF三元组格式文件与字典映射表文件;
[0110] 输出:编码生成的RDF文件。
[0111] 具体伪代码如下表七所示。
[0112] 表七三元组编码算法
[0113]
[0114] 在本实施例中,所述步骤S5中,SC0M算法是一个无损压缩算法,SC0M中的反转算法 能够快速的完全恢复编码后的RDF数据文件为原始数据。由于SC0M算法建立了 Tripleltem 及其编码的字典表,结合字典表,可以很容易地将编码生成的RDF文件反转成原始的RDF文 件。为了更加明确SC0M反转算法,以伪代码形式描述如下表八所示:
[0115] 表八SC0M反转算法
[0117] 本实施例提出的RDF数据分布式并行语义编码方案,能够在大规模数据下高效地 完成RDF数据的分布式并行编码,并能够实现RDF数据的反转。实验表明,该编码方案相比现 有的编码方案,在压缩编码阶段和反转阶段都具有显著优势,并且该编码方案能够提升 RDFS规则推理。
[0118] 以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与 修饰,皆应属本发明的涵盖范围。
【主权项】
1. 一种RDF数据分布式并行语义编码方法,其特征在于:具体包括以下步骤: 步骤S1:读入RDF本体文件,构建类关系模型和属性关系模型,生成类及其编码的映射 文件与属性及其编码的映射文件; 步骤S2:读入RDF数据文件,将三元组分割成三元组项,将三元组项按类划分,并删除重 复的三元组项,同时生成前缀编码;对三元组项进行过滤,用以确保RDF三元组编码的一致 性,使得同一个三元组项不会分配到不同的编码; 步骤S3:将三元组项进行编码,生成字典表; 步骤S4:将三元组进行编码,生成编码后的三元组文件; 步骤S5:将步骤S4的结果文件作为此步骤的输入,根据步骤S3中的字典表,反转生成原 始RDF数据文件。2. 根据权利要求1所述的一种RDF数据分布式并行语义编码方法,其特征在于:所述步 骤S1中,首先将RDF数据格式的本体文件进行Jena解析,根据类关系生成关系树,构建类关 系的t吴型; 其中,定义类属性类型标记Flag用以标识所述类和所述属性,假设当前数据为v,则定义树节点编码位数TreenodeDigit,简称TD,若总节点数为M,则定义类编码TreeClasscode,简称TC,TC由Flag、直系父类个数标记、父类节点顺序编码 和节点顺序编码构成;其中,总节点数为M,父类节点顺序编码的位数与节点顺序编码的位 数都为TD(M);TC(h,i)表示第h层的第i个节点A的类节点编码;f(h,i)表示第h层的第i个 节点A的节点顺序编码,REPT(0,n)表示为产生η个0;设anc(h)表示第h层的类节点顺序编 码,f(h-l,m)表示节点A的父类节点B的节点顺序编码,则当IPF>1时,父类节点顺序编码为所有直系父类的节点顺序编码的组合; 定义属性编码TreePropertycode,简称TP,TP由Flag、类编码、父属性节点顺序编码和 节点顺序编码构成;其中,总节点数为M,父属性节点顺序编码的位数与节点顺序编码的位 数都为TD(M);TP(h,i)表示第h层的第i个节点C的属性节点编码,C所属的类设为R,其类节 点编码表示为TC(p,r);f(h,i)表示第h层的第i个节点C的节点顺序编码,REPT(0,n)表示 为产生η个0;设anc(h)表示第h层的属性节点顺序编码,f(h-l,m)表示节点C的父属性节点 D的节点顺序编码,则所述关系树为一棵多叉树,通过广度优先算法结合类编码的定义,得到属性关系的关 系树,生成类编码。3. 根据权利要求1所述的一种RDF数据分布式并行语义编码方法,其特征在于:所述步 骤S2中,将三元组按类划分,所述三元组的谓语为RDF本体文件中的属性,在构建属性关系 模型中已生成了属性编码,则只需要将三元组的主语和宾语按类划分;若RDF数据中三元组 项Tripleltem不唯一,则在三元组项Tripleltem按类划分的同时对三元组项Tripleltem进 行过滤; 所述三元组项Tripleltem的分类与过滤算法具体为:输入RDF三元组格式文件;输出三 元组项Tripleltem按类划分的类文件并且前缀编码关系文件; 若不同的三元组项Tripleltem共享相同的URI,为了确保编码具有语义相似性,使得相 似URI编码成相似的数字,则根据RDF数据文件抽取出相同的前缀; 该步骤需要重写MapReduce的Mul tipleOutputFormat使得输出的文件能够按类文件输 出。4. 根据权利要求3所述的一种RDF数据分布式并行语义编码方法,其特征在于:所述三 元组项Tr i p 1 e 11 em是三元组的主语、谓语或者宾语,定义为:其中,η表示三元组的总数;5. 根据权利要求1所述的一种RDF数据分布式并行语义编码方法,其特征在于:所述步 骤S3中,获取三元组项Tripleltem分类与过滤算法的结果文件,作为三元组项编码的输入 文件;在Map阶段对三元组项Triple Item的类文件进行处理,在Reduce阶段对三元组项 Triple Item进行编码,同时生成三元组项Triple Item与其编码的字典映射表文件,将字典 映射表文件存储到集群的HDFS上;每个三元组项Tripleltem编码格式为:所属类编码+前缀 编码+尾数编码; 所述三元组项Tripleltem编码算法的具体为:输入三元组项Tripleltem按类划分的类 文件并且前缀编码关系文件;输出字典映射表文件。6. 根据权利要求1所述的一种RDF数据分布式并行语义编码方法,其特征在于:所述步 骤S4中,根据所述三元组项Tripleltem编码算法中生成的字典映射表,对输入的RDF三元组 格式文件中的每一个三元组进行编码;将三元组项Tripleltem与字典映射表进行连接,从 而生成三元组的编码; 所述三元组编码算法的具体为:输入RDF三元组格式文件与字典映射表文件 输出编码生成的RDF文件。7. 根据权利要求1所述的一种RDF数据分布式并行语义编码方法,其特征在于:所述步 骤S5中,根据SCOM算法建立了三元组项Tripleltem及其编码的字典表,结合字典表,采用 SC0M反转算法将编码生成的RDF文件反转成原始的RDF文件。
【文档编号】G06F17/30GK105930419SQ201610242787
【公开日】2016年9月7日
【申请日】2016年4月19日
【发明人】汪璟玢, 郑翠春
【申请人】福州大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1