Ontology Query Execution Planning Under Access-Control Constraints
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems struggle to efficiently manage and query ontology-based databases while supporting access control and data representation across multiple forms, leading to suboptimal performance and data processing inefficiencies.
Innovation Solution
A system that transforms ontology queries into database queries, selects appropriate databases for execution, and determines an optimal execution plan by estimating data processing using sampling, considering access controls and database capabilities.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If ontology queries are transformed into database queries with multiple joins, then query functionality is improved, but query execution performance deteriorates
Solution Approach 1:
The system performs preliminary actions by pre-computing and caching intermediate query results, especially for frequently accessed ontology entities. Execution plans are pre-generated and cached for common query patterns, allowing the system to rapidly respond to ontology queries without performing expensive join operations in real-time.
Solution Approach 2:
The system segments ontology queries into multiple independent database queries that can be executed in parallel. Complex ontology queries are broken down into smaller sub-queries operating on different database tables, with results combined through efficient join operations. This segmentation reduces the computational burden of any single query execution.
2Adaptability or versatility
If data is represented in multiple forms across different databases, then data accessibility is improved, but system complexity increases
Solution Approach 1:
The system implements a universal query interface that can handle multiple database types (relational, graph, document) through a single ontology query language. The query transformation engine automatically adapts ontology queries to the specific capabilities and data models of different database systems, providing multi-functionality without requiring separate interfaces for each database type.
Solution Approach 2:
The system introduces an intermediary layer consisting of the query transformation engine and execution plan generator that mediates between the ontology query interface and the underlying diverse database systems. This intermediary handles the complexity of data representation in multiple forms by automatically transforming and coordinating queries across different database types, shielding users from system complexity.
3Reliability
If access controls are implemented on ontology data, then security is improved, but query processing time increases
Solution Approach 1:
The system performs preliminary access control checks by pre-evaluating user permissions against ontology entities and relationships before executing full query processing. Access control policies are cached and applied during query transformation, allowing the system to quickly determine which data portions require processing and which can be excluded, reducing overall query processing time while maintaining security.
Data Source
AI summary
A system for query execution planning over ontology-based databases and related methods are disclosed. The system is programmed to receive an ontology query from a user account against an ontology having access controls, and transform the ontology query into a set of database queries, including a plurality of joins. The system is programmed to compute the amounts of data processing associated with executing the plurality of joins in different orders on a sample of the databases representing the ontology, considering how much data in the ontology can be accessed by the user account under the access controls, and determine an execution plan corresponding to a preferred amount of data processing. Furthermore, the system is programmed to execute the set of database queries on the databases according to the execution plan, and transmit a reply to the ontology query to the user device based on a result of the execution.


