US 12,298,979 B2
Processing logic rules in a SPARQL query engine
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); and Jean-Philippe Louis Marie Sahut D'Izarn, Vélizy-Villacoublay (FR)
Assigned to DASSAULT SYSTEMES, Vélizy-Villacoublay (FR)
Filed by DASSAULT SYSTEMES, Vélizy-Villacoublay (FR)
Filed on Dec. 12, 2022, as Appl. No. 18/079,554.
Claims priority of application No. 21306752 (EP), filed on Dec. 12, 2021.
Prior Publication US 2023/0185810 A1, Jun. 15, 2023
Int. Cl. G06F 16/2455 (2019.01); G06F 16/901 (2019.01)
CPC G06F 16/24566 (2019.01) [G06F 16/9024 (2019.01)] 20 Claims
OG exemplary drawing
 
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.