IP Library › Granted Patent US 12,602,432
Granted Patent B2
US 12,602,432 · App. 18/531,262 · Granted Apr 14, 2026

Summary generation for a distributed graph database

Inventors: Eric Vallet Glenisson (Vélizy-Villacoublay, FR); Alexandra Deniaud (Vélizy-Villacoublay, FR); Frédéric Labbate (Vélizy-Villacoublay, FR); Alban Roullier (Vélizy-Villacoublay, FR)
Assignee: DASSAULT SYSTEMES
G06F16/9024G06F16/2471
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,602,432
App. No.
18/531,262
Granted
Apr 14, 2026
Kind
B2
Abstract

A computer-implemented method for generating a summary of a graph database comprising a set of RDF tuples including obtaining the graph database and generating a summary having a set of probabilistic filters. Each probabilistic filter of the set determines if at least one RDF tuple existing in the graph database corresponds to a respective basic graph pattern of the probabilistic filter with a possibility of false positive.

Claims (63)

1 . A computer-implemented method for generating a summary of a graph database comprising a set of RDF tuples, the method comprising:

obtaining the graph database; and

generating a probabilistic extract of information of the graph database including:

a set of probabilistic filters, each probabilistic filter of the set determining if at least one RDF tuple, existing in the graph database, corresponds to a respective basic graph pattern of the probabilistic filter with a possibility of false positive and with no false negative,

metadata defining a role for each probabilistic filter of the set, and

a value indicating a respective number of RDF tuples in the graph database for each predicate,

thereby obtaining the summary of the graph database.

2 . The method of claim 1 , wherein the set of probabilistic filters comprises, for each predicate (P) of the set of RDF tuples:

a first filter corresponding to a first basic graph pattern ((S, P, ?O)) which comprises the predicate and any subject in the set of RDF tuples; and/or

a second filter corresponding to a second basic graph pattern ((?S, P, O)) which comprises the predicate and any object in the set of RDF tuples.

3 . The method of claim 1 , wherein the set of probabilistic filters comprises:

for each predicate (P) of the set of RDF tuples, a third filter corresponding to a third basic graph pattern which comprises the predicate and any subject and/or object in the set of RDF tuples.

4 . The method of claim 3 , wherein the subjects and/or objects are of type of URI.

5 . The method of claim 3 , wherein the set of probabilistic filters comprises:

for each non-URI type of respective objects in the graph database, a fourth filter corresponding to a fourth basic graph pattern ((?S, ?P, O)) which includes said respective objects.

6 . The method of claim 3 , wherein the set of probabilistic filters comprises:

a fifth filter corresponding to a fifth basic graph ((S, ?P, ?O)) pattern which comprises a blank node as subject.

7 . The method of claim 1 , wherein the set of probabilistic filters comprises:

for each non-URI type of respective objects in the graph database, a fourth filter corresponding to a fourth basic graph pattern ((?S, ?P, O)) which includes said respective objects.

8 . The method of claim 7 , wherein the set of probabilistic filters comprises:

a fifth filter corresponding to a fifth basic graph ((S, ?P, ?O)) pattern which comprises a blank node as subject.

9 . The method of claim 1 , wherein the set of probabilistic filters comprises:

a fifth filter corresponding to a fifth basic graph ((S, ?P, ?O)) pattern which comprises a blank node as subject.

10 . The method of claim 1 , wherein each probabilistic filter of the set comprises:

an array of a first size, and

one or more hash functions, and

wherein each probabilistic filter is configured to determine if at least one RDF tuple, existing in the graph database, corresponds to the respective basic graph pattern of the probabilistic filter by:

inputting each RDF tuple of the graph database to each hash function of the probabilistic filter to obtain a respective output of a second size, and

storing the respective output in the array.

11 . The method of claim 10 , wherein a number of the one or more hash functions is based on the second size or is proportional to the second size.

12 . The method of claim 10 , wherein a number of the one or more hash functions is based on the second size or is proportional to the second size, wherein more preferably the second size is between 10 to 18 bits, and even more preferably the second size is 15 bits.

