RDF Graph Compression Using Predicate Grouping and Delta Encoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for compressing RDF tuples in computer-aided design systems fail to achieve high throughput, with insertion rates often limited to around 700,000 triples per second on standard machines, falling short of the required 1 Million RDF tuples per second needed for modern applications.

Innovation Solution

A method involving encoding RDF tuples with indices, grouping by predicate, sorting within groups, and serializing differences between consecutive tuples using 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 storage and transfer are performed, but the insertion rate is limited to around 700,000 triples per second on standard machines

Engineering Contradiction:
Improveinsertion rateVSAvoiddata transfer volume
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent transforms RDF tuples from their original text format into a compressed binary format by changing the representation parameters. Each RDF tuple is encoded as a sequence of variable-length integers that represent offsets into shared subject, predicate, and object pools, dramatically reducing the data size and enabling insertion rates of 1 million triples per second on standard machines

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent creates compact copies of RDF tuple data in a binary format rather than storing or transmitting the original text representations. By copying only the essential structural information in a compressed form, the system achieves high throughput while maintaining data integrity and enabling efficient reconstruction of the original RDF graphs

Inventive Principle:
Principle #26Copying

2Productivity

If RDF tuples are compressed using existing methods, then data size is reduced, but the insertion rate does not reach 1 Million RDF tuples per second required for modern applications

Engineering Contradiction:
Improveinsertion rateVSAvoidcompression method complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the RDF tuple compression process into distinct phases: encoding individual tuples as variable-length integers, grouping tuples by shared subjects and predicates, and organizing data into subject pools, predicate pools, and object pools. This segmentation enables parallel processing and optimizes each stage for maximum throughput

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary encoding of RDF tuples into compressed binary format before insertion or transfer operations. By pre-compressing the data and organizing it into optimized structures, the system eliminates the need for complex compression algorithms during the critical insertion phase, achieving 1 million triples per second performance

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12386897B2Compressed graph notation
Publication Date: 2025.08.12 DASSAULT SYSTEMES SA
  • US12386897B2 patent drawing
  • US12386897B2 patent drawing
  • US12386897B2 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.