Abstract
Datalog is the language of deductive databases, a first step towards intelligent relational databases. TwoGroups is a database of p-groups, primarily the groups of order dividing 28, which has seen actually use by research mathematicians. TwoGroups was originally developed on the NU-Prolog platform. We report on our efforts to implement a Datalog interpreter in C++, and to implement TwoGroups in C++ on top of the Datalog platform. Although TwoGroups is very relational in style, its use of range queries means that Datalog is not the perfect platform on which to implement TwoGroups. However, TwoGroups can directly utilise the multi-attribute retrieval algorithms within the Datalog implementation which do support range queries.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
J.L. Bentley, Multidimensional binary search trees used for associative searching, CACM 18, 9 (September 1975) 509–517.
J.L. Bentley, Multidimensional binary search trees in database applications, IEEE Trans. Software Eng. SE-5, 4 (July 1979) 333–340.
G. Butler & John Cannon, Cayley, version 4: the user language, ISSAC'88, (Proceedings of 1988 International Symposium on Symbolic and Algebraic Computation, Rome, July 4–8), Lecture Notes in Comput. Sci. 358, 456–466, Springer-Verlag, Berlin, 1989.
G. Butler and S.S. Iyer, An experimental knowledge base of simple groups, submitted.
G. Butler, S.S. Iyer & E.A. O'Brien, A database of groups of prime-power order, The Australian National University, Mathematics Research Report 021-92, 1992.
G. Butler, S.S. Iyer & E.A. O'Brien, TwoGroups: a database for group theory, The Australian National University, Mathematics Research Report 005-93, 1993. (also Notices of the AMS 40, 7 (September 1993) 839–841).
Stefano Ceri, Georg Gottlobb, Letizia Tanca, What you always wanted to know about Datalog (and never dared ask), IEEE Trans. KDE 1, 1 (March 1989) 146–166.
Alain CoËtmeur (1993), Bison ++, Flex ++, coetmeur@icdc.fr.
Charles Donnelly and Richard Stallman (1992), Bison: The YACC-compatible Parser Generator, Free Software Foundation.
Ramez Elmasri, Shamkant B. Navathe, Fundamentals of Database Systems, Benjamins/Cummings Inc., Redwood City, California, 1989.
Michael J. Folk and Bill Zoellick, File Structures, 2nd edition, Addison-Wesley, 1992, (xviii)+590 pages.
Michael W. Freeston, The BANG file: a new kind of grid file, Proc ACM SIGMOD Conference, San Francisco, 1987, pp.260–269.
M.W. Freeston, Advances in the design of the BANG file, in Foundations of Data Organisation and Algorithms, (Proc. 3rd International Conference on Foundations of Data Organisation and Algorithms, Paris, France, June 21–23, 1989), W. Litwin and H.-J. Schek (eds), Lecture Notes in Comput. Sci. 369, Springer-Verlag, Berlin, 1989, pp. 322–338.
Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, Design patterns: Abstraction and reuse of object-oriented design, ECOOP'93, O.M. Nierstrasz (ed.), Lecture Notes in Computer Science 707, Springer-Verlag, 1993, 406–431.
Scott Robert Ladd, C++ Components and Algorithms, M&T Publishing, San Mateo, CA, 1992, (xv)+779 pages.
M. E. Lesk and E. Schmidt, Lex — A Lexical Analyzer Generator, Bell Laboratories, Murray Hill, New Jersey 07974.
D.B. Lomet and B. Salzberg, The hB-tree: a multiattribute indexing method with good guaranteed performance, ACM TODS 15, 1 (1990) 625–658.
David Maier and David S. Warren, Computing with Logic, The Benjamin/Cummings Publishing Company, Inc, 1988.
Y. Nahamura, S. Abe, Y. Oshawa, M. Sakauchi, A balanced hierarchical data structure for multi-dimensional data with highly efficient dynamic characteristics, IEEE Trans. KDE 5, 4 (August 1993) 682–694. (Special Issue on Multimedia Information Systems)
J. Nievergelt, H. Hintenberger, K.C. Sevcik, The grid file: implementation and case studies of applications, Internal Report No. 46, Institut fuer Informatik, ETH Zuerich, December 1981.
J. Nievergelt, H. Hintenberger, K.C. Sevcik, The grid file: an adaptable, symmetric multikey file structure, ACM TODS 9, 1 (1984) 38–71.
E.A. O'Brien, The p-group generation algorithm, J. Symbolic Comput., 9, 677–698.
Vern Paxson, Flex — Fast Lexical Analyzer Generator, Lawrence Berkeley Laboratories, University of California.
K. Ramamohanarao, J. Shepherd, I. Balbin, G. Port, L. Naish, J. Thom, J. Zobel and P. Dart, An overview of the NU-Prolog deductive database system, in Prolog and Databases, P.M.D. Gray and R.J. Lucas (Eds.), pp. 212–250. Ellis Horwood, 1988.
J. Rumbaugh, M. Blaha, W. Premerlani, F. Eddy, W. Lorenson, Object-Oriented Modelling and Design, Prentice Hall, 1991.
R. Sacks-Davis, A. Kent, and K. Ramamohanarao, Multikey access methods based on superimposed coding techniques. ACM Trans. Database Systems 12, 4 (1987) pp. 655–696.
John Andrew Shepherd, Indexing Schemes and File Organisations for the NU-Prolog Deductive Database System. Ph.D. Thesis, University of Melbourne, 1989.
Bjarne Stroustrup, The C++ Programming Language, 2nd edition Addison-Wesley, 1991.
Jeffrey D. Ullman, Principles of Database and Knowledge-base systems, Volume I, Computer Science Press, Inc., Rockville, Madison, 1988.
Jeffrey D. Ullman, Principles of Database and Knowledge-base systems, Volume II, Computer Science Press, Inc., Rockville, Madison, 1989.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1995 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Butler, G. (1995). Datalog and TwoGroups and C++. In: Calmet, J., Campbell, J.A. (eds) Integrating Symbolic Mathematical Computation and Artificial Intelligence. AISMC 1994. Lecture Notes in Computer Science, vol 958. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60156-2_7
Download citation
DOI: https://doi.org/10.1007/3-540-60156-2_7
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-60156-2
Online ISBN: 978-3-540-49533-8
eBook Packages: Springer Book Archive