A Prolog interface to a Functional Data Model database

  • Peter MD Gray
  • David S Moffat
  • Norman W Paton
Databases And Logic
Part of the Lecture Notes in Computer Science book series (LNCS, volume 303)


This paper describes a new database architecture for the manipulation of objects, based on an extended version of Prolog with modules. The modules permit the entity classes of the Functional Data Model to be viewed as Abstract Data Types to which methods stored in the modules can be applied. The database is stored as linked structures in a persistent heap. This architecture facilitates the use of Prolog as a navigational query language which can explore relationships in an object-oriented database.


Integrity Constraint Entity Class Abstract Data Type Persistent Data Entity Instance 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

7. References

  1. [Atkinson 83]
    Atkinson, M.P., Bailey, P.J., Chisholm, K.L., Cockshott, W.P. & Morrison, R., "An Approach to Persistent Programming", The Computer Journal, 26, 4.Google Scholar
  2. [Atkinson 84]
    Atkinson, M.P. & Kulkarni, K.G., "Experimenting With The Functional Data Model" in "Databases — Role and Structure", Stocker, Gray & Atkinson (eds), Cambridge University Press.Google Scholar
  3. [Bocca 86]
    Bocca, J.. "On the EvaluationStrategy of EDUCE", Proc. ACM SIGMOD 86, Zaniolo (ed).Google Scholar
  4. [Bratko 86]
    Brakto, I., "Prolog Programming for Artificial Intelligence", Addison-Wesley.Google Scholar
  5. [Clocksin 81]
    Clocksin, W.F. & Mellish, C.S.. "Programming in Prolog", Springer-Verlag.Google Scholar
  6. [Cockshott 87]
    Cockshott, W.P.. "Persistent Object Store Hardware and Software Interfaces", Proc. 2nd Workshop of SIGKME, Brunel University.Google Scholar
  7. [Dittrich 86]
    Dittrich, K.R.. "Object-oriented Database Systems: the Notion and the Issues". Proc. International Workshop on Object-Oriented Database Systems, Dittrich & Dayal (eds).Google Scholar
  8. [Gallaire 84]
    Gallaire, H., Minker, J. & Nicolas, J.-M.. "Logic and Databases: A Deductive Approach"; ACM Computing Surveys, Vol 16, No.2.Google Scholar
  9. [Gray 83]
    Gray, P.M.D. & Moffat, D.S.. "Manipulating Descriptions of Programs for Database Access", Proc. Eighth International Joint Conference on Artificial Intelligence, IJCAI-83 (Karlsruhe), A. Bundy (ed.), 21–24.Google Scholar
  10. [Gray 85]
    Gray, P.M.D.. "Efficient Prolog Access to Codasyl and FDM Databases", Proc. ACM SIGMOD 1985, ed. S. Navathe, pp 437–443.Google Scholar
  11. [Gray 87]
    Gray, P.M.D., "Integration of Databases and Expert Systems Through Prolog", presented at AI Conference, San Sebastian (Sept 87).Google Scholar
  12. [Maier 84]
    Maier, D., "Databases in the Fifth Generation Project: Is Prolog a Database Language?", in "New Directions For Database Systems", Ariav & Clifford (eds), Abtex.Google Scholar
  13. [Moffat 86]
    Moffat, D.S. & Gray, P.M.D., "Interfacing Prolog to a Persistent Data store", 3rd International Conf. on Logic Programming, London, ed. E.Shapiro, 1986.Google Scholar
  14. [Moffat 88a]
    Moffat, D.S. & Gray, P.M.D.. "Perlog: A Prolog with Persistence and Modules", To be published in The Computer Journal.Google Scholar
  15. [Moffat 88b]
    Moffat, D.S., "Modular Commitment in Persistent Prolog", to be published in "Prolog and Databases: Implementation and Applications", Gray & Lucas (eds), Ellis Horwood.Google Scholar
  16. [Paton 88]
    Paton, N.W. & Gray, P.M.D.. "An Object-Oriented Database for Storage and Analysis of Protein Structure Data", to be published in "Prolog and Databases: Implementations and Applications", Gray & Lucas (eds), Ellis Horwood.Google Scholar
  17. [Pereira 83]
    Pereira, F., Warren, D., Bowen, D., Byrd, L. & Pereira, L.. "C-Prolog User's Manual", EdCAAD, Dept of Architecture, Univ. of Edinburgh.Google Scholar
  18. [Rawlings 85]
    Rawlings, C.J., Taylor, W.R., Nyakairu, J., Fox, J. & Sternberg, M.J.E., "Using Prolog To Represent and Reason about Protein Structure", Proc. 3rd International Conf. on Logic Programming, Shapiro (ed).Google Scholar
  19. [Shipman 79]
    Shipman, D.. "The Functional Data Model and the Data Language DAPLEX", SIGMOD 79 Conf, revised version, ACM TODS, 6, 140–173.Google Scholar
  20. [Szeredi 82]
    Szeredi, P.. "Module Concepts for Prolog", SZKI, 1251 Budapest P.O.B. 19.Google Scholar
  21. [Warren 81]
    Warren, D.H.D.. "Efficient Processing of Interactive Relational Database Queries expressed in Logic", Proc. 7th VLDB conference, Cannes, 272–281, 1981.Google Scholar
  22. [Zaniolo 84]
    Zaniolo, C.. "Prolog: A Database Query Language For All Seasons" in Proc. First International Workshop on Expert Database Systems, L. Kerschberg (ed).Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1988

Authors and Affiliations

  • Peter MD Gray
    • 1
  • David S Moffat
    • 1
  • Norman W Paton
    • 1
  1. 1.Department of Computing ScienceUniversity of AberdeenScotland

Personalised recommendations