XSB as an efficient deductive database engine
- 24 May 1994
- journal article
- Published by Association for Computing Machinery (ACM) in ACM SIGMOD Record
- Vol. 23 (2) , 442-453
- https://doi.org/10.1145/191843.191927
Abstract
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)[4], 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 meta-interpreter 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 [25], the most common Prolog engine. XSB inherits the WAM's efficiency and can take advantage of extensive compiler technology developed for Prolog. As a result, performance comparisons indicate that XSB is significantly faster than other deductive database systems for a wide range of queries and stratified rule sets. XSB is under continuous development, and version 1.3 is available through anonymous ftp.Keywords
This publication has 12 references indexed in Scilit:
- HiLog: A foundation for higher-order logic programmingThe Journal of Logic Programming, 1993
- An alternating fixpoint tailored to magic programsPublished by Association for Computing Machinery (ACM) ,1993
- Query evaluation under the well-founded semanticsPublished by Association for Computing Machinery (ACM) ,1993
- Backchain iteration: Towards a practical inference method that is simple enough to be proved terminating, sound, and completeJournal of Automated Reasoning, 1993
- Memoing for logic programsCommunications of the ACM, 1992
- High-performance logic programming with the Aquarius Prolog compilerComputer, 1992
- The well-founded semantics for general logic programsJournal of the ACM, 1991
- Modular stratification and magic sets for DATALOG programs with negationPublished by Association for Computing Machinery (ACM) ,1990
- The LDL system prototypeIEEE Transactions on Knowledge and Data Engineering, 1990
- Implementation of logical query languages for databasesACM Transactions on Database Systems, 1985