Results 1 - 10
of
30
XSB as an Efficient Deductive Database Engine
- In Proceedings of the ACM SIGMOD International Conference on the Management of Data
, 1994
"... This paper describes the XSB system, and its use as an in-memory deductive database engine. XSB began from a Prolog foundation, and traditional Prolog systems are known to have serious deficiencies when used as database systems. Accordingly, XSB has a fundamental bottom-up extension, introduced thro ..."
Abstract
-
Cited by 200 (31 self)
- Add to MetaCart
This paper describes the XSB system, and its use as an in-memory deductive database engine. XSB began from a Prolog foundation, and traditional Prolog systems are known to have serious deficiencies when used as database systems. Accordingly, XSB has a fundamental bottom-up extension, introduced through tabling (or memoing) [5], which makes it appropriate as an underlying query engine for deductive database systems. Because it eliminates redundant computation, the tabling extension makes XSB able to compute all modularly stratified datalog programs finitely and with polynomial data complexity. For non-stratified programs, a metainterpreter with the same properties is provided. In addition XSB significantly extends and improves the indexing capabilities over those of standard Prolog. Finally, its syntactic basis in HiLog [2], lends it flexibility for data modelling. The implementation of XSB derives from the WAM, the most common Prolog engine. XSB inherits the WAM's efficiency and can ta...
A Survey of Research on Deductive Database Systems
- JOURNAL OF LOGIC PROGRAMMING
, 1993
"... The area of deductive databases has matured in recent years, and it now seems appropriate to re ect upon what has been achieved and what the future holds. In this paper, we provide an overview of the area and briefly describe a number of projects that have led to implemented systems. ..."
Abstract
-
Cited by 90 (4 self)
- Add to MetaCart
The area of deductive databases has matured in recent years, and it now seems appropriate to re ect upon what has been achieved and what the future holds. In this paper, we provide an overview of the area and briefly describe a number of projects that have led to implemented systems.
The Aditi deductive database system
- VLDB Journal
, 1994
"... Abstract. Deductive databases generalize relational databases by providing sup-port for recursive views and non-atomic data. Aditi is a deductive system based on the client-server model; it is inherently multi-user and capable of exploiting par-allelism on shared-memory multiprocessors. The back-end ..."
Abstract
-
Cited by 52 (7 self)
- Add to MetaCart
Abstract. Deductive databases generalize relational databases by providing sup-port for recursive views and non-atomic data. Aditi is a deductive system based on the client-server model; it is inherently multi-user and capable of exploiting par-allelism on shared-memory multiprocessors. The back-end uses relational tech-nology for efficiency in the management of disk-based data and uses optimization algorithms especially developed for the bottom-up evaluation of logical queries involving recursion. The front-end interacts with the user in a logical language that has more expressive power than relational query languages. We present the structure of Aditi, discuss its components in some detail, and present performance figures.
Efficient Tabling Mechanisms for Logic Programs
- PROCEEDINGS OF THE 12TH INTERNATIONAL CONFERENCE ON LOGIC PROGRAMMING
, 1995
"... The use of tabling in logic programming allows bottom-up evaluation to be incorporated in a top-down framework, combining advantages that accrue from both. At the engine level, tabling also introduces complications not present in pure top-down evaluation, due to the need for subgoals and answers to ..."
Abstract
-
Cited by 40 (7 self)
- Add to MetaCart
The use of tabling in logic programming allows bottom-up evaluation to be incorporated in a top-down framework, combining advantages that accrue from both. At the engine level, tabling also introduces complications not present in pure top-down evaluation, due to the need for subgoals and answers to access tables during clause resolution. This paper describes the design, implementation, and experimental evaluation of data structures and algorithms for highperformance table access. Our approach uses tries as the basis for tables. Tries provide complete discrimination for terms, and permit a lookup and possible insertion to be performed in a single pass through a term. A novel technique of substitution factoring is also proposed. When substitution factoring is used in conjunction with tries, the access cost for answers is proportional to the size of the answer substitution, rather than to the size of the answer itself. As a special case, the access cost of answers to a datalog query is pr...
Magic Sets and Bottom-up Evaluation of Well-Founded Models
- In Vijay Saraswat and Kazunori Ueda, editors, Proceedings of the 1991 Int. Symposium on Logic Programming
, 1991
"... We present a bottom-up operational procedure for computing well-founded models of allowed DATALOG programs with negation. This procedure provides a practical method of handling programs that involve unstratified negation in a manner that may be mixed with other evaluation approaches, such as semi-na ..."
Abstract
-
Cited by 32 (10 self)
- Add to MetaCart
We present a bottom-up operational procedure for computing well-founded models of allowed DATALOG programs with negation. This procedure provides a practical method of handling programs that involve unstratified negation in a manner that may be mixed with other evaluation approaches, such as semi-naive evaluation. We also define classes of programs and sips for which the magic sets transformation preserves well-founded models with respect to the query. The class of programs and sips we consider strictly subsume those already considered in the literature, and include stratified programs (with any choice of sips), modularly stratified programs (with left-to-right sips) and programs with three-valued well-founded models (with well-founded sips). For these programs and sips, our procedure for computing well-founded models is applicable to the magic programs, thus allowing increased efficiency by specializing a program for a query. 1 Introduction Much research has been done in recent year...
Join Algorithm Costs Revisited
- VLDB Journal
, 1996
"... A method of analysing join algorithms based upon the time required to access, transfer and perform the relevant CPU based operations on a disk page is proposed. The costs of variations of several of the standard join algorithms, including nested block, sort-merge, GRACE hash and hybrid hash, are pre ..."
Abstract
-
Cited by 27 (3 self)
- Add to MetaCart
A method of analysing join algorithms based upon the time required to access, transfer and perform the relevant CPU based operations on a disk page is proposed. The costs of variations of several of the standard join algorithms, including nested block, sort-merge, GRACE hash and hybrid hash, are presented. For a given total buffer size, the cost of these join algorithms depends on the parts of the buffer allocated for each purpose (for example, when joining two relations using the nested block join algorithm the amount of buffer space allocated for the outer and inner relations can significantly affect the cost of the join). Analysis of expected and experimental results of various join algorithms show that a combination of the optimal nested block and optimal GRACE hash join algorithms usually provide the greatest cost benefit. Algorithms to quickly determine the buffer allocation producing the minimal cost for each of these algorithms are presented. 1 Introduction In the past, the ...
Bottom-up Evaluation and Query Optimization of Well-Founded Models
- Theoretical Computer Science
, 1995
"... We present a bottom-up operational procedure for computing well-founded models of allowed programs with negation. This procedure provides a practical method of handling programs that involve unstratified negation in a manner that may be mixed with other evaluation approaches, such as semi-naive eval ..."
Abstract
-
Cited by 26 (1 self)
- Add to MetaCart
We present a bottom-up operational procedure for computing well-founded models of allowed programs with negation. This procedure provides a practical method of handling programs that involve unstratified negation in a manner that may be mixed with other evaluation approaches, such as semi-naive evaluation and various program transformations. We define classes of programs and sideways information passing strategies (sips) for which the magic sets transformation preserves well-founded models with respect to the query. The classes of programs and sips we consider strictly subsume those already considered in the literature, and include stratified programs (with any choice of sips), left-to-right modularly stratified programs (with leftto -right sips) and arbitrary programs (with well-founded sips). For these programs and sips, our procedure for computing well-founded models is applicable to the rewritten programs, thus allowing increased efficiency by specializing a program for a query. Fi...
The CORAL Deductive System
- THE VLDB JOURNAL
, 1994
"... CORAL is a deductive system which supports a rich declarative language, and an interface to C++ which allows for a combination of declarative and imperative programming. The declarative query language supports general Horn clauses augmented with complex terms, set-grouping, aggregation, negation, ..."
Abstract
-
Cited by 25 (2 self)
- Add to MetaCart
CORAL is a deductive system which supports a rich declarative language, and an interface to C++ which allows for a combination of declarative and imperative programming. The declarative query language supports general Horn clauses augmented with complex terms, set-grouping, aggregation, negation, and relations with tuples that contain (universally quantified) variables. A CORAL declarative program can be organized as a collection of interacting modules. The CORAL implementation supports a wide range of evaluation strategies, and automatically chooses an efficient evaluation strategy for each module in the program. In addition, users are permitted to guide query optimization, if desired, by selecting from among a wide range of control choices at the level of each module. The CORAL system provides imperative constructs such as update, insert and delete rules. CORAL also has an interface with C++, and users can program in a combination of declarative CORAL and C++ extended with ...
An Overview of Nonmonotonic Reasoning and Logic Programming
- Journal of Logic Programming, Special Issue
, 1993
"... The focus of this paper is nonmonotonic reasoning as it relates to logic programming. I discuss the pre-history of nonmonotonic reasoning starting from approximately 1958. I then review the research that has been accomplished in the areas of circumscription, default theory, modal theories and logic ..."
Abstract
-
Cited by 23 (2 self)
- Add to MetaCart
The focus of this paper is nonmonotonic reasoning as it relates to logic programming. I discuss the pre-history of nonmonotonic reasoning starting from approximately 1958. I then review the research that has been accomplished in the areas of circumscription, default theory, modal theories and logic programming. The overview includes the major results developed including complexity results that are known about the various theories. I then provide a summary which includes an assessment of the field and what must be done to further research in nonmonotonic reasoning and logic programming. 1 Introduction Classical logic has played a major role in computer science. It has been an important tool both for the development of architecture and of software. Logicians have contended that reasoning, as performed by humans, is also amenable to analysis using classical logic. However, workers in the field of artificial 1 This paper is an updated version of an invited Banquet Address, First Interna...
Query Restricted Bottom-up Evaluation of Normal Logic Programs
- In Joint Intl. Conference and Symposium on Logic Programming
, 1992
"... Several program transformations---magic sets, envelopes, NRSU transformations and context transformations, among others---have been proposed for efficiently computing the answers to a query while taking advantage of the query constants. These transformations use sideways information passing strategi ..."
Abstract
-
Cited by 17 (6 self)
- Add to MetaCart
Several program transformations---magic sets, envelopes, NRSU transformations and context transformations, among others---have been proposed for efficiently computing the answers to a query while taking advantage of the query constants. These transformations use sideways information passing strategies (sips) to restrict bottom-up evaluation to facts potentially relevant to the query. It is of interest to extend these transformations to all logic programs with negation, and identify classes of programs and sips for which these transformations preserve well-founded models with respect to the query. In a previous paper we identified classes of programs and sips for which the magic sets transformation preserves well-founded models wrt the query. We continue this line of research to other transformations that use sips. We identify classes of programs and sips for which the context transformations and the envelopes transformations preserve well-founded models wrt the query. We also define a ...

