Skip to main content
Log in

The Functional Data Model as the Basis for an Enriched Database Query Language

  • Published:
Journal of Intelligent Information Systems Aims and scope Submit manuscript

Abstract

Conventional database languages rely on the user specifying what relations are to be used when evaluating a query. Consequently they preclude queries which involve searching for unspecified connections or associations in the database. In this paper we present Hydra, a functional language with all the facilities to define, update and query a database, which also enables users to carry out “associational” queries. Hydra uses a graph-based data model in which nodes represent values or entities and arcs the relationships between them. Associational facilities are made possible by the provision of built-in functions which find paths through the database graph. The mappings between sets of nodes in the database graph are represented as functions at the Hydra language level and it is as lists of such functions that associational results are returned. The use of a functional language is important since such languages allow functions to be returned as results; such an approach could not be adopted in a logic-based language which would not permit predicates to be returned as answers. Hydra also allows users to define general computational functions which are not considered to form part of the database. This use of two sets of functions achieves a computationally complete system which extends the query power of previous database systems without compromising their expressive or query power.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Abreu, R. (1995). A Visual Query Interface to the Associational Functional Database Language Hydra. Master' thesis, Birkbeck College, University of London.

  • Ayres, R. and Abreu, R. (1997). VisualQ: A Graphical Interface to Facilitate Database Exploration. Submitted for Publication.

  • Ayres, R. and King, P.J.H. (1995). Entities, Functions, and Surrogates in Functional Database Languages. In B. Werner (Ed.), Proceedings of Basque International Conference on Information Technology, BIWIT 95. San Sebastian, Spain: IEEE Computer Society Press.

    Google Scholar 

  • Ayres, R. and King, P.J.H. (1996). Querying Graph Databases Using a Functional Language Extended with Second Order Facilities. In R. Morrison and J. Kennedy (Eds.), Advances in Databases, 14th British National Conference on Databases, BNCOD14. Edinburgh, UK: Springer-Verlag.

    Google Scholar 

  • Buneman, P. and Frankel, R.E. (1979). FQL—A Functional Query Language. In P.A. Bernstein (Ed.), Proceedings ACM SIGMOD 79 Conference (pp. 52–58). ACM.

  • Codd, E.F. (1979). Extending the Database Relational Model to Capture More Meaning. ACM Transactions on Database Systems, 4(4), 397–434.

    Google Scholar 

  • Consens, M.P. and Mendelzon, A.O. (1990). GraphLog: A visual formalism for real life recursion. Proceedings of the Ninth ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems (pp. 404–416).

  • Consens, M.P. and Mendelzon, A.O. (1993). Hy+: A hygraph-based query and visualisation system. Proceedings of the 1993 ACM SIGMOD International Conference on the Management of Data (pp. 511–516). ACM Press.

  • Güting, R.H. (1994). GraphDB: Modelling and querying graphs in databases. Proceedings of the 20th International Conference on Very Large Data Bases. Santiago, Chile.

  • Jones, P.S.L. (1987). The Implementation of Functional Programming Languages, Prentice-Hall International.

  • Kent, W. (1979). Limitations of Record-Based Information Models. ACM Transactions on Database Systems, 4(1), 107–131.

    Google Scholar 

  • Kulkarni, K.G. and Atkinson, M.P. (1986). EFDM: Extended Functional Data Model. The Computer Journal, 29, 38–46.

    Google Scholar 

  • Milner, R. (1978). A Theory of Type Polymorphism in Programming. Journal of Computer and System Science, 17(3), 348–375.

    Google Scholar 

  • Poulovassilis, A. and King, P.J.H. (1990). Extending the functional data model to computational completeness. Proceedings of EDBT'90 (vol. LNCS 416, pp. 75–91). Venice, Italy: Springer-Verlag.

    Google Scholar 

  • Shipman, D. (1981). The Functional Model and the Data Language DAPLEX. ACM Transactions on Database Systems, 6(1), 140–173.

    Google Scholar 

  • Turner, D.A. (1985). Miranda: A Non-Strict Functional Language with Polymorphic Types. In J.P. Jouannaud (Ed.), Functional Programming Languages and Computer Architectures. Springer-Verlag. Lecture Notes in Computer Science No. 201.

  • Wasserman, S. and Faust, K. (1994). Social Network Analysis: Methods and Applications. Cambridge University Press.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Ayres, R. The Functional Data Model as the Basis for an Enriched Database Query Language. Journal of Intelligent Information Systems 12, 139–164 (1999). https://doi.org/10.1023/A:1008700925537

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1008700925537

Navigation