-
公开(公告)号:US20250139164A1
公开(公告)日:2025-05-01
申请号:US18385602
申请日:2023-10-31
Applicant: Oracle International Corporation
Inventor: Laurent Daynes , Martin Brugnara , Jean-Pierre Lozi , Calin Iorgulescu , Marco Arnaboldi , Hugo Kapp , Vlad Ioan Haprian , Zhen Hua Liu , Sungpack Hong
IPC: G06F16/901
Abstract: Techniques are described for applying topological graph changes and traversing the modified graph. In an implementation, a set of compile processes schedules the graph changes caused by a DML (Data Manipulation Language) statement. Based on the requested graph operation in a received query for graph, a set of graph operation processes generate extensions to the graph that capture the changes to the graph by the DML. The received graph operation(s) are then performed by traversing both the existing graph and the generated extensions.
-
12.
公开(公告)号:US11989178B2
公开(公告)日:2024-05-21
申请号:US17080700
申请日:2020-10-26
Applicant: Oracle International Corporation
Inventor: Vlad Haprian , Laurent Daynes , Zhen Hua Liu , Lei Sheng , Hugo Kapp , Marco Arnaboldi , Jean-Pierre Lozi , Andrew Witkowski , Hassan Chafi , Sungpack Hong
IPC: G06F16/2453 , G06F16/2455 , G06F16/901
CPC classification number: G06F16/24537 , G06F16/24558 , G06F16/9024
Abstract: Techniques support graph pattern matching queries inside a relational database management system (RDBMS) that supports SQL execution. The techniques compile a graph pattern matching query into a SQL query that can then be executed by the relational engine. As a result, techniques enable execution of graph pattern matching queries on top of the relational engine by avoiding any change in the existing SQL engine.
-
13.
公开(公告)号:US20230267120A1
公开(公告)日:2023-08-24
申请号:US17585146
申请日:2022-01-26
Applicant: Oracle International Corporation
Inventor: Hugo Kapp , Laurent Daynes , Vlad Ioan Haprian , Jean-Pierre Lozi , Zhen Hua Liu , Marco Arnaboldi , Sabina Petride , Andrew Witkowski , Hassan Chafi , Sungpack Hong
IPC: G06F16/2453
CPC classification number: G06F16/24539
Abstract: Techniques described herein allow a user of an RDBMS to specify a graph algorithm function (GAF) that takes a graph object as input and returns a logical graph object as output. GAFs are used within graph queries to compute temporary and output properties (“GAF-computed properties”), which are live for the duration of the query cursor execution. GAF-computed output properties are accessible in the enclosing graph pattern matching query as though they were part of the input graph object of the GAF. Temporary cursor-duration tables are generated for the query cursor during compilation of a graph query that includes a GAF, and are used to store the GAF-computed properties. Each temporary table corresponds to one of the primary tables of the input graph, and includes, as a foreign key, primary key information from the corresponding primary table. Thus, the input graph of a GAF may be a “heterogeneous” graph.
-
公开(公告)号:US11537579B2
公开(公告)日:2022-12-27
申请号:US16816686
申请日:2020-03-12
Applicant: Oracle International Corporation
Inventor: Jean-Pierre Lozi , Marco Arnaboldi , Laurent Phillipe Daynes , Vlad Ioan Haprian , Hugo Kapp
Abstract: In an embodiment, a computer obtains a mapping of a relational schema of a database to a graph data model. The relational schema identifies vertex table(s) that correspond to vertex type(s) in the graph data model and edge table(s) that correspond to edge type(s) in the graph data model. Each edge type is associated with a source vertex type and a target vertex type. Based on that mapping, a forward compressed sparse row (CSR) representation is populated for forward traversal of edges of a same edge type. Each edge originates at a source vertex and terminates at a target vertex. Based on the forward CSR representation, a reverse CSR representation of the edge type is populated for reverse traversal of the edges of the edge type. Acceleration occurs in two ways. Values calculated for the forward CSR are reused for the reverse CSR. Elastic and inelastic scaling may occur.
-
公开(公告)号:US11507579B2
公开(公告)日:2022-11-22
申请号:US17080719
申请日:2020-10-26
Applicant: Oracle International Corporation
Inventor: Vlad Haprian , Laurent Daynes , Zhen Hua Liu , Lei Sheng , Hugo Kapp , Marco Arnaboldi , Jean-Pierre Lozi , Andrew Witkowski , Hassan Chafi , Sungpack Hong
IPC: G06F16/2455 , G06F16/2453
Abstract: Techniques support graph pattern matching queries inside a relational database management system (RDBMS) that supports SQL execution. The techniques compile a graph pattern matching query into a SQL query that can then be executed by the relational engine. As a result, techniques enable execution of graph pattern matching queries on top of the relational engine by avoiding any change in the existing SQL engine.
-
16.
公开(公告)号:US20210334249A1
公开(公告)日:2021-10-28
申请号:US17370418
申请日:2021-07-08
Applicant: Oracle International Corporation
Inventor: Marco Arnaboldi , Jean-Pierre Lozi , Laurent Phillipe Daynes , Vlad Ioan Haprian , Shasank Kisan Chavan , Hugo Kapp , Sungpack Hong
IPC: G06F16/21 , G06F16/27 , G06F16/28 , G06F16/901
Abstract: Herein are techniques that concurrently populate entries in a compressed sparse row (CSR) encoding, of a type of edge of a heterogenous graph. In an embodiment, a computer obtains a mapping of a relational schema to a graph data model. The relational schema defines vertex tables that correspond to vertex types in the graph data model, and edge tables that correspond to edge types in the graph data model. Each edge type is associated with a source vertex type and a target vertex type. For each vertex type, a sequence of persistent identifiers of vertices is obtained. Based on the mapping and for a CSR representation of each edge type, a source array is populated that, for a same vertex ordering as the sequence of persistent identifiers for the source vertex type, is based on counts of edges of the edge type that originate from vertices of the source vertex type. For the CSR, the computer populates, in parallel and based on said mapping, a destination array that contains canonical offsets as sequence positions within the sequence of persistent identifiers of the vertices.
-
17.
公开(公告)号:US12242487B2
公开(公告)日:2025-03-04
申请号:US17965687
申请日:2022-10-13
Applicant: Oracle International Corporation
Inventor: Vlad Ioan Haprian , Lei Sheng , Laurent Daynes , Zhen Hua Liu , Hugo Kapp , Marco Arnaboldi , Andrew Witkowski , Sungpack Hong , Hassan Chafi
IPC: G06F16/2455 , G06F16/242
Abstract: Techniques support graph pattern matching queries inside a relational database management system (RDBMS) that supports SQL execution. The techniques compile a graph pattern matching query that includes a bounded recursive pattern query into a SQL query that can then be executed by the relational engine. As a result, techniques enable execution of graph pattern matching queries that include bounded recursive patterns on top of the relational engine by avoiding any change in the existing SQL engine.
-
18.
公开(公告)号:US12124448B2
公开(公告)日:2024-10-22
申请号:US17585146
申请日:2022-01-26
Applicant: Oracle International Corporation
Inventor: Hugo Kapp , Laurent Daynes , Vlad Ioan Haprian , Jean-Pierre Lozi , Zhen Hua Liu , Marco Arnaboldi , Sabina Petride , Andrew Witkowski , Hassan Chafi , Sungpack Hong
IPC: G06F16/00 , G06F16/2453
CPC classification number: G06F16/24539
Abstract: An RDBMS specifies a graph algorithm function (GAF) that takes a graph object as input and returns a logical graph object as output. GAFs are used within graph queries to compute temporary and output properties (“GAF-computed properties”), which are live for the duration of the query cursor execution. GAF-computed output properties are accessible in the enclosing graph pattern matching query as though they were part of the input graph object of the GAF. Temporary cursor-duration tables are generated for the query cursor during compilation of a graph query that includes a GAF, and are used to store the GAF-computed properties. Each temporary table corresponds to one of the primary tables of the input graph, and includes, as a foreign key, primary key information from the corresponding primary table.
-
公开(公告)号:US11921785B2
公开(公告)日:2024-03-05
申请号:US17584262
申请日:2022-01-25
Applicant: Oracle International Corporation
Inventor: Hugo Kapp , Laurent Daynes , Vlad Ioan Haprian , Jean-Pierre Lozi , Zhen Hua Liu , Marco Arnaboldi , Sabina Petride , Andrew Witkowski , Hassan Chafi , Sungpack Hong
IPC: G06F16/901 , G06F16/903
CPC classification number: G06F16/9024 , G06F16/90335
Abstract: Techniques described herein allow a user of an RDBMS to specify a graph algorithm function (GAF) declaration, which defines a graph algorithm that takes a graph object as input and returns a logical graph object as output. A database dictionary stores the GAF declaration, which allows addition of GAFs without changing the RDBMS kernel. GAFs are used within graph queries to compute output properties of property graph objects. Output properties are accessible in the enclosing graph pattern matching query, and are live for the duration of the query cursor execution. According to various embodiments, the declaration of a GAF includes a DESCRIBE function, used for semantic analysis of the GAF, and an EXECUTE function, which defines the operations performed by the GAF. Furthermore, composition of GAFs in a graph query is done by supplying, as the input graph argument of an outer GAF, the result of an inner GAF.
-
公开(公告)号:US20230252077A1
公开(公告)日:2023-08-10
申请号:US17584262
申请日:2022-01-25
Applicant: Oracle International Corporation
Inventor: Hugo Kapp , Laurent Daynes , Vlad Ioan Haprian , Jean-Pierre Lozi , Zhen Hua Liu , Marco Arnaboldi , Sabina Petride , Andrew Witkowski , Hassan Chafi , Sungpack Hong
IPC: G06F16/901 , G06F16/903
CPC classification number: G06F16/9024 , G06F16/90335
Abstract: Techniques described herein allow a user of an RDBMS to specify a graph algorithm function (GAF) declaration, which defines a graph algorithm that takes a graph object as input and returns a logical graph object as output. A database dictionary stores the GAF declaration, which allows addition of GAFs without changing the RDBMS kernel. GAFs are used within graph queries to compute output properties of property graph objects. Output properties are accessible in the enclosing graph pattern matching query, and are live for the duration of the query cursor execution. According to various embodiments, the declaration of a GAF includes a DESCRIBE function, used for semantic analysis of the GAF, and an EXECUTE function, which defines the operations performed by the GAF. Furthermore, composition of GAFs in a graph query is done by supplying, as the input graph argument of an outer GAF, the result of an inner GAF.
-
-
-
-
-
-
-
-
-