Regular Path Queries on Large Graphs

  • André Koschmieder
  • Ulf Leser
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7338)


The significance of regular path queries (RPQs) on graph-like data structures has grown steadily over the past decade. RPQs are, often in restricted forms, part of graph-oriented query languages such as XQuery/XPath and SPARQL, and have applications in areas such as semantic, social, and biomedical networks. However, existing systems for evaluating RPQs are restricted either in the type of the graph (e.g., only trees), the type of regular expressions (e.g., only single steps), and/or the size of the graphs they can handle. No method has yet been developed that would be capable of efficiently evaluating general RPQs on large graphs, i.e., with millions of nodes/edges.

We present a novel approach for answering RPQs on large graphs. Our method exploits the fact that not all labels in a graph are equally frequent. We devise an algorithm which decomposes an RPQ into a series of smaller RPQs using rare labels, i.e., elements of the query with few matches, as way-points. A search thereby is decomposed into a set of smaller search problems which are tackled in a bi-directional fashion, supported by a set of graph indexes. Comparison of our algorithm with two approaches following the traditional methods for tackling such problems, i.e., the usage of automata, reveals that (a) the automata-based methods are not able to handle large graphs due to the amount of memory they require, and that (b) our algorithm outperforms the automata-based approach, often by orders of magnitude. Another advantage of our algorithm is that it can be parallelized easily.