13 . The method of claim 1 , wherein the graph database is a partitioned graph database having a set of partitions, and the generating further comprises generating a probabilistic extract of information for each partition of the partitioned graph database.

14 . The method of claim 13 , further comprising, after identifying one or more partitions and prior to executing a received query on the identified one or more partitions of the set:

determining whether or not, for a basic graph pattern of the set of basic graph patterns, the identified one or more partitions form an empty set; and

optimizing a respective query plan of the received query by removing the basic graph pattern from the set of basic graph patterns when the identified one or more partitions form an empty set.

15 . A computer-implemented method of applying a set of summaries of a partitioned graph database, the method comprising:

obtaining a partitioned graph database and a generated set of summaries of the partitioned graph database;

receiving, by the partitioned graph database, a query having one or more basic graph patterns;

for each basic graph pattern, identifying one or more partitions of the set of partitions based on the generated set of summaries, wherein the one or more partitions comprise all RDF tuples of the obtained partitioned graph database that answer the query; and

executing the received query on the identified one or more partitions of the set,

wherein the partitioned graph database is generated by generating a summary of a graph database having a set of RDF tuples including:

obtaining the graph database, and

generating a probabilistic extract of information of the graph database including:

a set of probabilistic filters, each probabilistic filter of the set determining if at least one RDF tuple, existing in the graph database, corresponds to a respective basic graph pattern of the probabilistic filter with a possibility of false positive and with no false negative,

metadata defining a role for each probabilistic filter of the set, and

a value indicating a respective number of RDF tuples in the graph database for each predicate,

thereby obtaining the summary of the graph database,

wherein the graph database is a partitioned graph database having a set of partitions, and

wherein the generating further includes generating a probabilistic extract of information for each partition of the partitioned graph database.

16 . The method of claim 15 , wherein the identifying of one or more partitions of the set of partitions based on the generated set of summaries further comprises:

for each summary of the generated set of summaries, determining, by each filter of the set of probabilistic filters of the summary, if at least one RDF tuple, existing in the partition of the summary, corresponds to the respective basic graph pattern of the probabilistic filter.

17 . The method of claim 15 , further comprising, after identifying one or more partitions and prior to executing the received query on the identified one or more partitions of the set:

determining whether or not, for a basic graph pattern of the set of basic graph patterns, the identified one or more partitions form an empty set; and

optimizing a respective query plan of the received query by removing the basic graph pattern from the set of basic graph patterns when the identified one or more partitions form an empty set.

18 . A non-transitory computer readable storage medium having recorded thereon a computer program that when executed by a computer causes the computer to implement the method of claim 1 .

19 . A system comprising:

a processor coupled to a memory, the memory having recorded thereon instructions for generating a summary of a graph database having a set of RDF tuples that when executed by the processor cause the processor be configured to:

obtain the graph database, and

generate a probabilistic extract of information of the graph database including:

a set of probabilistic filters, each probabilistic filter of the set determining if at least one RDF tuple, existing in the graph database, corresponds to a respective basic graph pattern of the probabilistic filter with a possibility of false positive and with no false negative,

metadata defining a role for each probabilistic filter of the set, and

a value indicating a respective number of RDF tuples in the graph database for each predicate,

