On expert database systems (abstract)
暂无分享,去创建一个
A deductive or expert database system (EDS) is the product of the combination of a logic programming system (LPS) and a database management systems (DBMS).
One approach in designing an EDS would be to add database facilities in a LPS by implementing new predicates. For example, the basic relational algebra operations union, intersection, join, selection, projection and hence relational DML can be implemented in PROLOG ([2]). Unfortunately, other aspects of a DBMS, like DDL, concurrency, sophisticated indexing, security, data integrity and query optimization are very difficult to implement in a logic programming environment like PROLOG.
Another difficulty is that most LPS are in-memory systems, i.e. all information is loaded in memory before execution. No storage management concurs unless the operating system supports paging.
An interface between an existing DBMS and a LPS seems to provide a solution ([1]). We present such an interface and a method of storing both facts and rules in the DB MS, if the size of the knowledge base is prohibitive.
For a small size database, we could simply retrieve all the relations which correspond to rule predicates before execution. But if we deal with very large amounts of information we need the secondary storage management capabilities of a DBMS. To reduce communication cost, we propose a technique which allows us to avoid repeating the same database query every time a predicate needs to go through unification.