Regular Expression Query Language Large Graph Edge Label Graph Database 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Abiteboul, S., Quass, D., McHugh, J., Widom, J., Wiener, J.L.: The lorel query language for semistructured data. Int. Journal on Digital Libraries 1, 68–88 (1997)Google Scholar
  2. 2.
    Aerts, S., Lambrechts, D., Maity, S., Van Loo, P., et al.: Gene prioritization through genomic data fusion. Nat. Biotechnol. 24(5), 537–544 (2006)CrossRefGoogle Scholar
  3. 3.
    Aho, A.V., Sethi, R., Ullman, J.D.: Compilers: principles, techniques, and tools. Addison-Wesley Longman Publishing Co., Boston (1986)Google Scholar
  4. 4.
    Alkhateeb, F., Baget, J.-F., Euzenat, J.: Extending SPARQL with regular expression patterns (for querying RDF). Web Semant. 7(2), 57–73 (2009)CrossRefGoogle Scholar
  5. 5.
    Anyanwu, K., Maduko, A., Sheth, A.: Sparq2l: towards support for subgraph extraction queries in rdf databases. In: WWW 2007, Banff, Alberta, Canada, pp. 797–806 (2007)Google Scholar
  6. 6.
    Chan, C.-Y., Garofalakis, M., Rastogi, R.: Re-tree: an efficient index structure for regular expressions. The VLDB Journal 12(2), 102–119 (2003)CrossRefGoogle Scholar
  7. 7.
    Cheng, J., Yu, J.X., Ding, B., Yu, P.S., Wang, H.: Fast graph pattern matching. In: ICDE 2008, pp. 913–922. IEEE (2008)Google Scholar
  8. 8.
    Cho, J., Rajagopalan, S.: A fast regular expression indexing engine. In: ICDE 2002, p. 0419 (2002)Google Scholar
  9. 9.
    Detwiler, L.T., Suciu, D., Brinkley, J.F.: Regular paths in sparql: Querying the nci thesaurus. American Medical Informatics Association, 161–165 (2008)Google Scholar
  10. 10.
    Dries, A., Nijssen, S., De Raedt, L.: A query language for analyzing networks. In: CIKM 2009, New York, NY, USA, pp. 485–494 (2009)Google Scholar
  11. 11.
    Fan, W., Li, J., Ma, S., Tang, N., Wu, Y.: Adding regular expressions to graph reachability and pattern queries. In: ICDE, pp. 39–50 (2011)Google Scholar
  12. 12.
    Fernandez, M.F., Suciu, D.: Optimizing regular path expressions using graph schemas. In: ICDE 1998, pp. 14–23. IEEE, Washington, DC (1998)Google Scholar
  13. 13.
    Goldman, R., Widom, J.: Dataguides: Enabling query formulation and optimization in semistructured databases. In: VLDB 1997, pp. 436–445 (1997)Google Scholar
  14. 14.
    Goldman, R., Widom, J.: Approximate dataguides. In: Workshop on Query Processing (1999)Google Scholar
  15. 15.
    He, H., Singh, A.K.: Graphs-at-a-time: query language and access methods for graph databases. In: SIGMOD 2008, New York, USA, pp. 405–418 (2008)Google Scholar
  16. 16.
    Hopcroft, J.E., Ullman, J.D.: Introduction to Automata Theory, Languages, and Computation. Addison-Wesley, Reading (1979)zbMATHGoogle Scholar
  17. 17.
    Jaeger, S., Gaudan, S., Leser, U., Rebholz-Schuhmann, D.: Integrating protein-protein interactions and text mining for protein function prediction. BMC Bioinformatics 9(suppl. 8), S2 (2008)CrossRefGoogle Scholar
  18. 18.
    Jin, R., Hong, H., Wang, H., Ruan, N., Xiang, Y.: Computing label-constraint reachability in graph databases. In: Proceedings of the 2010 International Conference on Management of Data, SIGMOD 2010, New York, NY, USA, pp. 123–134 (2010)Google Scholar
  19. 19.
    Kaushik, R., Bohannon, P., Naughton, J.F., Korth, H.F.: Covering indexes for branching path queries. In: SIGMOD Conference, pp. 133–144 (2002)Google Scholar
  20. 20.
    Kochut, K.J., Janik, M.: SPARQLeR: Extended Sparql for Semantic Association Discovery. In: Franconi, E., Kifer, M., May, W. (eds.) ESWC 2007. LNCS, vol. 4519, pp. 145–159. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  21. 21.
    Koschmieder, A., Leser, U.: Regular Path Queries on Large Graphs. In: Ailamaki, A., Bowers, S. (eds.) SSDBM 2012. LNCS, vol. 7338, pp. 177–194. Springer, Heidelberg (2012)Google Scholar
  22. 22.
    Kuramochi, M., Karypis, G.: An efficient algorithm for discovering frequent subgraphs. IEEE Trans. on Knowl. and Data Eng. 16(9), 1038–1051 (2004)CrossRefGoogle Scholar
  23. 23.
    Leser, U.: A query language for biological networks. Bioinformatics 21(2), 33–39 (2005)CrossRefGoogle Scholar
  24. 24.
    Li, L., Alderson, D., Tanaka, R., Doyle, J.C., Willinger, W.: Towards a theory of scale-free graphs: Definition, properties, and implications (ext. version). Internet Mathematics 2(4), 431–523 (2006)CrossRefGoogle Scholar
  25. 25.
    Li, Q., Moon, B.: Indexing and querying XML data for regular path expressions. In: VLDB 2001, Roma, Italy, pp. 361–370 (2001)Google Scholar
  26. 26.
    Malewicz, G., et al.: Pregel: a system for large-scale graph processing. In: PODC 2009, New York, NY, USA, p. 6 (2009)Google Scholar
  27. 27.
    Martínez-Bazan, et al.: Dex: high-performance exploration on large graphs for information retrieval. In: CIKM 2007, New York, NY, USA, pp. 573–582 (2007)Google Scholar
  28. 28.
    Mendelzon, A.O., Wood, P.T.: Finding regular simple paths in graph databases. SIAM Journal on Computing 24(6), 1235–1258 (1995)MathSciNetzbMATHCrossRefGoogle Scholar
  29. 29.
    Milo, T., Suciu, D.: Index Structures for Path Expressions. In: Beeri, C., Bruneman, P. (eds.) ICDT 1999. LNCS, vol. 1540, pp. 277–295. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  30. 30.
    Neven, F.: Automata theory for xml researchers. SIGMOD Rec. 31(3), 39–46 (2002)CrossRefGoogle Scholar
  31. 31.
    Palaga, P., Nguyen, L., Leser, U., Hakenberg, J.: High-performance information extraction with alibaba. In: EDBT 2009, New York, USA, pp. 1140–1143 (2009)Google Scholar
  32. 32.
    Ronen, R., Shmueli, O.: SoQL: A language for querying and creating data in social networks. In: ICDE 2009, Shanghai, China, pp. 1595–1602 (2009)Google Scholar
  33. 33.
    San Martín, M., Gutierrez, C.: Representing, Querying and Transforming Social Networks with RDF/SPARQL. In: Aroyo, L., Traverso, P., Ciravegna, F., Cimiano, P., Heath, T., Hyvönen, E., Mizoguchi, R., Oren, E., Sabou, M., Simperl, E. (eds.) ESWC 2009. LNCS, vol. 5554, pp. 293–307. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  34. 34.
    Sevon, P., Eronen, L.: Subgraph queries by context-free grammars. Journal of Integrative Bioinformatics 5(2), 100 (2008)Google Scholar
  35. 35.
    Trißl, S., Leser, U.: Fast and practical indexing and querying of very large graphs. In: SIGMOD 2007, New York, NY, USA, pp. 845–856 (2007)Google Scholar
  36. 36.
    Yan, X., Yu, P.S., Han, J.: Graph indexing: a frequent structure-based approach. In: SIGMOD 2004, New York, NY, USA, pp. 335–346 (2004)Google Scholar
  37. 37.
    Yeger-Lotem, E., Sattath, S., Kashtan, N., et al.: Network motifs in integrated cellular networks of transcription-regulation and protein-protein interaction. Proc. Natl. Acad. Sci. USA 101(16), 5934–5939 (2004)CrossRefGoogle Scholar
  38. 38.
    Yildirim, H., Chaoji, V., Zaki, M.J.: Grail: Scalable reachability index for large graphs. In: VLDB 2010. VLDB Endowment (2010)Google Scholar
  39. 39.
    Zauner, H., Linse, B., Furche, T., Bry, F.: A RPL through RDF: Expressive Navigation in RDF Graphs. In: Hitzler, P., Lukasiewicz, T. (eds.) RR 2010. LNCS, vol. 6333, pp. 251–257. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  40. 40.
    Zou, L., Chen, L., Özsu, M.T.: Distance-join: Pattern match query in a large graph database. PVLDB 2(1), 886–897 (2009)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • André Koschmieder
    • 1
  • Ulf Leser
    • 1
  1. 1.Department of Computer ScienceHumboldt-Universität zu BerlinGermany

Personalised recommendations