thereby obtaining the summary of the graph database.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 8, 2024
From: VALLET GLENISSON, ERIC; DENIAUD, ALEXANDRA; LABBATE, FRÉDÉRIC; ROULLIER, ALBAN
To: DASSAULT SYSTEMES
Reel/Frame 067922/0638 →
Priority Claims (1)
EP 22306798 · Dec 6, 2022 · regional
Continuity (1)
Related Publication 20240184827A1 · Jun 6, 2024
References Cited (38)
US 10346401B2 · Abolhassani · 2019 [cited by examiner]
US 11068439B2 · Bicer · 2021 [cited by examiner]
US 12072918B1 · Newman · 2024 [cited by examiner]
US 20060235823A1 · Chong · 2006 [cited by examiner]
US 20060235837A1 · Chong · 2006 [cited by examiner]
US 20070226796A1 · Gilbert · 2007 [cited by examiner]
US 20080294644A1 · Liu · 2008 [cited by examiner]
US 20090132474A1 · Ma · 2009 [cited by examiner]
US 20110225167A1 · Bhattacharjee · 2011 [cited by examiner]
US 20120047124A1 · Duan · 2012 [cited by examiner]
US 20120136875A1 · Pan · 2012 [cited by examiner]
US 20120303668A1 · Srinivasan · 2012 [cited by examiner]
US 20140143281A1 · Duan · 2014 [cited by examiner]
US 20140379755A1 · Kuriakose · 2014 [cited by examiner]
US 20160162549A1 · Duan · 2016 [cited by examiner]
US 20170098009A1 · Srinivasan · 2017 [cited by examiner]
US 20180137155A1 · Majumdar · 2018 [cited by examiner]
US 20190317961A1 · Brener et al. · 2019 [cited by applicant]
US 20200073932A1 · Jia · 2020 [cited by examiner]
US 20230073312A1 · Portisch · 2023 [cited by examiner]
Compressed vertical partitioning for efficient RDF management; Sandra Álvarez-García, Nieves Brisaboa, Javier D. Fernández, Miguel A. Martínez-Prieto, Gonzalo Navarro, Apr. 1, 2013 (Year: 2013). [cited by examiner]
Efficient Query Answering in Probabilistic RDF Graphs, Xiang Lian and Lei Chen; Department of Computer Science and Engineering, The Hong Kong University of Science and Technology, Hong Kong, China; Jun. 12, 2011 (Year: … [cited by examiner]
Extended European Search Report issued May 8, 2023, in European Patent Application No. 22306798.4, 9 pages. [cited by applicant]
Cebiric, S., et al., “Summarizing semantic graphs: a survey”, The VLDB journal, vol. 28, No. 3, 2019, p. 295-327 (abstract only). [cited by applicant]
Hose, K, et al., “Towards benefit-based RDF source selection for SPARQL queries”, In Proceedings of the 4th International Workshop on Semantic Web Information Management. 2012, p. 1-8. [cited by applicant]
Stefanoni, G., et al., “Estimating the cardinality of conjunctive queries over RDF data using graph summarization”, In Proceedings of the 2018 World Wide Web Conference, 2018, p. 1043-1052. [cited by applicant]
Zouaghi, I., et al., “Query optimization for large scale clustered RDF data”, In: DOLAP, 2020, p. 56-65. [cited by applicant]
Peng, P., et al., “Processing SPARQL queries over distributed RDF graphs”, The VLDB Journal, vol. 25, No. 2, 2016, p. 243-268. [cited by applicant]
Álvarez-García, S., “Compressed vertical partitioning for efficient RDF management”, Knowledge and Information Systems, vol. 44, No. 2, 2015, p. 439-474. [cited by applicant]
“RDF Dumps”, Microsoft Academic Knowledge Graph, Retrieved May 10, 2022, from https://makg.org/rdf-dumps, 5 total pages. [cited by applicant]
“RDF 1.1 Concepts and Abstract Syntax”, W3C Recommendation Feb. 25, 2014, 20 total pages. [cited by applicant]
“Bloom filter”, https://en.wikipedia.org/wiki/Bloom_filter, 2023, 25 total pages. [cited by applicant]
“Hash function”, https://en.wikipedia.org/wiki/Hash_function, 2023, 15 total pages. [cited by applicant]
“Salt (cryptography)”, https://en.wikipedia.org/wiki/Salt_(cryptography) graphy), 2023, 3 total pages. [cited by applicant]
Ali, W., et al., “A Survey of RDF Stores & SPARQL Engines for Querying Knowledge Graphs”, The VLDB Journal, vol. 31, 2021, p. 1-26. [cited by applicant]
Katib, A., et al., “RIQ: Fast processing of SPARQL queries on RDF quadruples”, J. Web Semant. 37-38, 2016, p. 90-111. [cited by applicant]
Haque, A., “A MapReduce Approach to NoSQL RDF Databases”, ArXiv, abs/1601.01770, 2016, 78 total pages. [cited by applicant]
Slavov, V., et al., “Fast Processing of SPARQL Queries on RDF Quadruples”, ArXiv abs/1506.01333, 2015, 7 total pages. [cited by applicant]