一种知识图谱压缩存储改进优化算法制造技术

技术编号:39812978 阅读:10 留言:0更新日期:2023-12-22 19:30
本发明专利技术涉及知识图谱相关领域,具体为一种知识图谱压缩存储改进优化算法,本发明专利技术通过在

【技术实现步骤摘要】
一种知识图谱压缩存储改进优化算法


[0001]本专利技术涉及知识图谱相关领域,具体为一种知识图谱压缩存储改进优化算法


技术介绍

[0002]知识图谱:是通过将应用数学

图形学

信息可视化技术

信息科学等学科的理论与方法与计量学引文分析

共现分析等方法结合,并利用可视化的图谱形象地展示学科的核心结构

发展历史

前沿领域以及整体知识架构达到多学科融合目的的现代理论

[0003]稀疏矩阵:在矩阵中,若数值为0的元素数目远远多于非0元素的数目,并且非0元素分布没有规律时,则称该矩阵为稀疏矩阵;与之相反,若非0元素数目占大多数时,则称该矩阵为稠密矩阵

定义非零元素的总数比上矩阵所有元素的总数为矩阵的稠密度

[0004]布鲁姆过滤器:布鲁姆过滤器是一种特殊的哈希表,这个哈希表中的每一个槽只存储0或1,所以可以使用计算机中的最小单位
bit
来存储每一个
01
以达到空间的极大节省

在数据集非常大的条件下进行某个数据对象
A
的查找即使是利用哈希表仍然会有很大的开销,尤其是当要在多个独立分布的数据集中查找的时候开销更加明显

[0005]RLE
压缩技术:
RLE
压缩算法的基本思路是把数据按照线性序列分成两种情况:一种是连续的重复数据块,另一种是连续的不重复数据块

[0006]RLE
算法的原理就是用一个表示块数的属性加上一个数据块代表原来连续的若干块数据,从而达到节省存储空间的目的

一般
RLE
算法都选择数据块的长度为1字节,表示块数的诚性也用1字节表示,对于颜色数小于
256
色的图像文件或文本文件,块长度选择1字节是比较合适的

[0007]二元组排序技术:二元元组组按照第一个元素从小到大排序,若第一个相同第二个按照从大到小排序,二元元组被数学家们用来描述确定成分的数学对象

[0008]k2

triples

k2

triples
是一种专门针对共享属性的元组设计的元组压缩存储方式,其基本思想是建立在
k2

tree
基础上的
。k2

triples
利用一个位矩阵存储具有相同属性元组,其中位矩阵的行和列分别对应元组的主语和宾语当位矩阵中任意位所对应的主语和宾语存在时,将其设置为1,否则设为
0。

技术实现思路

[0009]本专利技术的目的在于提供一种知识图谱压缩存储改进优化算法,以知识图谱数据经过二次压缩后,提高压缩存储后的数据的检索效率,将位串中代表1的位块提取出来,并与其下标构成一个二元组,通过二元组数组的排序,将大量连续的代表1的位块优先检索,从而大道提高检索速度的目的,其中稀疏矩阵经过二次
RLE
压缩后,已经将连续的0或者1压缩成一位数,那么压缩后的位穿两个相邻的位代表的一定是不同的二进制位

这时候我们只需要将二进制位为1的数位和对应的下标记录下来,就可以准确地找到稀疏矩阵中的有效数据,同时数位的数值越大,代表连续的1就越多,优先对这些连续的1检索查询

[0010]为实现上述目的,本专利技术提供如下技术方案:一种知识图谱压缩存储改进优化算
法,包括,包括以下步骤:
[0011]步骤
S1、

k2

