Transforming an ontology query to an SQL query

US11093541B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11093541-B2
Application numberUS-201615213227-A
CountryUS
Kind codeB2
Filing dateJul 18, 2016
Priority dateJul 18, 2016
Publication dateAug 17, 2021
Grant dateAug 17, 2021

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A computer-implemented method according to one embodiment includes receiving an ontology language query, receiving a mapping of an ontology to a relational database, and generating a structured query language (SQL) query, utilizing the ontology language query and the mapping of the ontology to the relational database.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method, comprising: receiving an ontology language query; receiving a mapping of an ontology to a relational database; and generating a structured query language (SQL) query, utilizing the ontology language query and the mapping of the ontology to the relational database, including in response to determining that the ontology language query includes an attribute having a NULL value, assigning a virtual type to the attribute and attempting to retrieve a value for the attribute from a parent concept in the ontology. 2. The computer-implemented method of claim 1 , wherein the ontology includes a set of concepts, a set of relations, and a set of properties. 3. The computer-implemented method of claim 1 , wherein the mapping includes one of a plurality of mapping functions that perform mapping between the ontology and the relational database. 4. The computer-implemented method of claim 1 , wherein the mapping describes how elements of the ontology are mapped to objects stored in the relational database. 5. The computer-implemented method of claim 1 , wherein generating the SQL query includes determining a type of attributes and join conditions within the ontology language query. 6. The computer-implemented method of claim 1 , wherein generating the SQL query includes directly translating the ontology language query into the SQL query in response to determining that the ontology language query includes only attributes and join conditions of a concrete type. 7. The computer-implemented method of claim 1 , wherein generating the SQL query includes, in response to determining that the ontology language query includes an attribute or a join condition of a virtual type: performing one or more transformations on one or more attributes and join conditions within the ontology language query until all attributes and join conditions of the ontology language query are of a concrete type to create a transformed ontology language query, and translating the transformed ontology language query into the SQL query. 8. The computer-implemented method of claim 7 , wherein each of the one or more transformations derives a property for an attribute from another concept connected to a concept referenced by the ontology language query through an inheritance relation or a membership relation. 9. The computer-implemented method of claim 1 , wherein generating the SQL query includes determining that the ontology language query includes a union of a plurality of ontology language queries. 10. The computer-implemented method of claim 9 , wherein generating the SQL query includes: translating each of the plurality of ontology language queries into equivalent SQL queries; adding the equivalent SQL queries to a result set; and applying a union operation on the equivalent SQL queries of the result set to generate the SQL query. 11. The computer-implemented method of claim 1 , further comprising executing the SQL query over the relational database. 12. The computer-implemented method of claim 1 , wherein generating the SQL query includes: analyzing the ontology language query by determining a type of attributes and join conditions within the ontology language query; directly translating the ontology language query into the SQL query in response to determining that the ontology language query includes only attributes and join conditions of a concrete type indicating a direct mapping between ontology elements and objects within the relational database; and in response to determining that the ontology language query includes one or more attributes and join conditions of a virtual type: performing one or more transformations on one or more attributes and join conditions within the ontology language query until all attributes and join conditions of the ontology language query are of a concrete type to create a transformed ontology language query, and directly translating the transformed ontology language query into the SQL query. 13. The computer-implemented method of claim 1 , wherein: the mapping describes how elements of the ontology are mapped to objects stored in the relational database, each concept in the ontology is mapped to a table of the relational database using a first function, properties of the ontology are mapped to corresponding fields in the relational database using a second function, where inheritance, union, and join concepts are mapped directly through the second function, and one or more relationships between concepts of the ontology are mapped to one or more constraints between tables of the relational database using a third function. 14. The computer-implemented method of claim 1 , wherein: the ontology language query references one or more concepts included within the ontology, a domain of the ontology includes one or more entities that are grouped into each of the one or more concepts included within the ontology based on a similarity of characteristics between the entities, and the ontology includes a set of relations that represent relationships between the one or more concepts included within the ontology, where the relationships include one or more associated types that indicate hierarchy and inheritance information. 15. The computer-implemented method of claim 1 , wherein: the ontology includes a domain-specific ontology, the ontology language query includes a query for data organized within the domain-specific ontology, the ontology language query references one or more concepts included within the domain-specific ontology, the ontology language query includes a set of attributes and a set of join conditions, each of the set of attributes represents a property, and each of the set of join conditions illustrate how the one or more concepts included within the domain-specific ontology are connected within the domain-specific ontology. 16. A computer program product for transforming an ontology language query to a structured query language (SQL) query, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, wherein the computer readable storage medium is not a transitory signal per se, the program instructions executable by a processor to cause the processor to perform a method comprising: receiving, utilizing the processor, the ontology language query; receiving, utilizing the processor, a mapping of an ontology to a relational database; and generating, utilizing the processor, the SQL query, utilizing the ontology language query and the mapping of the ontology to the relational database, including in response to determining that the ontology language query includes an attribute having a NULL value, assigning a virtual type to the attribute and attempting to retrieve a value for the attribute from a parent concept in the ontology. 17. The computer program product of claim 16 , wherein the ontology includes a set of concepts, a set of relations, and a set of properties. 18. The computer program product of claim 16 , wherein the mapping includes one of a plurality of mapping functions that perform mapping between the ontology and the relational database. 19. The computer program product of claim 16 , wherein the mapping describes how elements of the ontology are mapped to objects stored in the relational database. 20. The computer program product of claim 16 , wherein generating the SQL query includes determining, utilizing the processor, a type of attributes and join conditions w

Assignees

Inventors

Classifications

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11093541B2 cover?
A computer-implemented method according to one embodiment includes receiving an ontology language query, receiving a mapping of an ontology to a relational database, and generating a structured query language (SQL) query, utilizing the ontology language query and the mapping of the ontology to the relational database.
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F16/367. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 17 2021 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).