This work is focused on extending database methodology, so that even more complex problems than these specified in Chapter 2 can be smoothly approached keeping SQL as outermost communication technology.
These problems were tackled by introducing rule-based processing to the database systems.
In general, classes C1 and C2, specified in Chapter 2, cover many different problems such as: plan generation, searching for acceptable or optimal solutions, analysis of structures, design of structural object solutions, decision support systems, constraint programming problems.
Generic formulation of such problems was given (see Section2.3 and Section 2.4).
Functionality of Relational Database was significantly extended towards solving recursive queries and searching for admissible solutions through integrating the proposed technology into a database.
Moreover, using this technology enabled general rule-based processing within Relational Databases.
A methodology of embedding Logic Programming into Relational Databases with some minimal overhead concerning software technology was described and the technology itself was developed and implemented.
Its main component is called a Jelly View.
It was based on integration of the Prolog inference engine with the database.
A prototype system, called ReDaReS was implemented and its properties were tested.
Example real problems of classes C1 and C2 were also presented and solved with the Jelly View technology (see Chapter 12).
The guidelines for the solution were met:
- The original functionality of the database is preserved.
- The database is coupled with the Prolog inference engine.
- Both data and knowledge are stored within the Relational Database; no additional knowledge base is necessary.
- There are modules specified in Prolog for extending data processing features - these modules are stored by decomposing into data in the database.
- Results of the inference process which is inferred knowledge are accessible as dynamically generated SQL views; the necessary code is generated on request from components stored in the database.
- The communication method between the user and the database remains SQL.
As a result the main limitations of the Relational Database Management Systems were overcome, these are:
- lack of more sophisticated, i.e. rule-based data processing,
- traversal of structurally complex data structures (such as graphs, trees, terms, lists etc.),
- search for Admissible Solutions under specified constraints (finding specific subsets of a given set, generation of structural solutions satisfying specific constraints etc.).
The theoretical analysis and the provided implementation, and finally the analysis of example problems seemed to fully confirm the thesis which was specified in Section 2.5.
Summarizing the following goals were achieved:
- A technology called Jelly View, which is capable of extending knowledge processing capabilities of RDBMS is designed and developed (see Chapter 8).
- The technology addresses the main limitations of RDBMS (see Chapter 9) with respect to the difficulty handling recursive queries mentioned in Section 1.3.
- A prototype system called ReDaReS is implemented (see Chapter 11).
- The solution is based on introducing Intensional Knowledge to the database and coupling it with an inference engine.
- SQL remains the communication method between the user and RDBMS.
- Prolog provides the inference engine.
- Intensional Knowledge is expressed by a Prolog program.
- The Prolog program (Intensional Knowledge) is decomposed and stored in RDBMS.
- The Prolog program consists of an ordered set of rules.
- Extensional knowledge is provided by the database, it is covered by relations.
- The inferred data is generated on demand and perceived as an SQL view called a Jelly View.
- As a result, RDBMS has its functionality extended covering those of deductive databases (see Chapter 5).
- Prolog rules can be reused in different programs, so it will be possible to have logic programs sharing some of the rules.
- The database remains a uniform source of data and knowledge.
- The Jelly View technology enables modular programming; for such programming no knowledge of Prolog language is necessary.
- The same communication method, which is SQL, is used to create, alter or delete both extensional and intensional data.
There are also some technical issues concerning the way how the prototype system was implemented, these are:
- ReDaReS can be applied to any database system which uses ODBC as the communication protocol.
- It could be applied to existing database systems (no RDBMS modification is necessary); the transition is not noticeable to the users which do not need extended capabilities.
- The system is scalable, the inference engine may run on a machine different than the database does, which allows load distribution.
The ReDaReS system, which implements Jelly View technology, has been experimentally used in the Computer Science Department, University of Southern Illinois Edwarsville, USA.
The work was started as a part of the Regulus Project13.1, which is titled: ``Formal methods and tools for computer-aided analysis and design of databases and knowledge-based systems''.
Igor Wojnicki
2005-11-07