Compressed RDF Graph Notation for Fast Triple Insertion
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for compressing Resource Description Framework (RDF) tuples suffer from low performance, with maximum insertion rates of RDF triples per second on standard machines rarely exceeding 700,000, which is insufficient for the increasing size of graphs used in applications like CAD, CAE, and CAM, necessitating an improvement to reach at least 1 Million RDF tuples per second.
Innovation Solution
A method involving grouping RDF tuples by shared predicates, sorting them based on subject and object encoding, serializing the predicate index, and computing differences between consecutive tuples to encode these differences as variable-length integers, enhancing compression efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If existing compression methods are used for RDF tuples, then data can be stored and transferred, but the insertion rate remains below 700,000 triples per second, which is insufficient for large-scale graph applications
Solution Approach 1:
The RDF tuple is segmented into three independent components (subject, predicate, object), each encoded separately with dedicated dictionaries. This segmentation allows parallel processing of components and optimized compression for each element type, contributing to achieving 1 million triples per second insertion rate
Solution Approach 2:
Dictionaries are pre-computed and stored for all possible subjects, predicates, and objects before compression. This preliminary action enables O(1) lookup during compression operations, eliminating the need for complex runtime computations and enabling high-speed compression at 1 million triples per second
Solution Approach 3:
Encoded representations serve as intermediaries between the original RDF tuples and the compressed binary format. The encoding process transforms human-readable subjects, predicates, and objects into compact numeric codes that can be efficiently serialized, achieving both compression and high insertion rates
2Loss of energy
If data is transferred in uncompressed format, then simplicity is maintained, but network resources and storage space are excessively consumed
Solution Approach 1:
The data representation parameters are changed from text-based RDF formats to compact binary encodings. Each RDF component is transformed into numeric codes with specific bit-lengths based on dictionary sizes, achieving significant compression ratios while maintaining decompressibility through reversible encoding
Solution Approach 2:
Instead of transmitting or storing the full RDF tuple structure repeatedly, the invention transmits compact binary copies containing only the essential encoded components. The full semantic meaning is reconstructed at the receiving end by looking up codes in the corresponding dictionaries, reducing network and storage requirements
Data Source
AI summary
A method for compressing RDF tuples. The method including obtaining RDF tuples, obtaining a dictionary of indices, encoding for each RDF tuple the indices attributed to the subject and the object, grouping RDF tuples sharing the same predicate and for each group sorting the RDF tuples by considering the encoding of the subject and the object, and for each group of sorted RDF tuples, serializing the index of the shared predicate, serializing the encoding of the subject and the object of a first RDF tuple, and for each RDF tuple of the group of sorted RDF tuples subsequent to the first RDF tuple of the group, computing a difference between the encoding of the subject and the object of a current RDF tuple and the encoding of the subject and the object of a previous RDF tuple, and serializing the computed difference in a form of a variable-length integer.