tree
树进行二级压缩后得到一个位串,位串里的每一个数字都代表了二进制位0和1的频数;
[0012]步骤
S2、
根据首位标识符判断哪些位块包含“1”这个二进制位;
[0013]步骤
S3、
对步骤
S2
中判断得出的有效数位的数值和数组下标构成一个二元组数组,二元组的第一个元素就是该位块有多少个连续的“1”,二元组的第二个元素就是该位块在二次压缩后的位串中的下标;
[0014]步骤
S4、
以步骤
S3
中每个二元组数据的第一个元素从大到小进行排序,得到的二元组数组越靠前的元素,连续含有的1二进制位越多;
[0015]步骤
S5、
当读取数据时候,首先读取二元组数组中每个元素的第二个数,该数就是二次压缩后位串对应的下标,然后利用该下标访问位串;
[0016]步骤
S6、
当需要查询数据的时候,对排序后的二元组数组依次检索,越靠前的数组元素代表二次压缩后位串中越多的“1”二进制位,所包含的信息量也就越大

[0017]优选的,所述步骤
S1
中位串的格式为:
[
首位标识符
]+
二进制位的频数,例如
[1]2 1 1 1 2 1 1 2 1 1 1 1 1 2 2 2 2 2 1 3 1 4 1 2 1 1
,在这个位串中,
[1]表示二进制字符串从1开始
,0
和1位块交替排列因此第0位上的2就表示2个1,第一位上的1表示一个0,第二位上的一表示一个1,第三位上的1表示一个0,第四位上的2表示2个1,依次类推,1代表的是矩阵中任意位所对应的主语和宾语存在,反之则为
0。
[0018]优选的,所述步骤
S2
中根据首位标识符判断哪些位块包含“1”这个二进制位具体为:
[0019]首先,根据步骤
S1
中的首位标识符,找出所有含1的位块,由于二次压缩后的位串中,第一位为标识位,然后要对第一位进行判断,标识位为1则表示位串有效位是从1开始的;标识位为0,则表示位串是从0开始的,其中如果判断出第一位为1,则读取偶数位,因为下标是从0开始的,如果判断出第一位为0,则读取奇数位

[0020]优选的,所述步骤
S3
中二元组的格式如下:
args{{data,index}},
其中,
data
为位串中的数据,
index
为位串的下标,使用二元组存储数据既存储目标对象,又存储该对象在原字符串中的位置;将所有含有1的位块数值和在二次压缩后的位串中的下标构成二元数组,第一个元素为数值,第二个元素为下标

[0021]优选的,所述步骤
S4
中使用冒泡排序对每个二元组数据的第一个元素从大到小进行排列,具体冒泡排序为:
[0022]For(int i
=0;
i<arr.length

1&本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种知识图谱压缩存储改进优化算法,其特征在于,包括以下步骤:步骤
S1、

k2

tree
树进行二级压缩后得到一个位串,位串里的每一个数字都代表了二进制位0和1的频数;步骤
S2、
根据首位标识符判断哪些位块包含“1”这个二进制位;步骤
S3、
对步骤
S2
中判断得出的有效数位的数值和数组下标构成一个二元组数组,二元组的第一个元素就是该位块有多少个连续的“1”,二元组的第二个元素就是该位块在二次压缩后的位串中的下标;步骤
S4、
以步骤
S3
中每个二元组数据的第一个元素从大到小进行排序,得到的二元组数组越靠前的元素,连续含有的1二进制位越多;步骤
S5、
当读取数据时候,首先读取二元组数组中每个元素的第二个数,该数就是二次压缩后位串对应的下标,然后利用该下标访问位串;步骤
S6、
当需要查询数据的时候,对排序后的二元组数组依次检索,越靠前的数组元素代表二次压缩后位串中越多的“1”二进制位,所包含的信息量也就越大
。2.
根据权利要求1所述的一种知识图谱压缩存储改进优化算法,其特征在于:所述步骤
S1
中位串的格式为:
[
首位标识符
]+
二进制位的频数,例如
[1]2 1 1 1 2 1 1 2 1 1 1 1 1 2 2 2 2 2 1 3 1 4 1 2 1 1
,在这个位串中,
[1]
表示二进制字符串从1开始
,0
和1位块交替排列因此第0位上的2就表示2个1,第一位上的1表示一个0,第二位上的一表示一个1,第三位上的...

【专利技术属性】
技术研发人员:杨开元孙知信徐月华
申请(专利权)人:常州安易软件有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1