Skip to main content

Design overview of the NAIL! System

  • Conference paper
  • First Online:
Third International Conference on Logic Programming (ICLP 1986)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 225))

Included in the following conference series:

Abstract

We describe the design decisions made for the NAIL! (not another implementation of logic!) system, an advanced form of DBMS where queries may involve a large collection of Prolog-like rules used for query interpretation. A discussion of the ways NAIL! semantics differs from Prolog is followed by an exposition of the principal ideas in the system design. These points include the partition of predicates into strongly connected components to represent the structure of recursions and the “capture rule” organization for selecting query processing strategies. Other ideas include the way distinctions between bound and free arguments are capitalized upon and the persistence of previously discovered facts about the way to handle certain queries. We also survey the recent work on the processing of recursively defined queries conducted by the NAIL! group and others with similar computational models.

Work supported by NSF grant IST-84-12791 and a grant of IBM Corp.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. F. Afrati, C. Papadimitriou, G. Papageorgiou, A. R. Roussou, Y. Sagiv, and J. D. Ullman, “Convergence of Sideways Query Evaluation,” Proc. Fifth ACM Symposium on Principles of Database Systems, pp. 24–30, 1986.

    Google Scholar 

  2. K. R. Apt and M. H. Van Emden, “Contributions to the theory of logic programming,” J. ACM 29:3, pp. 841–862, 1982.

    Google Scholar 

  3. F. Bancilhon, D. Maier, Y. Sagiv, and J. Ullman, “Magic sets and other strange ways to implement logic programs,” Proc. Fifth ACM Symposium on Principles of Database Systems, pp. 1–15, 1986.

    Google Scholar 

  4. F. Bancilhon and R. Ramakrishnan, “An amateur's introduction to recursive query processing strategies,” to appear in the proceedings of the 1986 SIGMOD Conf. on Management of Data, May, 1986.

    Google Scholar 

  5. A. K. Chandra and D. Harel, “Horn clauses and the fixpoint hierarchy,” Proc. Second ACM Symposium on Principles of Database Systems, pp. 158–163, 1982.

    Google Scholar 

  6. L. J. Henschen and S. A. Naqvi, “On compiling queries in recursive firstorder databases,” J. ACM 31:1, pp. 47–85, 1984.

    Google Scholar 

  7. Y. E. Ioannidis, “Bounded recursion in deductive databases,” UCB/ERL M85/6, Dept. of EECS, UC Berkeley, Feb., 1985.

    Google Scholar 

  8. M. Kifer and E. L. Lozinskii, “Query optimization in logical databases,” unpublished memorandum, Dept. of CS, SUNY, Stony Brook, NY, 1985.

    Google Scholar 

  9. E. L. Lozinskii, “Inference by generating and structuring deductive databases,” Proc. Ninth Intl. Joint Conf. on AI, pp. 173–177, 1985.

    Google Scholar 

  10. D. McKay and S. Shapiro, “Using active connection graphs for reasoning with recursive rules,” Proc. Seventh Intl. Joint Conf. on AI, pp. 368–374, 1981.

    Google Scholar 

  11. L. Naish, “Negation and control in Prolog,” Ph. D. thesis, Univ. of Melbourne, 1985.

    Google Scholar 

  12. J. F. Naughton, “Data independent recursion in deductive databases,” Proc. Fifth ACM Symposium on Principles of Database Systems, pp. 267–279, 1986.

    Google Scholar 

  13. J. F. Naughton, “Optimizing function-free recursive inference rules,” Dept. of CS, Stanford Univ., to appear.

    Google Scholar 

  14. Y. Sagiv and J. D. Ullman, “Complexity of a top-down capture rule,” STAN-CS-84-1009, Stanford Univ., 1984.

    Google Scholar 

  15. J. D. Ullman, Principles of Database Systems, Computer Science Press, Rockville, Md., 1982.

    Google Scholar 

  16. J. D. Ullman, “Implementation of logical query languages for databases,” ACM Trans. on database Systems 10:3, pp. 289–321, 1985

    Google Scholar 

  17. J. D. Ullman and A. Van Gelder, “Testing applicability of top-down capture rules,” STAN-CS-1046, Stanford Univ., 1985.

    Google Scholar 

  18. A. Van Gelder, “A message passing framework for logical query evaluation,” to appear in the proceedings of the 1986 SIGMOD Conf. on Management of Data, May, 1986.

    Google Scholar 

  19. A. Van Gelder, “Negation as failure using tight derivations for general logic programs,” unpublished memorandum, Stanford Univ., 1986.

    Google Scholar 

  20. M. H. Van Emden and R. A. Kowalski, “The semantics of predicate logic as a programming language,” J. ACM 23:4, pp. 733–742, 1976.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Ehud Shapiro

Rights and permissions

Reprints and permissions

Copyright information

© 1986 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Morris, K., Ullman, J.D., Van Gelder, A. (1986). Design overview of the NAIL! System. In: Shapiro, E. (eds) Third International Conference on Logic Programming. ICLP 1986. Lecture Notes in Computer Science, vol 225. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-16492-8_104

Download citation

  • DOI: https://doi.org/10.1007/3-540-16492-8_104

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-16492-0

  • Online ISBN: 978-3-540-39831-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics