Abstract
Most applications rely on relational databases for persistence, interacting through SQL embedded in the host programming language. Such code being error-prone and hard to maintain, many proposals have been made to raise its level, mostly in the direction of deductive and/or object-oriented databases. We have put forward an alternative approach, inspired by natural language, that packs a lot of power in very concise and readable code, while relying on standard database technology. This is achieved using the flexible term syntax and deductive capabilities of logic programming, both to compile a database scheme from a high-level description, and to interpret high-level queries and commands.
In this paper we review the basic ideas of the novel approach and concentrate on the interaction language of queries and commands, formalizing its semantics on the basis of characterizing canonical database schemes. These rely on uniform notions of concept, attribute and reference, rather than the dichotomous entity-relationship model. Query and command expressions are variable-free terms, reading very naturally when appropriate nouns (rather than verbs) are chosen for all concept and attribute names. Attribute inheritance and chaining avoid many explicit joins, which are automatically derived as inner or outer joins.
Scheme-derived multi-valued global parameters can flexibly be used for implicit current values. The abstraction power is further raised by having manifold attributes, whose values may actually vary along a parametric domain, the main examples being the handling of temporal validity and multi-lingual data. Commands can also be very high-level, with simple statements possibly resulting in large transactions.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Porto, A.: An integrated information system powered by prolog. In: Dahl, V., Wadler, P. (eds.) PADL 2003. LNCS, vol. 2562, pp. 92–109. Springer, Heidelberg (2002)
Porto, A.: High-level interaction with relational databases in logic programming. In: Gill, A., Swift, T. (eds.) PADL 2009. LNCS, vol. 5418, pp. 152–167. Springer, Heidelberg (2008)
Ceri, S., Gottlob, G., Tanca, L.: Logic Programming and Databases. Springer, Heidelberg (1990)
Liu, M.: Deductive database languages: problems and solutions. ACM Comput. Surv. 31(1), 27–62 (1999)
Kifer, M., Lausen, G., Wu, J.: Logical foundations of object-oriented and frame-based languages. Journal of the ACM 42(1), 741–843 (1995)
Niemi, T., Järvelin, K.: Prolog-based meta-rules for relational database representation and manipulation. IEEE Transactions on Software Engineering 17(8), 762–788 (1991)
Lenzerini, M., Schaerf, A.: Concept languages as query languages. In: Proceedings of the 9th National Conference on Artificial Intelligence, pp. 471–476. AAAI Press / The MIT Press (1991)
Baader, F., Calvanese, D., McGuinness, D., Nardi, D., Patel-Schneider, P. (eds.): The Description Logic Handbook - Theory, Implementation and Applications. Cambridge University Press, Cambridge (2003)
Smith, M.K., Welty, C., McGuinness, D.L.: OWL Web Ontology Language Guide (2004), http://www.w3.org/TR/owl-guide/
Antoniou, G., van Harmelen, F.: A Semantic Web Primer, 2nd edn. The MIT Press, Cambridge (2008)
Bair, J., Bölen, M.H., Jensen, C.S., Snodgrass, R.T.: Notions of upward compatibility of temporal query languages. Wirtschaftsinformatik 39(1), 25–34 (1997)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Porto, A. (2011). An Alternative High-Level Approach to Interaction with Databases. In: Abreu, S., Seipel, D. (eds) Applications of Declarative Programming and Knowledge Management. INAP 2009. Lecture Notes in Computer Science(), vol 6547. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-20589-7_2
Download citation
DOI: https://doi.org/10.1007/978-3-642-20589-7_2
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-20588-0
Online ISBN: 978-3-642-20589-7
eBook Packages: Computer ScienceComputer Science (R0)