PROVIDING A UNIFIED QUERY INTERFACE ACROSS MULTIPLE ONTOLOGY-BASED DATABASES
A method comprises receiving a call to an application programming interface (API) for querying an ontology, the ontology including a definition for each ontology entity type of a plurality of ontology entity types and a plurality of ontology entities instantiated from the plurality of ontology entity types, each ontology entity type having one or more properties; determining a first ontology entity type to be accessed in responding to the call; identifying a first group of object databases associated with the first ontology entity type, the first ontology entity type being represented in multiple forms separately in the first group of object databases; selecting a specific object database from the first group of object databases based on functional information of the specific object database related to representation of the first ontology entity type; implementing the call against the specific object database; returning a result of the implementing.
1 . A computer-implemented method of providing a unified query interface across multiple object databases, comprising:
receiving a call to an application programming interface (API) for querying an ontology,
the ontology including a definition for each ontology entity type of a plurality of ontology entity types and a plurality of ontology entities instantiated from the plurality of ontology entity types,
each ontology entity type of the plurality of ontology entity types having one or more properties;
determining a first ontology entity type of the plurality of ontology entity types to be accessed in responding to the call;
identifying a first group of object databases associated with the first ontology entity type,
the first ontology entity type being represented in multiple forms separately in the first group of object databases;
selecting a specific object database from the first group of object databases based on functional information of the specific object database related to representation of the first ontology entity type;
implementing the call against the specific object database;
returning a result of the implementing in response to the call,
the method being performed by one or more processors.
2 . The computer-implemented method of claim 1 ,
receiving the call comprising receiving a set of calls of a set of functions in the API, implementing the call comprising executing the set of functions.
3 . The computer-implemented method of claim 2 , the set of functions including a filter that operates on an ontology entity type and returns a set of ontology entities of the ontology entity type.
4 . The computer-implemented method of claim 2 , the executing comprising:
accessing distinct object databases of the first group of object databases to access distinct properties of the first ontology entity type;
merging results of accessing the distinct object databases.
5 . The computer-implemented method of claim 2 , the selecting comprising estimating a performance of each object database of the first group of object databases in serving a call of a particular function of the set of functions by limiting an amount of data to be returned from calling the particular function.
6 . The computer-implemented method of claim 2 ,
determining the first ontology entity type comprising identifying a set of properties of the first ontology entity type,
the representation of the first ontology entity type including representation of the set of properties of the first ontology entity type.
7 . The computer-implemented method of claim 6 ,
a first object database of the first group of object databases representing a particular property of the set of properties of the first ontology entity type in uncompressed or indexed form,
a second object database of the first group of object databases representing the particular property in archived or encrypted form.
8 . The computer-implemented method of claim 6 ,
the selecting comprising matching the functional information of the specific object database with metadata of a particular function of the set of functions,
the functional information indicating that a column of the specific object database allows random and near real-time access,
the column corresponding to a property of the set of properties of the first ontology entity type.
9 . The computer-implemented method of claim 1 ,
a first object database of the first group of object databases being a relational database representing an ontology entity of the first ontology entity type as a row and properties of the ontology entity as columns,
a second object database of the first group of object databases being a graph database representing the ontology entity as a node and links connected to the ontology entity as edges.
10 . The computer-implemented method of claim 1 , the selecting comprising confirming that the specific object database has a latest version of an ontology entity of the first ontology entity type that is available for querying.
11 . A computer system for providing a unified query interface across multiple object databases, comprising:
a memory;
one or more processors coupled to the memory and configured to perform:
receiving a call to an application programming interface (API) for querying an ontology,
the ontology including a definition for each ontology entity type of a plurality of ontology entity types and a plurality of ontology entities instantiated from the plurality of ontology entity types,
each ontology entity type of the plurality of ontology entity types having one or more properties;
determining a first ontology entity type of the plurality of ontology entity types to be accessed in responding to the call;
identifying a first group of object databases associated with the first ontology entity type,
the first ontology entity type being represented in multiple forms separately in the first group of object databases;
selecting a specific object database from the first group of object databases based on functional information of the specific object database related to representation of the first ontology entity type;
implementing the call against the specific object database;
returning a result of the implementing in response to the call.
12 . The computer system of claim 11 ,
receiving the call comprising receiving a set of calls of a set of functions in the API, implementing the call comprising executing the set of functions.
13 . The computer system of claim 12 , the set of functions including a filter that operates on an ontology entity type and returns a set of ontology entities of the ontology entity type.
14 . The computer system of claim 12 , the executing comprising:
accessing distinct object databases of the first group of object databases to access distinct properties of the first ontology entity type;
merging results of accessing the distinct object databases.
15 . The computer system of claim 12 , the selecting comprising estimating a performance of each object database of the first group of object databases in serving a call of a particular function of the set of functions by limiting an amount of data to be returned from calling the particular function.
16 . The computer system of claim 12 ,
determining the first ontology entity type comprising identifying a set of properties of the first ontology entity type,
the representation of the first ontology entity type including representation of the set of properties of the first ontology entity type.
17 . The computer system of claim 16 ,
a first object database of the first group of object databases representing a particular property of the set of properties of the first ontology entity type in uncompressed or indexed form,
a second object database of the first group of object databases representing the particular property in archived or encrypted form.
18 . The computer system of claim 16 ,
the selecting comprising matching the functional information of the specific object database with metadata of a particular function of the set of functions,
the functional information indicating that a column of the specific object database allows random and near real-time access,
the column corresponding to a property of the set of properties of the first ontology entity type.
19 . The computer system of claim 11 ,
a first object database of the first group of object databases being a relational database representing an ontology entity of the first ontology entity type as a row and properties of the ontology entity as columns,
a second object database of the first group of object databases being a graph database representing the ontology entity as a node and links connected to the ontology entity as edges.
20 . The computer system of claim 11 , the selecting comprising confirming that the specific object database has a latest version of an ontology entity of the first ontology entity type that is available for querying.