An effective representation of complex clauses in a relational database

作者:

Highlights:

摘要

A mechanism for storing and retrieving arbitrary complex PROLOG clauses from a relational database is presented. This mechanism can be used to implement a filter module that sits on top of the database management system (DBMS) and offers clause retrieval functions to the PROLOG interpreter. The filter module accepts arbitrary complex goal literals as input and returns all clauses (potentially) matching the goal.The presented mechanism is able to handle ground and non-ground facts as well as rules. For clause retrieval it derives search predicates from the constants of goal literals as well as multiple occurrences of goal variables.The presented method is flexible enough to support a wide range of filter selectivity, i.e. it can be used to implement highly-selective as well as arbitrary coarse filters. The structures needed to represent clauses in the DBMS are simple: each clause is entirely stored in a single tuple, which also contains all information needed for selection purposes. To retrieve the clauses matching a given goal, one DBMS query operating on a single table is to be executed, independent of the complexity of the stored clauses and the degree of selectivity provided by the filter.

论文关键词:

论文评审过程:Received 13 May 1988, Revised 28 July 1989, Available online 10 June 2003.

论文官网地址:https://doi.org/10.1016/0306-4379(90)90049-U