Graph Query Processing
While being eminently useful in a wide variety of application domains, the high expressiveness of graph queries makes them hard to optimize and, hence, challenging to process efficiently. We discuss a number of state-of-the-art approaches which aim to overcome these challenges, focusing specifically on planning, optimization, and execution of two commonly used types of declarative graph queries: subgraph queries and regular path queries.
In this chapter, we give a broad overview of the general techniques for processing two classes of graph queries: subgraph queries, which find instances of a query subgraph in a larger input graph, and regular path queries (RPQs), which find pairs of nodes in the graph connected by a path matching a given regular expression. Certainly, software that manage and process graph-structured data, such as RDF triple stores (Neumann and Weikum (2010), Virtuoso), graph database management systems (GDBMSes) (Kankanamge et al. (2017), neo4j),...
- Agrawal R (1988) Alpha: an extension of relational algebra to express a class of recursive queries. IEEE TSE 14(7):879–885Google Scholar
- Dey S, Cuevas-Vicenttín V, Köhler S, Gribkoff E, Wang M, Ludäscher B (2013) On implementing provenance-aware regular path queries with relational query engines. In: Proceedings of the joint EDBT/ICDT 2013 workshops. ACM, pp 214–223Google Scholar
- Fletcher GH, Peters J, Poulovassilis A (2016) Efficient regular path query evaluation using path indexes. In: Proceedings of the 19th international conference on extending database technologyGoogle Scholar
- Gou G, Chirkova R (2007) Efficiently querying large XML data repositories: a survey. TKDE 19(10): 1381–1403Google Scholar
- Gubichev A, Bedathur SJ, Seufert S (2013) Sparqling Kleene: fast property paths in RDF-3X. In: Workshop on graph data management experiences and systems. ACM, pp 14–20Google Scholar
- Losemann K, Martens W (2012) The complexity of evaluating path expressions in SPARQL. In: Proceedings of the 31st symposium on principles of database systems. ACM, pp 101–112Google Scholar
- Qiao M, Zhang H, Cheng H (2017) Subgraph matching: on compression and computation. VLDB 11(2):17–188Google Scholar
- Veldhuizen TL (2012) Leapfrog Triejoin: a worst-case optimal join algorithm. CoRR abs/1210.0481Google Scholar
- Yakovets N, Godfrey P, Gryz J (2013) Evaluation of SPARQL property paths via recursive SQL. In: AMWGoogle Scholar
- Yakovets N, Godfrey P, Gryz J (2016) Query planning for evaluating SPARQL property paths. In: SIGMOD, San Francisco, pp 1875–1889Google Scholar
- Zhao P, Han J (2010) On graph query optimization in large networks. VLDB 3(1–2):340–351Google Scholar