Type inference methods and performance for data in an RDBMS

  • Authors:
  • Peter McBrien;Nikos Rizopoulos;Andrew Charles Smith

  • Affiliations:
  • Imperial College London, London, England;Imperial College London, London, England;Imperial College London, London, England

  • Venue:
  • SWIM '12 Proceedings of the 4th International Workshop on Semantic Web Information Management
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

In this paper we survey and measure the performance of methods for reasoning using OWL-DL rules over data stored in an RDBMS. OWL-DL Reasoning may be broken down into two processes of classification and type inference. In the context of databases, classification is the process of deriving additional schema constructs from existing schema constructs in a database, while type inference is the process of inferring values for tables/columns from values in other tables/columns. Thus it is the process of type inference that is the focus of this paper, since as data values are inserted into a database, there is the need to use the inserted data to derive new facts. The contribution of this paper is that we place the existing methods for type inference over relational data into a new general framework, and classify the methods into three different types: Application Based Reasoning uses reasoners outside of the DBMS to perform type inference, View Based Reasoning uses DBMS views to perform type inference, and Trigger Based Reasoning uses DBMS active rules to perform type inference. We discuss the advantages of each of the three methods, and identify a list of properties that each method might be expected to meet. One key property we identify is transactional reasoning, where the result of reasoning is made available within a database transaction, and we show that most reasoners today fail to have this property. We also present the results of experimental analysis of representative implementations of each of the three methods, and use the results of the experiments to justify conclusions as to when each of the methods discussed is best deployed for particular classes of application.