IP Library › Granted Patent US 12,298,979
Granted Patent B2
US 12,298,979 · App. 18/079,554 · Granted May 13, 2025

Processing logic rules in a SPARQL query engine

Inventors: Sylvain Christian Dekoker (Vélizy-Villacoublay, FR); Frédéric Matteo Labbate (Vélizy-Villacoublay, FR); Eric Laurent Vallet Glénisson (Vélizy-Villacoublay, FR); Jean-Philippe Louis Marie Sahut D'Izarn (Vélizy-Villacoublay, FR)
Assignee: DASSAULT SYSTEMES
G06F16/24566G06F16/9024
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,298,979
App. No.
18/079,554
Granted
May 13, 2025
Kind
B2
Abstract

A computer-implemented method for processing a logic rule in a graph database. The method includes obtaining a graph database comprising at least one graph, each graph of the database being represented in one or more adjacency matrices (R-Matrix), each adjacency matrix representing a group of tuples of the graph comprising a same predicate, obtaining the logic rule concluding to a head predicate, generating a virtual adjacency matrix comprising one of the one or more adjacency matrices (R-Matrix) and an entailed data matrix (E-Matrix), the virtual adjacency matrix representing the head predicate, the entailed data matrix representing a group of tuples that are computed by applying the logic rule, and receiving a query by the database using the head predicate.

Claims (42)

1. A computer-implemented method for processing a logic rule in a graph database, the method comprising:

obtaining a graph database having at least one graph, each graph of the database being represented in one or more adjacency matrices (R-Matrix), each adjacency matrix representing a group of tuples of the graph comprising a same predicate;

obtaining the logic rule concluding to a head predicate;

processing the logic rule on the graph database, thereby obtaining a group of inferred tuples computed by applying the logic rule;

generating a virtual adjacency matrix having one of the one or more adjacency matrices (R-Matrix) and an entailed data matrix (E-Matrix), the virtual adjacency matrix representing the head predicate, wherein the entailed data matrix represents the group of inferred tuples computed by applying the logic rule;

receiving, by the database, a query with the head predicate represented by the generated virtual adjacency matrix; and

answering the received query by matching graph patterns according to the head predicate represented by the generated virtual adjacency matrix.

2. The computer-implemented method of claim 1 , wherein the virtual adjacency matrix further comprises an update processor, the update processor being configured to update the entailed data matrix when the head predicate is modified.

3. The computer-implemented method of claim 1 , wherein the logic rule includes a set of one or more logic rules each being, at most, a first order logic rule.

4. The computer-implemented method of claim 3 , wherein the logic rule is expressed as a linear recursive query.

5. The computer-implemented method of claim 1 , wherein the generation of the entailed data matrix includes a forward chaining technique.

6. The computer-implemented method of claim 1 , wherein the group of tuples of the graph represented by a respective adjacency matrix are non-inferred tuples.

7. The computer-implemented method of claim 1 , wherein the graph database is an RDF graph database, each tuple being:

an RDF triple comprising a subject, a predicate, and an object; or

an RDF quad comprising subject, a predicate, an object, and a graph name.

8. The computer-implemented method of claim 7 , wherein the obtained logic rule is an RDFS rule.

9. The computer-implemented method of claim 7 , wherein the obtained logic rule is a default attribute rule configured to return a default value for an object or a subject of at least one RDF tuple.

10. The computer-implemented method of claim 6 , wherein the receiving a query by the database using the head predicate further comprises receiving a query by an SPARQL query engine.

11. The computer-implemented method of claim 10 , further comprising:

answering the received query by an SPARQL query engine.

12. A non-transitory computer readable storage medium having recorded thereon a computer program comprising instructions for performing a method for processing a logic rule in a graph database, the method comprising:

obtaining a graph database having at least one graph, each graph of the database being represented in one or more adjacency matrices (R-Matrix), each adjacency matrix representing a group of tuples of the graph comprising a same predicate;

obtaining the logic rule concluding to a head predicate;

processing the logic rule on the graph database, thereby obtaining a group of inferred tuples computed by applying the logic rule;

generating a virtual adjacency matrix having one of the one or more adjacency matrices (R-Matrix) and an entailed data matrix (E-Matrix), the virtual adjacency matrix representing the head predicate, wherein the entailed data matrix represents the group of inferred tuples computed by applying the logic rule;

receiving, by the database, a query with the head predicate represented by the generated virtual adjacency matrix; and

answering the received query by matching graph patterns according to the head predicate represented by the generated virtual adjacency matrix.

13. The non-transitory computer readable storage medium of claim 12 , wherein the virtual adjacency matrix further comprises an update processor, the update processor being configured to update the entailed data matrix when the head predicate is modified.

14. The non-transitory computer readable storage medium of claim 12 , wherein the logic rule includes a set of one or more logic rules each being at most a first order logic rule.

15. The non-transitory computer readable storage medium of claim 12 , wherein the logic rule is expressed as a linear recursive query.

16. The non-transitory computer readable storage medium of claim 12 , wherein the generation of the entailed data matrix includes a forward chaining technique.

17. A system comprising:

a processor coupled to a memory, the memory having recorded thereon a computer program comprising instructions that, when executed by the processor, cause the processor to process a logic rule in a graph database by being configured to:

obtain a graph database having at least one graph, each graph of the database being represented in one or more adjacency matrices (R-Matrix), each adjacency matrix representing a group of tuples of the graph comprising a same predicate,

process the logic rule on the graph database, thereby obtaining a group of inferred tuples computed by applying the logic rule,

obtain the logic rule concluding to a head predicate,

