RDF Tuple Compression Using Predicate Grouping and Delta Encoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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, falling short of the required 1 Million RDF tuples per second needed for current applications like CAD, CAE, and CAM systems.

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 for efficient compression and decompression.

Engineering Contradictions & Design Principles

VSEngineering 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, failing to meet the required 1 Million triples per second

Engineering Contradiction:
Improveinsertion rateVSAvoidcompression effectiveness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the RDF tuple compression process into distinct phases: encoding subjects and objects separately, grouping tuples by predicate, sorting within groups, and computing differences only for consecutive tuples in sorted order. This segmentation allows parallel processing and optimizes each phase independently, achieving the required insertion rate of 1 Million triples per second while maintaining compression effectiveness

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies preliminary encoding to subjects and objects before grouping and sorting. By pre-computing encodings and organizing data structures in advance, the system prepares data for efficient difference computation during compression, enabling high-speed processing that meets the 1 Million triples per second requirement without sacrificing compression ratios

Inventive Principle:
Principle #10Preliminary action

2Quantity of substance

If RDF tuples are compressed using traditional methods, then storage space is reduced, but the complexity of the compression algorithm increases processing time

Engineering Contradiction:
Improvedata sizeVSAvoidprocessing time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent changes the parameter representation by computing differences between consecutive encoded values instead of storing absolute values. This transformation reduces the average number of bits required per tuple while the sorting and grouping organization enables efficient difference computation, achieving both compact storage and fast processing

Inventive Principle:
Principle #35Parameter changes

3Productivity

If subjects and objects are encoded for each RDF tuple, then compression can be achieved, but the parsing cost increases

Engineering Contradiction:
Improvecompression ratioVSAvoidparsing complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary encoding step that transforms subjects and objects into compact representations before compression. This intermediary form enables efficient difference computation and grouping by predicate, achieving high compression ratios while the structured organization simplifies the parsing process compared to traditional methods

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20250342209A1Compressed graph notation
Publication Date: 2025.11.06 DASSAULT SYSTEMES SA
  • US20250342209A1 patent drawing
  • US20250342209A1 patent drawing
  • US20250342209A1 patent drawing

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.