IP Library › Granted Patent US 10,831,831
Granted Patent B2
US 10,831,831 · App. 15/940,769 · Granted Nov 10, 2020

Hierarchical metadata model querying system

Inventor: Simeon Greene (Wellesley, MA)
Assignee: Oracle International Corporation
G06F16/907G06F16/9024G06F16/9038G06F16/955
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 10,831,831
App. No.
15/940,769
Granted
Nov 10, 2020
Kind
B2
Abstract

Methods and systems for querying application metadata objects are provided. The method may comprise receiving a query identifying an application; executing the query against a metadata model for the application to obtain a result, the result identifying a first metadata object satisfying the query, wherein the metadata model identifies a plurality of metadata objects and hierarchical relationships between the plurality of metadata objects, and wherein the metadata model comprises information about structure and semantics of data used by the application; determining, from the plurality of metadata objects, a second metadata object referenced by the first metadata object; determining, from the plurality of metadata objects, a third metadata object that is a parent object of the first metadata object; building a directed graph including the first metadata object, the second metadata object, and the third metadata object; and providing a response including the directed graph to the query.

Claims (104)

1. A method comprising:

receiving, by a computer system, a query identifying an application;

executing, by the computer system, the query against a metadata model for the application to obtain a result, the result identifying a first metadata object satisfying the query, wherein the metadata model identifies a plurality of metadata objects and hierarchical relationships among the plurality of metadata objects, and wherein the metadata model comprises information about semantics of data used by the application;

determining, by the computer system from the plurality of metadata objects, a second metadata object referenced by the first metadata object;

determining, by the computer system from the plurality of metadata objects, a third metadata object that is a parent object of the first metadata object;

building, by the computer system, a directed graph including the first metadata object, the second metadata object, and the third metadata object, wherein the directed graph comprises a set of vertices and a set of edges, the set of vertices including vertices corresponding to the first metadata object, the second metadata object, and the third metadata object, wherein each edge in the set of edges connects two vertices from the set of vertices and represents a hierarchical relationship between the metadata objects corresponding to the two vertices; and

providing, by the computer system, a response to the query, wherein the response includes the directed graph.

2. The method as in claim 1 , further comprising:

extracting, by the computer system, an identifier associated with the application;

receiving, by the computer system, location information identifying a location where metadata associated with the application is stored;

obtaining the metadata associated with the application from the location information; and

generating the metadata model for the application based upon the metadata associated with the application.

3. The method as in claim 1 , further comprising:

obtaining metadata associated with the application;

determining a format of the metadata;

determining, from a plurality of parsers, a parser based on the format of the metadata; and

executing the determined parser to generate the metadata model for the application based upon the metadata associated with the application.

4. The method as in claim 1 , further comprising:

determining, from the plurality of metadata objects, a fourth metadata object referenced by the first metadata object,

wherein the set of vertices include vertices corresponding to the first metadata object, the second metadata object, the third metadata object, and the fourth metadata object; and

wherein the set of edges includes an edge connecting a vertex corresponding to the first metadata object with a vertex corresponding to the fourth metadata object.

5. The method as in claim 1 , wherein:

the metadata model comprises a plurality of nodes and information indicative of hierarchical relationships among the plurality of nodes, the plurality of nodes corresponding to the plurality of metadata objects;

the method further comprises:

determining, from the metadata model, a first node from the plurality of nodes, the first node representing the first metadata object;

determining, from the metadata model and the hierarchical relationships, a leaf node that is a descendent node of the first node;

determining a fourth metadata object represented by the leaf node; and

building the directed graph to include the fourth metadata object.

6. The method as in claim 1 , wherein:

the metadata model comprises a plurality of nodes and information indicative of hierarchical relationships among the plurality of nodes, the plurality of nodes corresponding to the plurality of metadata objects and including a root node and a plurality of descendent nodes of the root node;

determining the second metadata object that is referenced by the first metadata object comprises:

determining, from the metadata model, a path between the root node of the metadata model and a first node of the plurality of descendent nodes, the first node representing the first metadata object;

determining one or more intermediary nodes in the path between the root node and the first node representing the first metadata object; and

determining the second metadata object based on one or more metadata objects represented by the one or more intermediary nodes.

7. The method as in claim 1 , further comprising:

receiving, by the computer system, connection information including at least one of: a universal resource link (URL) and credential information;

establishing, by the computer system, a connection between the computer system and a remote device that stores metadata of the application; and

obtaining, by the computer system, the metadata from the remote device via the connection.

8. The method as in claim 1 , wherein:

the query specifies one or more conditions for selecting the first metadata object; and

wherein the one or more conditions include at least a part of a label associated with the first metadata object.

9. The method as in claim 8 , wherein:

the directed graph for the first metadata object is a first directed graph;

the query specifies one or more conditions for selecting the first metadata object and a fourth metadata object; and

the method further comprises:

building a second directed graph for the fourth metadata object; and

providing the response to the query comprised including the first directed graph for the first metadata object and the second directed graph for the fourth metadata object in the response.

10. The method of claim 1 , wherein the data comprise a plurality of data members of the data, each data member corresponding to a metadata object of the plurality of metadata objects; and

wherein the data members are hierarchically related based on the hierarchical relationship among the plurality of metadata objects.

11. The method of claim 10 , wherein the semantics of the data provide a functional interpretation for each data member of the plurality of data members.

12. An apparatus comprising:

a memory that stores a set of instructions; and

a hardware processor configured to execute the set of instructions to:

receive a query identifying an application;

