GraphLog: a visual formalism for real life recursion

We present a query language called GraphLog, based on a graph representation of both data and queries. Queries are graph patterns. Edges in queries represent edges or paths in the database. Regular expressions are used to qualify these paths. We characterize the expressive power of the language and show that it is equivalent to stratified linear Datalog, first order logic with transitive closure, and non-deterministic logarithmic space (assuming ordering on the domain). The fact that the latter three classes coincide was not previously known. We show how GraphLog can be extended to incorporate aggregates and path summarization, and describe briefly our current prototype implementation.

[1]  H. V. Jagadish,et al.  A study of transitive closure as a recursion mechanism , 1987, SIGMOD '87.

[2]  Paris C. Kanellakis,et al.  Logic Programming and Parallel Complexity , 1986, Foundations of Deductive Databases and Logic Programming..

[3]  Alberto O. Mendelzon,et al.  G+: Recursive Queries Without Recursion , 1988, Expert Database Conf..

[4]  Carlo Zaniolo,et al.  LDL: A Logic-Based Data Language , 1986, VLDB.

[5]  Jeffrey F. Naughton,et al.  One-sided recursions , 1987, J. Comput. Syst. Sci..

[6]  David Harel,et al.  Horn Clauses Queries and Generalizations , 1985, J. Log. Program..

[7]  Catriel Beeri,et al.  Data Models and Languages for Databases , 1988, ICDT.

[8]  Jeffrey D. Ullman,et al.  Principles Of Database And Knowledge-Base Systems , 1979 .

[9]  Jeffrey D. Ullman,et al.  Principles of database and knowledge-base systems, Vol. I , 1988 .

[10]  Stavros S. Cosmadakis,et al.  Parallel evaluation of recursive rule queries , 1985, PODS '86.

[11]  Jeffrey D. Ullman,et al.  Parallel complexity of logical query programs , 1986, 27th Annual Symposium on Foundations of Computer Science (sfcs 1986).

[12]  David Harel,et al.  Structure and complexity of relational queries , 1980, 21st Annual Symposium on Foundations of Computer Science (sfcs 1980).

[13]  Oded Shmueli,et al.  Decidability and expressiveness aspects of logic queries , 1987, XP7.52 Workshop on Database Theory.

[14]  Serge Abiteboul,et al.  Object identity as a query language primitive , 1989, SIGMOD '89.

[15]  Alberto O. Mendelzon,et al.  Expressing structural hypertext queries in graphlog , 1989, Hypertext.

[16]  Neil Immerman,et al.  Nondeterministic space is closed under complementation , 1988, [1988] Proceedings. Structure in Complexity Theory Third Annual Conference.

[17]  Anthony C. Klug Equivalence of Relational Algebra and Relational Calculus Query Languages Having Aggregate Functions , 1982, JACM.

[18]  Alfred V. Aho,et al.  Universality of data retrieval languages , 1979, POPL.

[19]  Neil Immerman,et al.  Descriptive and Computational Complexity , 1989, FCT.

[20]  Mayer D. Schwartz,et al.  Neptune: a hypertext system for CAD applications , 1986, SIGMOD '86.

[21]  Jeffrey D. Ullman,et al.  Principles of Database and Knowledge-Base Systems, Volume II , 1988, Principles of computer science series.

[22]  Neil Immerman,et al.  Languages that Capture Complexity Classes , 1987, SIAM J. Comput..