generate a virtual adjacency matrix having one of the one or more adjacency matrices (R-Matrix) and an entailed data matrix (E-Matrix), the virtual adjacency matrix representing the head predicate, wherein the entailed data matrix represents the group of inferred tuples computed by applying the logic rule,

receive, by the database, a query with the head predicate represented by the generated virtual adjacency matrix, and

answering the received query by matching graph patterns according to the head predicate represented by the generated virtual adjacency matrix.

18. The system of claim 17 , wherein the virtual adjacency matrix further includes an update processor, the update processor being configured to update the entailed data matrix when the head predicate is modified.

19. The system of claim 17 , wherein the logic rule includes a set of one or more logic rules each being at most a first order logic rule.

20. The system of claim 17 , wherein the logic rule is expressed as a linear recursive query.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 31, 2023
From: DEKOKER, SYLVAIN CHRISTIAN; LABBATE, FRÉDÉRIC MATTEO; VALLET GLÉNISSON, ERIC LAURENT; SAHUT D'IZARN, JEAN-PHILIPPE LOUIS MARIE
To: DASSAULT SYSTEMES
Reel/Frame 062543/0513 →
Priority Claims (1)
EP 21306752 · Dec 12, 2021 · regional
Continuity (1)
Related Publication 20230185810A1 · Jun 15, 2023
References Cited (26)
US 20060235823A1 · Chong · 2006 [cited by examiner]
US 20110119310A1 · Kolovski et al. · 2011 [cited by applicant]
US 20110320187A1 · Motik · 2011 [cited by examiner]
US 20140156633A1 · Duan · 2014 [cited by examiner]
US 20140244657A1 · Mizell · 2014 [cited by examiner]
US 20160224637A1 · Sukumar · 2016 [cited by examiner]
US 20190391791A1 · Bebee · 2019 [cited by examiner]
US 20210240917A1 · Sen · 2021 [cited by examiner]
US 20220121816A1 · Seul · 2022 [cited by examiner]
Sen S, Katoriya D, Dutta A, Dutta B. RDFM: An alternative approach for representing, storing, and maintaining meta-knowledge in web of data. Expert Systems with Applications. Oct. 1, 2021;179:115043. (Year: 2021). [cited by examiner]
Ali, Waqas, et al. “A survey of RDF stores & SPARQL engines for querying knowledge graphs.” The VLDB Journal (2022): 1-26. (Year: 2022). [cited by examiner]
Z. Zheng, Y. Ding, Z. Wang and Z. Wang, “A Novel Method of Keyword Query for RDF Data Based on Bipartite Graph, ” 2016 IEEE 22nd International Conference on Parallel and Distributed Systems (ICPADS), Wuhan, China, 2016,… [cited by examiner]
Zhuoran Ji and Cho-Li Wang. 2021. Accelerating DBSCAN Algorithm with AI Chips for Large Datasets. In Proceedings of the 50th International Conference on Parallel Processing (ICPP '21). Association for Computing Machiner… [cited by examiner]
Lei Zou, Jinghui Mo, Lei Chen, M. Tamer Azsu, and Dongyan Zhao. 2011. GStore: answering SPARQL queries via subgraph matching. Proc. VLDB Endow. 4, 8 (May 2011), 482â493. (Year: 2011). [cited by examiner]
Extended European Search Report issued May 9, 2022, in European Patent Application No. 21306752.3 filed Dec. 12, 2021, citing document Nos. 1 and 21-22, therein 11 pages. [cited by applicant]
Abiteboul, S., et al., “Foundations of Databases”, Reading: Addison-Wesley, 1995, 702 total pages. [cited by applicant]
Gandon, F., et al., The Resource Description Framework and its Schema, Handbook of Semantic Web Technologies, 2011, 978-3-540-92912-3, 50 total pages. [cited by applicant]
Hellerstein, J.M., et al., “Readings in Database Systems”, Third Edition, Morgan Kaufmann, Mar. 1998, 7 total pages. [cited by applicant]
Green, T., et al., “Datalog and Recursive Query Processing”, Now Publishers, 2013, 94 total pages. [cited by applicant]
RDF 1.1 Semantics, W3C Recommendation Feb. 25, 2014, 1 total page. [cited by applicant]
Harris, S., et al., “3store: Efficient Bulk RDF Storage”, 2003, 15 total pages. [cited by applicant]
Abadi, D., et al., “Scalable Semantic Web Data Management Using Vertical Partitioning”, In: Proceedings of the 33rd International Conference on Very Large Data Bases, 2007, pp. 411-422. [cited by applicant]
“SPARQL 1.1 Query Language”, W3C Recommendation Mar. 21, 2013, online, 1 total page. [cited by applicant]
Álvarez-García, S., et al., “Compressed Vertical Partitioning for Efficient RDF Management”, Knowledge and Information Systems, 2015, vol. 44, No. 2, p. 439-474, 38 total pages. [cited by applicant]
Kaoudi, Z., et al., “RDF in the clouds: a survey”, VLDB Journal, Springer Verlag, Berlin, DE, vol. 24, No. 1, Feb. 1, 2015 (Feb. 1, 2015), pp. 67-91, XP058066104, ISSN: 1066-8888, DOI: 10.1007/S00778-014-0364-Z * the wh… [cited by applicant]
Jamour, F., et al., “Matrix Algebra Framework for Portable, Scalable and Efficient Query Engines for RDF Graphs”, Mar. 25, 2019; 1077952576-1077952576, Mar. 25, 2019 (Mar. 25, 2019), pp. 1-15, XP058428805, DOI: 10.1145/… [cited by applicant]