execute the query against a metadata model for the application to obtain a result, the result identifying a first metadata object satisfying the query, wherein the metadata model identifies a plurality of metadata objects and hierarchical relationships among the plurality of metadata objects, and wherein the metadata model comprises information about semantics of data used by the application;

determine, from the plurality of metadata objects, a second metadata object referenced by the first metadata object;

determine, from the plurality of metadata objects, a third metadata object that is a parent object of the first metadata object;

build a directed graph including the first metadata object, the second metadata object, and the third metadata object, wherein the directed graph comprises a set of vertices and a set of edges, the set of vertices including vertices corresponding to the first metadata object, the second metadata object, and the third metadata object, wherein each edge in the set of edges connects two vertices from the set of vertices and represents a hierarchical relationship between the metadata objects corresponding to the two vertices; and

provide a response to the query, wherein the response includes the directed graph.

13. The apparatus as in claim 12 , wherein the hardware processor is further configured to:

extract an identifier associated with the application;

receive location information identifying a location where metadata associated with the application is stored; and

obtain the metadata associated with the application from the location information; and

generate the metadata model for the application based upon the metadata associated with the application.

14. The apparatus as in claim 12 , wherein the hardware processor is further configured to:

obtain metadata associated with the application;

determine a format of the metadata;

determine, from a plurality of parsers, a parser based on the format of the metadata; and

execute the determined parser to generate the metadata model for the application based upon the metadata associated with the application.

15. The apparatus as in claim 12 , wherein the hardware processor is further configured to:

determine, from the plurality of metadata objects, a fourth metadata object referenced by the first metadata object;

wherein the set of vertices include vertices corresponding to the first metadata object, the second metadata object, the third metadata object, and the fourth metadata object;

wherein each edge in the set of edges connects two vertices from the set of vertices and represents a hierarchical relationship between the metadata objects corresponding to the two vertices; and

wherein the set of edges includes an edge connecting a vertex corresponding to the first metadata object with a vertex corresponding to the fourth metadata object.

16. The apparatus as in claim 12 , wherein:

the metadata model comprises a plurality of nodes and information indicative of hierarchical relationships among the plurality of nodes, the plurality of nodes corresponding to the plurality of metadata objects;

the hardware processor is further configured to:

determine, from the metadata model, a first node from the plurality of nodes, the first node representing the first metadata object;

determine, from the metadata model and the hierarchical relationships, a leaf node that is a descendent node of the first node;

determine a fourth metadata object represented by the leaf node; and

build the directed graph to include the fourth metadata object.

17. The apparatus as in claim 12 , wherein:

the metadata model comprises a plurality of nodes and information indicative of hierarchical relationships among the plurality of nodes, the plurality of nodes corresponding to the plurality of metadata objects and including a root node and a plurality of descendent nodes of the root node;

determining the second metadata object that is referenced by the first metadata object comprises:

determining, from the metadata model, a path between the root node of the metadata model and a first node of the plurality of descendent nodes, the first node representing the first metadata object;

determining one or more intermediary nodes in the path between the root node and the first node representing the first metadata object; and

determining the second metadata object based on one or more metadata objects represented by the one or more intermediary nodes.

18. The apparatus as in claim 12 , wherein the hardware processor is further configured to:

receive connection information including at least one of: a universal resource link (URL) and credential information;

establish a connection between the apparatus and a remote device that stores metadata of the application; and

obtain the metadata from the remote device via the connection.

19. A non-transitory computer-readable memory comprising instructions which, when executed by one or more processors, cause the one or more processors to perform:

receiving a query identifying an application;

executing the query against a metadata model for the application to obtain a result, the result identifying a first metadata object satisfying the query, wherein the metadata model identifies a plurality of metadata objects and hierarchical relationships among the plurality of metadata objects, and wherein the metadata model comprises information about semantics of data used by the application;

determining, from the plurality of metadata objects, a second metadata object referenced by the first metadata object;

determining, from the plurality of metadata objects, a third metadata object that is a parent object of the first metadata object;

building a directed graph including the first metadata object, the second metadata object, and the third metadata object, wherein the directed graph comprises a set of vertices and a set of edges, the set of vertices including vertices corresponding to the first metadata object, the second metadata object, and the third metadata object, wherein each edge in the set of edges connects two vertices from the set of vertices and represents a hierarchical relationship between the metadata objects corresponding to the two vertices; and

providing a response to the query, wherein the response includes the directed graph.

20. The non-transitory computer-readable memory as in claim 19 , wherein:

the directed graph for the first metadata object is a first directed graph;

the query specifies one or more conditions for selecting the first metadata object and a fourth metadata object; and

the non-transitory computer-readable memory further comprising instructions which, when executed by the one or more processors, cause the one or more processors to perform:

building a second directed graph for the fourth metadata object; and

providing the response to the query comprised including the first directed graph for the first metadata object and the second directed graph for the fourth metadata object in the response.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 29, 2018
From: GREENE, SIMEON
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 045392/0041 →
Continuity (1)
Related Publication 20190303509A1 · Oct 3, 2019
Cited By (21)
US 1,068,788 US 12,189,703 US 12,190,330 US 12,204,564 US 12,216,794 US 12,259,882 US 12,265,896 US 12,277,232 US 12,288,233 US 12,299,065 US 12,353,405 US 12,381,915 US 12,412,140 US 12,536,329 US 12,591,828 US 12,609,938 US 12,641,108 US 12,688,324 US 12,694,044 US 12,718,167 US 12,748,738