Abstract
This paper presents a powerful language for querying complex graphs and a method for generating efficient implementations that can answer queries with complexity guarantees. The graphs may have edge labels that may have parameters, and easily and naturally capture complex interrelated objects in object-oriented systems and XML data. The language is built on extended regular path expressions with variables and scoping, and can express queries more easily and clearly than previous query languages.The method for implementation first transforms queries into Datalog with limited extensions. It then extends a previous method to generate specialized algorithms and complexity formulas from Datalog with these extensions.
This work was supported in part by ONR under grants N00014-04-1-0722 and N00014-02-1-0363 and NSF under grants CCR-0306399 and CCR-0311512.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Abiteboul, S.: Querying semi-structured data. In: Proceedings of the International Conference on Database Theory, pp. 1–18 (1997)
Abiteboul, S., Hull, R., Vianu, V.: Foundations of Databases. Addison-Wesley, Reading (1995)
Abiteboul, S., Vianu, V.: Regular path queries with constraints. In: Proceedings of the 16th ACM Symposium on Principles of Database Systems, pp. 122–133 (1997)
American National Standards Institute, Inc. Role-Based Access Control. ANSI INCITS 359-2004. Approved February 3 (2004), http://csrc.nist.gov/rbac
Andersen, L.O.: Program Analysis and Specialization for the C Programming Language. PhD thesis, DIKU, University of Copenhagen (May 1994)
Beeri, C., Ramakrishnan, R.: On the power of magic. Journal of Logic Programming 10(3-4), 255–299 (1991)
Calvanese, D., Giacomo, G.D., Lenzerini, M., Vardi, M.Y.: Reasoning on regular path queries. SIGMOD Record 32(4), 83–92 (2003)
Ceri, S., Gottlob, G., Tanca, L.: Logic Programming and Databases. Springer, Heidelberg (1990)
Colby, C., Lee, P.: Trace-based program analysis. In: Conference Record of the 23rd Annual ACM Symposium on Principles of Programming Languages, pp. 195–207 (1996)
Consens, M.P., Mendelzon, A.O.: Graphlog: a visual formalism for real life recursion. In: Proceedings of the 9th ACM SIGACT-SIGMOD-SIGART Symposium on Principles of database systems, pp. 404–416 (1990)
de Moor, O., Lacey, D., Wyk, E.V.: Universal regular path queries. Higher-Order and Symbolic Computation 16(1-2) (2003)
Drape, S., de Moor, O., Sittampalam, G.: Transforming the .NET intermediate language using path logic programming. In: Proceedings of the 4th International Conference on Principles and Practice of Declarative Programming (October 2002)
Florescu, D., Levy, A., Suciu, D.: Query containment for conjunctive queries with regular expressions. In: Proceedings of the 17th ACM SIGACT-SIGMOD-SIGART Symposium on Principles of database systems, pp. 139–148 (1998)
Kifer, M., Kim, W., Sagiv, Y.: Querying object oriented databases. In: Proceedings of the ACM SIGMOD International Conference on Management of Data, pp. 393–402 (June 1992)
Kifer, M., Lausen, G., Wu, J.: Logical foundations of object-oriented and frame-based languages. Journal of ACM (May 1995)
Lieberherr, K.J., Patt-Shamir, B., Orleans, D.: Traversals of object structures: Specification and efficient implementation. ACM Trans. Program. Lang. Syst. 26(2), 370–412 (2004)
Liu, Y.A., Rothamel, T., Yu, F., Stoller, S., Hu, N.: Parametric regular path queries. In: Proceedings of the ACM SIGPLAN 2004 Conference on Programming Language Design and Implementation, Washington, DC, pp. 219–230 (June 2004)
Liu, Y.A., Stoller, S.D.: From Datalog rules to efficient programs with time and space guarantees. In: Proceedings of the 5th ACM SIGPLAN International Conference on Principles and Practice of Declarative Programming, pp. 172–183 (August 2003)
Liu, Y.A., Yu, F.: Solving regular path queries. In: Boiten, E.A., Möller, B. (eds.) MPC 2002. LNCS, vol. 2386, pp. 195–208. Springer, Heidelberg (2002)
Marx, M.: Conditional XPath, the first order complete XPath dialect. In: Proceedings of the ACM 2004 Symposium on Principles of Database Systems (2004)
Olender, K., Osterweil, L.: Cesar: a static sequencing constraint analyzer. In: Proceedings of the ACM SIGSOFT 1989 3rd Symposium on software Testing, Analysis, and Verification, pp. 66–74 (1989)
Palsberg, J., Xiao, C., Lieberherr, K.: Efficient implementation of adaptive software. ACM Trans. Program. Lang. Syst. 17(2), 264–292 (1995)
Ramakrishnan, R., Srivastava, D., Sudarshan, S.: Coral—control, relations and logic. In: Proceedings of the 18th International Conference on Very Large Data Bases, pp. 238–250. Morgan Kaufmann Publishers Inc., San Francisco (1992)
Sagonas, K., Swift, T., Warren, D.S.: XSB as a deductive database. In: Proceedings of the 5th ACM SIGACT-SIGMOD Symposium on Principles of Database Systems (1994)
Schürr, A.: Adding graph transformation concepts to UML’s constraint language OCL. In: Ehrig, H., Ermel, C., Padberg, J. (eds.) Electronic Notes in Theoretical Computer Science, vol. 44. Elsevier, Amsterdam (2001)
Sekar, R., Uppuluri, P.: Synthesizing fast intrusion prevention/detection systems from high-level specifications. In: Proceedings of the USENIX Security Symposium, pp. 63–78 (1999)
Tarjan, R.E.: Fast algorithms for solving path problems. J. ACM 28(3), 594–614 (1981)
Tarjan, R.E.: A unified approach to path problems. J. ACM 28(3), 577–593 (1981)
The World Wide Web Consortium. XML Path Language (XPath), http://www.w3.org/TR/xpath
Yannakakis, M.: Graph-theoretic methods in database theory. In: Proceedings of the ACM Symposium on Principles of Database Systems, pp. 230–242 (1990)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Liu, Y.A., Stoller, S.D. (2005). Querying Complex Graphs. In: Van Hentenryck, P. (eds) Practical Aspects of Declarative Languages. PADL 2006. Lecture Notes in Computer Science, vol 3819. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11603023_14
Download citation
DOI: https://doi.org/10.1007/11603023_14
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-30947-5
Online ISBN: 978-3-540-31685-5
eBook Packages: Computer ScienceComputer Science (R0)