Ontology-based graph query optimization

US11461318B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11461318-B2
Application numberUS-201715445228-A
CountryUS
Kind codeB2
Filing dateFeb 28, 2017
Priority dateFeb 28, 2017
Publication dateOct 4, 2022
Grant dateOct 4, 2022

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.

Examples of the present disclosure describe systems and methods for ontology-based graph query optimization. In an example, ontology data relating to a graph or isolated collection may be collected. The ontology data may comprise uniqueness and topology information and may be used to reformulate a query in order to yield a query that is more performant than the original query when retrieving target information from a graph. In an example, reformulating a query may comprise reordering one or more parameters of the query relating to resources, relationships, and/or properties based on uniqueness information. In another example, the query may be reformulated by modifying the resource type to which the query is anchored based on the topology information. The reformulated query may then be executed to identify target information in the isolated collection, thereby identifying the same target information as the original query, but in a manner that is more performant.

First claim

Opening claim text (preview).

What is claimed is: 1. A system comprising: at least one processor; and a memory storing instructions that when executed by the at least one processor perform a set of operations comprising: receiving a query for data stored in an isolated collection, wherein the query comprises a plurality of parameters; accessing ontology data relating to data in the isolated collection, wherein the ontology data comprises uniqueness data relating to the data in the isolated collection; identifying, using at least the uniqueness data, a level of uniqueness for each of the parameters; determining, for each of the parameters, a query order based on the uniqueness data identified for the parameter; generating a revised query based on the received query, wherein the revised query is comprised of the parameters in the determined query order; and executing the revised query to identify data in the isolated collection associated with the revised query. 2. The system of claim 1 , wherein the ontology data further comprises topology data, and the set of operations further comprises: identifying an anchor and one or more resource types for the query, wherein the anchor relates to at least one of the one or more resource types; identifying, using the topology data, an average number of relationships for each of the one or more resource types; and determining, using the average number of relationships for each of the one or more resource types, whether the anchor for the query should relate to a different group of one or more of the one or more of resource types. 3. The system of claim 2 , wherein generating the revised query further comprises: when it is determined that the anchor query should relate to a different group of one or more of the one or more resource types, generating the revised query such that the different group of one or more of the one or more resource types relates to the anchor of the more performant query. 4. The system of claim 1 , wherein the isolated collection is associated with a related isolated collection, and the ontology data was generated using the related isolated collection. 5. The system of claim 1 , wherein the ontology data is updated when data in the isolated collection is at least one of added, modified, and deleted. 6. The system of claim 1 , wherein the ontology data is updated periodically. 7. The system of claim 1 , wherein the revised query is more efficient than the received query when executed to identify data in the isolated collection. 8. A computer-implemented method for revising a query for data stored in an isolated collection, the method comprising: receiving a query for data stored in an isolated collection; identifying an anchor and a plurality of resource types for the query, wherein the anchor is at least one of the resource types; accessing ontology data relating to data in the isolated collection, wherein the ontology data comprises topology data; identifying, using the topology data, an average number of relationships for each of the resource types; determining, using the average number of relationships for each of the resource types, whether the anchor for the query should be a different group of one or more of the resource types; when it is determined that the anchor query should be a different group of resource types, generating a revised query such that the different group of resource types is a new anchor for the revised query; and executing the revised query to identify data in the isolated collection associated with the revised query. 9. The computer-implemented method of claim 8 , wherein the ontology data further comprises uniqueness data, the method further comprising: identifying one or more parameters of the query; identifying, using the uniqueness data, a level of uniqueness for each of the one or more parameters; and determining, for each of the one or more parameters, a query order based on the uniqueness data identified for the parameter. 10. The computer-implemented method of claim 9 , wherein generating the revised query further comprises reformulating the query such that one or more parameters of the revised query are in the determined query order. 11. The computer-implemented method of claim 8 , wherein the isolated collection is associated with a related isolated collection, and the ontology data was generated from the related isolated collection. 12. The computer-implemented method of claim 8 , wherein the ontology data is updated when data in the isolated collection is at least one of added, modified, and deleted. 13. The computer-implemented method of claim 8 , wherein the ontology data is updated periodically. 14. The computer-implemented method of claim 8 , wherein the ontology data is stored in a PATRICIA tree. 15. A method for generating a revised query for data stored in an isolated collection, the method comprising: receiving a query for data stored in an isolated collection, wherein the query comprises a plurality of parameters; accessing ontology data relating to data in the isolated collection, wherein the ontology data comprises uniqueness data relating to the data in the isolated collection; identifying, using at least the uniqueness data, a level of uniqueness for each of the parameters; determining, for each of the parameters, a query order based on the uniqueness data identified for the parameter; generating a revised query based on the received query, wherein the revised query is comprised of the parameters in the determined query order; and executing the revised query to identify data in the isolated collection associated with the revised query. 16. The method of claim 15 , wherein the ontology data further comprises topology data, and the method further comprises: identifying an anchor and one or more resource types for the query, wherein the anchor relates to at least one of the one or more resource types; identifying, using the topology data, an average number of relationships for each of the one or more resource types; and determining, using the average number of relationships for each of the one or more resource types, whether the anchor for the query should relate to a different group of one or more of the one or more of resource types. 17. The method of claim 16 , wherein generating the revised query further comprises: when it is determined that the anchor query should relate to a different group of one or more of the one or more resource types, generating the more performant query such that the different group of one or more of the one or more resource types relates to the anchor of the more performant query. 18. The method of claim 15 , wherein the isolated collection is associated with a related isolated collection, and the ontology data was generated using the related isolated collection. 19. The method of claim 15 , wherein the ontology data is updated when data in the isolated collection is at least one of added, modified, and deleted. 20. The method of claim 15 , wherein the revised query is more efficient than the received query when executed to identify data in the isolated collection.

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 US11461318B2 cover?
Examples of the present disclosure describe systems and methods for ontology-based graph query optimization. In an example, ontology data relating to a graph or isolated collection may be collected. The ontology data may comprise uniqueness and topology information and may be used to reformulate a query in order to yield a query that is more performant than the original query when retrieving ta…
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G06F16/2453. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 04 2022 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 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).