CN116090413A - 一种基于序列化的通用rdf数据压缩方法 - Google Patents
一种基于序列化的通用rdf数据压缩方法 Download PDFInfo
- Publication number
- CN116090413A CN116090413A CN202310126581.2A CN202310126581A CN116090413A CN 116090413 A CN116090413 A CN 116090413A CN 202310126581 A CN202310126581 A CN 202310126581A CN 116090413 A CN116090413 A CN 116090413A
- Authority
- CN
- China
- Prior art keywords
- subject
- data
- predicate
- sequence
- rdf
- 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 30
- 238000013144 data compression Methods 0.000 title claims abstract description 15
- 238000013507 mapping Methods 0.000 claims abstract description 26
- 238000007781 pre-processing Methods 0.000 claims abstract description 8
- 238000012163 sequencing technique Methods 0.000 claims 2
- 238000007906 compression Methods 0.000 abstract description 12
- 230000006835 compression Effects 0.000 abstract description 12
- 238000013523 data management Methods 0.000 abstract 1
- 238000004458 analytical method Methods 0.000 description 2
- 238000013499 data model Methods 0.000 description 2
- 241000270666 Testudines Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
- G06F40/157—Transformation using dictionaries or tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/211—Schema design and management
- G06F16/212—Schema design and management with details for data modelling support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2291—User-Defined Types; Storage management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2474—Sequence data queries, e.g. querying versioned data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于序列化的通用RDF数据压缩方法。本发明属于RDF数据压缩领域。本发明被运用到RDF数据管理系统中,主要针对海量RDF数据造成的空间溢出以及查询缓慢问题。为解决该问题,系统首先对RDF数据进行解析,将各种格式的数据转换为纯三元组的形式,然后以二次字典映射的方式将三元组中所有的字符串替换为整型ID,以减少重复字符串占用的空间;数据预处理后根据主语、谓词、宾语的优先级对数据进行排序,抽取出每个主语对应的谓词列表并将其映射ID序列化,最后序列化所有的宾语,并遍历初始数据集来构建两个用以维持三元关系的二进制位序列。本发明的主要用途是对任何RDF数据进行一个通用的压缩,在压缩后得到的序列化数据上提供高效的检索性能,从而更好地响应用户的查询操作。
Description
技术领域
本发明公开了一种基于序列化的通用RDF数据压缩方法。基于RDF数据交错的三元关系以及各组成成分突出的冗余特性,结合二进制位序列的标识记录思想,对各领域RDF数据进行通用的压缩,可大大减少RDF数据集的空间占用,缓解数据查询时内存的压力,同时也能够满足在不建立额外索引的前提下快速响应用户的查询。本方法属于RDF数据压缩领域。
背景技术
RDF数据模型的全局唯一标识提供了在单个RDF图中混合来自不同模型的术语,并使RDF成为了无模式的数据模型,这也为广泛的基于RDF的技术奠定了基础,包括SPARQL查询语言、各种数据交换格式,如RDF/XML、RDFa、JSON-LD和Turtle等。但在过去的十年里,RDF数据规模一直以一种不可预估的比率快速增长,海量的RDF数据带来了一系列的问题:数据访问不再高效;数据集的更新和管理变得困难;数据的可移植性逐渐变差,一些硬件稍差或者传统的机器已经无法基于这类RDF数据提供查询等其他服务,涉及边缘计算等硬件设备有限且苛刻的场景,比如流水线式动态查询,也开始出现因巨大的数据量引发性能急剧下降的情况。因此,RDF数据压缩得到了广泛的研究。
对于大规模RDF数据集而言,数据冗余是致命的,同一个三元成分可能反复出现成千上万次,而对冗余的消除程度,决定了数据的最终压缩程度。RDF三元组的冗余可以分为语法冗余、语义冗余和符号冗余三类。语法冗余通常依赖于数据的底层结构,宏观表现为同一个句子成分重复出现多次,例如同一个主语参与了多个三元组的组成;语义冗余则是指现有数据可以用更少量的数据来表示,比如某一条数据可以通过另外一条数据推理得到,或者大部分数据之间存在公共特征等;符号冗余则主要源自RDF三元组组成元素中的URI,同一个数据集中不同的URI可能拥有相同或近似的前缀,而这些前缀却各自存在于每条语句中,占用了较大空间。RDF数据服务于查询,因此压缩必须是无损压缩,所以消除冗余的过程不能导致数据的丢失,这也是众多研究者面临的主要问题,即哪些冗余可以消除、哪些冗余不能消除、如何最大程度消除数据中的冗余等。
RDF数据主要服务于查询,而数据本身占据空间较大,因此RDF数据的压缩要满足一个前提,即在不解压的条件下实现高效查询操作。近些年来,一些研究者通过将RDF三元组以某种逻辑进行重新排列组合,以尽可能减少额外索引的建立、同时最大程度消除多余的数据项,或者利用霍恩准则等推理规则对可推理得到的三元组进行删除等方式,对数据进行一定程度的冗余消除,并依据自身数据结构提出相应的查向逻辑,整合到SPARQL上辅助查询,以实现既不解压数据、又可以快速响应用户查询操作的目的。但是,已有的这些方法,对RDF数据的压缩并不彻底,压缩后的数据中依旧存在大量冗余成分,压缩程度不够高,并且各自在查询逻辑方面都有欠缺的地方,没有哪个方法能够在所有RDF领域提供稳定且高效的查询,方法的专用性太过明显。
本发明设计了一种基于序列化的通用RDF数据压缩方法。方法首先通过对URI进行二次字典映射来最大程度消除URI造成的符号冗余,然后按照主语、谓词、宾语顺序的优先级来对数据先排序再进行切片处理,得到每个主语对应的谓词列表后为其映射关系维护一个单独的字典以及单独的整型序列,便于查询操作时快速定位二者的关联关系。序列化预处理后的宾语,根据每个宾语原本所在的三元关系判断其对应的主语和谓词列表;维护两个二进制序列,来标识每个宾语所关联的主语和谓词。这种隐式存储主语和谓词的压缩方式,几乎消除了所有的主语和谓词冗余,同时避免了查询时额外的索引建立,将RDF数据进行了最大程度的压缩,同时,空间占用较少的二进制位序列可以加快数据的检索,为数据查询提供了稳定的基础。
发明内容
发明目的:本发明的目的是针对大规模RDF数据集提供一种通用的压缩方法,在实现高效压缩的前提下快速响应用户的查询请求。
技术方案:为了实现上述目的,本发明提出一种基于序列化的通用RDF数据压缩方法,本方法利用隐式存储的思想以及二进制位序列的标识记录思想,极大程度地消除了RDF三元组间的冗余数据,同时整合SPARQL语句的查询模式,为用户查询提供了稳定且高效的查询逻辑,能够快速响应用户的查询操作。本发明具体的技术方案包括以下内容:
(1)数据预处理
为了确保结构的精简以及方法的通用性,需要对任何给定格式的RDF数据进行一个数据预处理,具体
处理流程如下:
1>将任何给定格式的RDF数据转换为纯三元组的表示形式;
2>遍历数据集,将每一个URI按照最后一个正斜杠“/”进行切片,并将切片获得的每个URI前缀通过字典进行映射表示,并以映射ID替换原URI前缀进行字符串拼接;
3>再次遍历数据集,同时维护一个新的字典,将拼接后的新URI进行一个新的字典映射,并以映射ID替换数据集中的该URI字符串。
(2)获取主语与其谓词列表对应关系
1>将处理后的数据按照主语、谓词、宾语的字典序进行一次排序,技术实现上则主要是先对宾语排序,然后在其基础上对谓词排序,最后做一次全局的主语排序,从而达到主语优先级最高、宾语优先级最低的排序方式;
2>抽取出每个主语对应的谓词列表,为每一个独一无二的谓词列表维护个字典ID;
3>用每个主语对应的谓词列表ID构建一个SP整数序列,用来标识主语与其谓词列表的对应关系;
(3)构建辅助查询的二进制位序列
1>将所有的宾语按照预处理时的顺序序列化,宾语通过序列化后可以脱离原本的三元组,而借助隐式的位置关系以及二进制标识思想来维持原本的三元关系;
2>遍历初始数据集并构建第一个二进制位序列,为每个主语置一个二进制位1,并在该二进制位之前插入X个二进制位0(X为该主语对应的三元组数量-1);
3>遍历上述构建的二进制位序列,同时维护一个计数器,记录遍历1的个数,计数器值代表宾语ID,遍历同时构建第二个二进制位序列,对于当前主语,查询映射字典中该主语对应的谓词列表,并定位到初始数据集,确定每个谓词对应的主语数量Y,为每个谓词置一个二进制位1,并在该二进制位之前插入Y个二进制位0。
4>删除初始数据集,返回二次映射的URI字典、谓词列表字典、SP整型序列、宾语整型序列、二进制位序列。
有益效果:本发明创造性地利用RDF三元组之间的三种冗余特性以及二进制位序列的标识记录思想,对大规模RDF数据集进行压缩处理,大大节省了RDF数据的空间占用,并在此基础上提供了高效且稳定的查询性能,缓解了主存压力,优化了用户体验。
附图说明
图1为本发明所选取的现实世界RDF数据集子集。
图2为基于本发明所构建的系统的基本流程图。
图3为基于图1RDF子集所构建的详细流程图。
具体实施方式
为了使本领域技术人员更好地理解本发明中的技术问题、技术方案和技术效果,下面结合附图对本发明作进一步说明。
本发明针对如附图1所示的现实世界RDF数据集子集,基于序列化的思想提出了一种通用RDF数据压缩方法,其基本流程如附图2所示,主要包括数据的切片预处理、主谓关系映射和序列化三个主要模块。由于RDF数据格式不一,首先要通过一些现有RDF解析算法将RDF数据解析为纯三元组的形式,然后进行数据预处理,通过二次字典映射来将三元成分中的URI替换为整型ID。我们会删除几乎所有重复出现的主语和谓词,以消除二者产生的冗余,因此我们会将二者的关系通过谓词列表以及一个整型序列来间接保存。最后将宾语所关联的三元关系通过两个二进制位序列来标识,从而确保数据的无损压缩。基于图1RDF子集所构建的详细流程图如图3所示。具体步骤和实现算法如下:
(1)数据与处理
为了确保压缩算法的通用性,我们会预先统一输入RDF数据的形式;为了尽量消除符号冗余造成的巨
大空间开销,我们采取二次字典映射,用整型ID来替换初始URI。
1>利用现有RDF解析方法将RDF数据转换为纯三元组的形式;
2>通过URI最后一个正斜杠“/”将URI切分为前缀和后缀,将前缀通过字典映射替换为整型ID后拼接到后缀上;再将拼接后的字符串用第二个字典进行映射,并用映射后的整型ID替换数据中原本的字符串。
3>特殊地,对于字面量和空字符串,我们直接进行第二个字典映射,越过第一次映射处理。
以下为该过程的具体实现算法:
(2)获取主语与其谓词列表对应关系
1>将预处理后的三元组以主语字典序为最高优先级进行排序,同一主语前提下将不同谓词按照谓词字典序排序,同一主语-谓词前提下将不同宾语按照宾语字典序排序;
2>将排序后的三元组中每个主语的谓词抽取出来放到各自的列表中,并为这些不同的列表按照出现频率从高到低进行字典映射,此时每个主语拥有一个谓词列表ID;
3>按照主语字典序将每个主语对应的谓词列表ID序列化,获得SP序列,用来维护主语和谓词间的一对多关系。
以下为该过程的具体实现算法:
(3)构建辅助查询的二进制位序列
1>按照上述数据处理后的顺序,将初始三元组的宾语ID序列化存储;
2>构建第一个二进制位序列。遍历RDF三元组,确定范围内宾语序列对应的主语,属同一主语的宾语序列维护等长的二进制位0,并将最后一个宾语对应的二进制位置1;
3>构建第二个二进制位序列。遍历RDF三元组,确定范围内宾语序列对应的主语-谓词,属同一主语-谓词的宾语序列维护等长的二进制位0,并将最后一个宾语对应的二进制位置1;
4>删除初始数据集,返回二次映射的URI字典、谓词列表字典、SP整型序列、宾语整型序列、二进制位序列。
以下为该过程的具体实现算法:
初始的RDF数据最终序列化为一个宾语序列、两个二进制位序列以及数个用于映射的字典,极大地减少了初始数据所占用的空间。同时,这种序列化方式以及二进制查询的逻辑,可以避免系统创建大量索引,缓解了内存压力,同时也提高了数据的检索速度。
Claims (4)
1.一种基于序列化的通用RDF数据压缩方法,其主要特征包括一下步骤:
(1)提出了全新的数据预处理方式;
(2)提出了以极短的序列记录海量主语和谓词关系的逻辑方法;
(3)提出了以二进制的方式标识主谓宾之间三元关系的逻辑方法。
2.根据权利要求1所述的基于序列化的通用RDF数据压缩方法,其特征在于:
所示步骤(1)中提出的全新的数据预处理方式,具体流程包括以下三个方面:
(2.1)将任何格式的RDF数据解析为纯三元组表示的形式,转换后的数据对于文件类型没有要求,只需满足每条语句由主语、谓词和宾语三部分组成即可;
(2.2)遍历所有三元组,将其中所有的URI以最后一个正斜杠“/”进行切片,并将前缀映射为字典中的整型ID,并将该映射ID替换到原本的URI前缀上,与后缀一起拼接为新的字符串;
(2.3)遍历所有三元组,将每一个成分都映射到一个新的字典上,并用映射ID替换原本的成分;特殊地,空字符串也会获得一个映射ID。
3.根据权利要求1所述的基于序列化的通用RDF数据压缩方法,其特征在于:
所示步骤(2)中提出的以序列记录主谓关系的逻辑方法,具体内容包含以下三个方面:
(3.1)首先按照主语、谓词、宾语的优先级对预处理后的数据进行排序,从而确保同一个主语所参与的语句是相邻的,同一个主语下同一个谓词所参与的语句也是相邻的;
(3.2)抽取出每个主语的不同谓词并放到单独的列表中,然后为每个主语的谓词列表建立一对一的字典映射关系;
(3.3)将主语ID从小到大排序,并将每个独一无二的主语ID对应的谓词列表ID序列化,得到SP序列,此时SP序列中第X个整型ID即代表了ID为X的主语对应的谓词列表ID。
4.根据权利要求1所述的基于序列化的通用RDF数据压缩方法,其特征在于:
所示步骤(3)中提出的以二进制的方式标识主谓宾三元关系的查询规则,具体内容包含以下五个方面:
(4.1)首先将预处理得到的宾语按顺序序列化,此时每个相邻宾语之间的关系处于模糊状态,不存储任何三元关系;
(4.2)遍历三元组中所有的主语,同时构建第一个二进制位序列:序列添加X个二进制0(X为当前主语出现的次数-1),然后在后面添加一位二进制1,持续该循环直至所有主语均被遍历,最终得到的二进制位序列则记录了主语和每个宾语之间的对应关系;
(4.3)遍历三元组中所有主语的同时遍历该主语所有的谓词,同时构建第二个二进制序列:序列添加Y个二进制0(Y为当前主语中当前谓词出现的次数-1),然后在后面添加一位二进制1,持续该循环直至所有主语的谓词均被遍历,最终得到的二进制位序列则记录了每个主语-谓词成分与宾语之间的对应关系;
(4.4)删除初始RDF数据集,最终返回映射得到的字典、SP序列、宾语序列以及两个二进制位序列。
(4.5)对于任何查询,通过SP序列可以确定主语和谓词列表的对应关系,从而进一步确定主语和谓词的对应关系;通过第一个二进制位序列可以确定主语和宾语的对应关系,通过第二个二进制位序列可以确定同一个主语下谓词和宾语的对应关系,继而提供高效的查询服务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310126581.2A CN116090413A (zh) | 2023-02-16 | 2023-02-16 | 一种基于序列化的通用rdf数据压缩方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310126581.2A CN116090413A (zh) | 2023-02-16 | 2023-02-16 | 一种基于序列化的通用rdf数据压缩方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116090413A true CN116090413A (zh) | 2023-05-09 |
Family
ID=86213940
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310126581.2A Pending CN116090413A (zh) | 2023-02-16 | 2023-02-16 | 一种基于序列化的通用rdf数据压缩方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116090413A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117112841A (zh) * | 2023-08-30 | 2023-11-24 | 赛力斯汽车有限公司 | 基于用例数据的数据处理方法、装置及计算机可读存储介质 |
-
2023
- 2023-02-16 CN CN202310126581.2A patent/CN116090413A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117112841A (zh) * | 2023-08-30 | 2023-11-24 | 赛力斯汽车有限公司 | 基于用例数据的数据处理方法、装置及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110990638B (zh) | 基于fpga-cpu异构环境的大规模数据查询加速装置及方法 | |
US11334548B2 (en) | Index sharding | |
CN108573045B (zh) | 一种基于多阶指纹的比对矩阵相似度检索方法 | |
CN1845104B (zh) | 信息智能检索加工的系统和方法 | |
CN113032362B (zh) | 数据血缘分析方法、装置、电子设备和存储介质 | |
US11941034B2 (en) | Conversational database analysis | |
US10671586B2 (en) | Optimal sort key compression and index rebuilding | |
US20180276264A1 (en) | Index establishment method and device | |
US11294816B2 (en) | Evaluating SQL expressions on dictionary encoded vectors | |
CN112231321B (zh) | 一种Oracle二级索引及索引实时同步方法 | |
US11809468B2 (en) | Phrase indexing | |
CN116090413A (zh) | 一种基于序列化的通用rdf数据压缩方法 | |
US12118041B2 (en) | Query execution on compressed in-memory data | |
US7672925B2 (en) | Accelerating queries using temporary enumeration representation | |
US8321429B2 (en) | Accelerating queries using secondary semantic column enumeration | |
CN103064847A (zh) | 索引装置、索引方法、检索装置、检索方法和检索系统 | |
CN110008448B (zh) | 将SQL代码自动转换为Java代码的方法和装置 | |
US9305080B2 (en) | Accelerating queries using delayed value projection of enumerated storage | |
Liu et al. | PAIRPQ: an efficient path index for regular path queries on knowledge graphs | |
Gao et al. | An automatic extraction method based on synonym dictionary for web reptile question and answer | |
CN116049193A (zh) | 数据存储方法及装置 | |
CN118446201A (zh) | 一种rag中文本召回多来源知识的去重方法 | |
CN117290377A (zh) | 一种关系型数据库间sql语句的转换方法以及装置 | |
CN118210819A (zh) | 一种实现对话式运维管理的方法 | |
CN118503489A (zh) | 一种海量数据实现高效索引和检索的方法 |
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 |