<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.2 20190208//EN" "https://jats.nlm.nih.gov/publishing/1.2/JATS-journalpublishing1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" article-type="review-article" dtd-version="1.2" xml:lang="en">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">IJDWDM</journal-id>
<journal-title-group><journal-title>International Journal of Data Warehousing and Data Mining</journal-title></journal-title-group>
<publisher><publisher-name>Thomson &amp; Ryberg Publications</publisher-name></publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.62715/ijdwdm.2026.v1.i1.pp8-14</article-id>
<article-id pub-id-type="publisher-id">61fd399459</article-id>
<article-categories><subj-group subj-group-type="heading"><subject>Review Article</subject></subj-group></article-categories>
<title-group><article-title>Graph Pattern Mining at Scale: Algorithms, Systems, and Unresolved Scalability Limits</article-title></title-group>
<contrib-group>
<contrib contrib-type="author" corresp="yes"><name><surname>Peralta</surname><given-names>Rohan</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref><xref ref-type="corresp" rid="cor1">*</xref></contrib>
<contrib contrib-type="author"><name><surname>Natarajan</surname><given-names>Teresa</given-names></name><xref ref-type="aff" rid="aff2"><sup>2</sup></xref></contrib>
<contrib contrib-type="author"><name><surname>Khoury</surname><given-names>Meera</given-names></name><xref ref-type="aff" rid="aff3"><sup>3</sup></xref></contrib>
<aff id="aff1"><label>1</label>Department of Computer Science, Vistula Institute for Advanced Computer Science, New Zealand</aff>
<aff id="aff2"><label>2</label>Department of Computer Science, Rhine Research Institute of Computer Science, Chile</aff>
<aff id="aff3"><label>3</label>Department of Computer Science, Volta Institute of Computer Science, Jamaica</aff>
</contrib-group>
<author-notes><corresp id="cor1">* Correspondence: <email>rohan.peralta@vistula.edu</email></corresp></author-notes>
<pub-date pub-type="epub" iso-8601-date="2026-02-11"><day>11</day><month>02</month><year>2026</year></pub-date>
<volume>1</volume>
<issue>1</issue>
<fpage>8</fpage>
<lpage>14</lpage>
<history>
<date date-type="received" iso-8601-date="2025-09-30"><day>30</day><month>09</month><year>2025</year></date>
<date date-type="accepted" iso-8601-date="2025-12-12"><day>12</day><month>12</month><year>2025</year></date>
</history>
<permissions><copyright-statement>© 2026 The Author(s)</copyright-statement><copyright-year>2026</copyright-year><license license-type="open-access" xlink:href="https://creativecommons.org/licenses/by/4.0/"><license-p>This is an open access article distributed under the Creative Commons Attribution 4.0 International License (CC BY 4.0).</license-p></license></permissions>
<self-uri xlink:href="https://trpub.org/article.php?id=61fd399459"/>
<abstract><p>Graph pattern mining asks which small structures occur in a graph, how often, and where. The family of problems includes frequent subgraph mining, motif and graphlet counting, clique listing and general subgraph matching, and all of them inherit the hardness of subgraph isomorphism. This narrative review follows the field from its algorithmic origins to the specialised systems of recent years. It first separates the problem variants and the support measures that make frequency well defined in a single large graph. It then describes the level-wise and pattern-growth algorithms developed for collections of small graphs, the constraint-based methods for single graphs, and the connection between pattern matching and worst-case optimal joins. The systems literature is organised into three generations: adaptations of vertex-centric frameworks, embedding-centric engines that enumerate and filter subgraphs, and pattern-aware engines that compile a matching plan for each pattern. The final part examines limits that engineering has not removed: output sizes that grow combinatorially with pattern size, sensitivity to degree skew, the cost of symmetry breaking for larger patterns, the difficulty of distributing an irregular search, and the weak comparability of published evaluations. Approximate counting and incremental mining are discussed as the most credible ways around these limits.</p></abstract>
<kwd-group kwd-group-type="author">
<kwd>Graph pattern mining</kwd>
<kwd>Frequent subgraph mining</kwd>
<kwd>Subgraph isomorphism</kwd>
<kwd>Motif counting</kwd>
<kwd>Graph mining systems</kwd>
<kwd>Scalability</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="sec1"><title>1. Introduction</title>
<p>Many questions asked of graph data are questions about small structures. A biologist wants to know which wiring patterns recur in a regulatory network more often than chance would predict (Milo et al., 2002). A chemist wants the substructures shared by a set of active compounds. An analyst of a payment network wants every instance of a suspicious cycle. Each task requires finding the occurrences, usually called embeddings or matches, of one or more pattern graphs inside a data graph, and the tasks differ mainly in whether the patterns are given in advance or must be discovered.</p>
<p>These problems are grouped under the name graph pattern mining. They are expensive for a reason that no implementation can remove: deciding whether one graph contains another as a subgraph is NP-complete (Garey and Johnson, 1979), and the number of matches of even a small pattern can exceed the size of the data graph by many orders of magnitude. Progress has therefore come from pruning the search, avoiding repeated work and using hardware well, not from better worst-case bounds.</p>
<p>This review traces that progress in two parts, algorithms and systems, and then sets out the scalability limits that remain. Its purpose is to help a reader judge what current tools can be expected to do and where a new workload is likely to fail.</p>
</sec>
<sec id="sec2"><title>2. Scope and Approach of the Review</title>
<p>The article is a narrative review of the published literature on exact and approximate mining of subgraph patterns in static graphs. It concentrates on work that introduced an idea later adopted widely, and it relies on earlier surveys for breadth: Jiang et al. (2013) cover frequent subgraph mining algorithms in detail, and Ribeiro et al. (2021) cover subgraph counting. No systematic search was performed and no performance figures are reproduced, since results reported on different hardware, graphs and patterns cannot be set side by side with any confidence. Graph neural approaches to pattern counting and the mining of temporal graphs fall outside the scope.</p>
</sec>
<sec id="sec3"><title>3. Problem Variants and Their Complexity</title>
<p>Two settings must be kept apart. In the transactional setting the input is a collection of many small graphs, such as molecules, and a pattern is frequent if it occurs in at least a given number of them. Support counts graphs, not embeddings, so one occurrence per graph is enough. In the single-graph setting the input is one large graph and support must be defined over embeddings. Counting embeddings directly breaks the property on which all frequent pattern mining depends, namely that a pattern can be no more frequent than its subpatterns. Bringmann and Nijssen (2008) proposed the minimum image based support, which takes for each pattern vertex the number of distinct data vertices it maps to and then the minimum over pattern vertices. The measure is anti-monotone and cheap to compute, and it is now the usual choice.</p>
<p>A second distinction concerns what is asked for. Frequent subgraph mining discovers patterns. Subgraph matching lists the embeddings of a given pattern. Motif or graphlet counting returns the number of occurrences of every pattern up to a small size, and clique listing is the special case of complete patterns. A further choice is whether matches are induced, so that the data graph has no extra edges among the matched vertices, or merely edge-preserving. Systems differ in which of these they support natively, and a benchmark for one says little about another.</p>
</sec>
<sec id="sec4"><title>4. Algorithmic Foundations</title>
<p>The algorithms on which present systems rest were developed over roughly four decades. Figure 1 marks the contributions that the remainder of this section and the next describe.</p>
<fig id="fig1"><label>Figure 1</label><caption><p>Selected milestones in graph pattern mining, from isomorphism testing to pattern-aware systems</p></caption><graphic xlink:href="IJDWDM_V1I1_2026_02_Figure1.png" mimetype="image" mime-subtype="png"/></fig>
<sec id="sec4-2"><title>4.1. Matching a single pattern</title>
<p>The backtracking procedure of Ullmann (1976) extends a partial mapping one pattern vertex at a time and prunes candidates whose neighbourhoods cannot be matched. Almost every later matcher is a refinement of it. VF2 added feasibility rules that examine the frontier of the partial mapping and reduced memory use enough to handle graphs with thousands of vertices (Cordella et al., 2004). Later work concentrated on the order in which pattern vertices are matched and on filtering candidate sets before the search begins, since a poor order can make the same search slower by orders of magnitude.</p>
<p>A separate theoretical line treats a pattern as a join query in which each pattern edge is a relation. Ngo et al. (2018) gave join algorithms whose running time is bounded by the largest possible output for the query, a guarantee that conventional pairwise join plans do not meet; the triangle query is the standard example. These worst-case optimal joins extend one variable at a time by intersecting adjacency lists, which is exactly what vertex-at-a-time backtracking does, and the result gave matching systems a principled account of why that strategy works.</p>
</sec>
<sec id="sec4-3"><title>4.2. Discovering frequent patterns in graph collections</title>
<p>Frequent subgraph mining borrowed its first design from itemset mining. Apriori generates candidate itemsets of size k + 1 from frequent ones of size k and discards any candidate with an infrequent subset (Agrawal and Srikant, 1994). AGM applied the scheme to graphs represented by adjacency matrices, growing patterns by a vertex at each level (Inokuchi et al., 2000), and FSG grew them by an edge (Kuramochi and Karypis, 2001). Both pay for candidate generation, which must join pairs of patterns and detect duplicates through canonical labelling, and for repeated isomorphism tests during support counting.</p>
<p>Pattern-growth methods removed candidate generation. gSpan assigns each pattern a canonical code derived from depth-first traversals and extends a pattern only along its rightmost path, so that the search space becomes a tree in which each pattern is visited once (Yan and Han, 2002). CloseGraph reports only closed patterns, those with no superpattern of equal support, and thereby shrinks the output considerably (Yan and Han, 2003). Gaston orders the search so that paths are enumerated first, then trees, then cyclic graphs, which defers the costly isomorphism work to the stage where it is unavoidable (Nijssen and Kok, 2004).</p>
</sec>
<sec id="sec4-4"><title>4.3. Mining a single large graph</title>
<p>Kuramochi and Karypis (2005) were among the first to mine frequent patterns in one sparse graph, using support measures based on sets of non-overlapping embeddings, which are themselves hard to compute. GraMi changed the formulation. It models the question of whether a pattern reaches the support threshold as a constraint satisfaction problem and stops searching as soon as enough distinct images have been found for every pattern vertex, so that the full set of embeddings is never enumerated (Elseidy et al., 2014). Avoiding enumeration wherever a decision or a count suffices has since become a general design principle.</p>
</sec>
<sec id="sec4-5"><title>4.4. Approximate counting</title>
<p>Where exact enumeration is out of reach, counts can be estimated. Colour coding assigns random colours to vertices and counts only matches whose vertices are all coloured differently, which can be done by dynamic programming for tree-like patterns (Alon et al., 1995). Sampling methods draw edges, paths or neighbourhoods and scale the counts observed. The survey by Ribeiro et al. (2021) classifies these estimators and notes that their accuracy guarantees weaken for rare patterns, which are often the patterns of interest.</p>
</sec>
</sec>
<sec id="sec5"><title>5. Systems for Mining at Scale</title>
<p>General graph processing frameworks were not built for this workload. Pregel popularised the vertex-centric model, in which each vertex exchanges messages with its neighbours in synchronised rounds (Malewicz et al., 2010). The model suits computations whose state is proportional to the graph, such as PageRank. Pattern mining produces intermediate state proportional to the number of partial embeddings, and encoding those as messages overwhelms both memory and network. Dedicated systems followed, and Table 1 groups them into three generations.</p>
<table-wrap id="tbl1"><label>Table 1</label><caption><p>Three generations of graph pattern mining systems and their characteristic trade-offs</p></caption><table frame="hsides" rules="groups"><thead><tr><th>Generation</th><th>Core idea</th><th>Representative systems</th><th>Characteristic limit</th></tr></thead><tbody><tr><td>Vertex-centric adaptation</td><td>Encode partial matches as messages between vertices</td><td>Pregel-style frameworks (Malewicz et al., 2010)</td><td>Message volume grows with embeddings</td></tr><tr><td>Embedding-centric, distributed</td><td>Enumerate embeddings level by level; filter with user code</td><td>Arabesque (Teixeira et al., 2015); Fractal (Dias et al., 2019)</td><td>Stores or recomputes many embeddings; canonicality checks</td></tr><tr><td>Embedding-centric, out-of-core</td><td>Express extension as relational joins streamed from disk</td><td>RStream (Wang et al., 2018)</td><td>Disk volume of intermediate tuples</td></tr><tr><td>Embedding-centric, accelerated</td><td>Extend and filter embeddings in bulk on CPU and GPU</td><td>Pangolin (Chen et al., 2020)</td><td>Device memory bounds embedding lists</td></tr><tr><td>Pattern-aware, compiled</td><td>Generate nested set-intersection loops for each pattern</td><td>AutoMine (Mawhirter and Wu, 2019); GraphPi (Shi et al., 2020)</td><td>Plan quality; many patterns to compile</td></tr><tr><td>Pattern-aware, interpreted</td><td>Derive matching order and symmetry breaking from the pattern</td><td>Peregrine (Jamshidi et al., 2020)</td><td>Assumes the graph fits in memory</td></tr></tbody></table></table-wrap>
<p>Arabesque introduced the embedding as the unit of computation. The system enumerates all embeddings of size k, passes each to a user-defined filter and process function, and extends the survivors to size k + 1, distributing the work across machines and compressing the stored embeddings (Teixeira et al., 2015). The interface is simple and general, but the system explores every connected subgraph up to the target size whether or not it can match the pattern of interest, and it must test each embedding for canonicality to avoid counting it more than once. Fractal kept the model and replaced stored embeddings with depth-first recomputation from compact state, which trades processor time for memory (Dias et al., 2019). RStream took the opposite route on a single machine, expressing extension as a relational join over edge streams on disk (Wang et al., 2018).</p>
<p>The second shift was to let the pattern guide the search. AutoMine compiles each pattern into nested loops over set intersections and differences of adjacency lists, which is the worst-case optimal join strategy made concrete, and schedules the loops to share work between patterns (Mawhirter and Wu, 2019). Peregrine analyses the pattern at run time to obtain a matching order and a set of ordering constraints on the matched vertices; these constraints break the pattern&#x27;s symmetries so that each match is produced once and no canonicality test is needed (Jamshidi et al., 2020). GraphPi searches over combinations of matching order and symmetry-breaking restrictions with a cost model and uses inclusion-exclusion to count without enumerating the innermost loops (Shi et al., 2020). Pangolin showed that the extend and filter steps can be run in bulk on graphics processors when embedding lists fit in device memory (Chen et al., 2020).</p>
</sec>
<sec id="sec6"><title>6. Unresolved Scalability Limits</title>
<p>Pattern-aware systems made small patterns on large graphs routine. They did not change the shape of the problem, and five limits persist in the literature.</p>
<sec id="sec6-2"><title>6.1. Output size and pattern size</title>
<p>The number of embeddings of a pattern with k vertices can grow as a polynomial of degree k in the size of the graph. Every exact enumerator is bound by that output. Published evaluations consequently stay with patterns of a handful of vertices, and each additional vertex typically multiplies the running time on a skewed graph. Counting techniques that avoid the innermost enumeration push the boundary outward by a level or so; they do not remove it. For frequent subgraph mining the difficulty is compounded, because the number of candidate patterns also grows super-exponentially with size and each requires its own support computation.</p>
</sec>
<sec id="sec6-3"><title>6.2. Degree skew</title>
<p>Real graphs have a few vertices of very high degree. Set intersections involving their adjacency lists dominate the running time, and the work attached to one such vertex can exceed that of millions of ordinary ones. Orienting edges from low to high degree helps for cliques and for some other symmetric patterns. For general patterns the remedy is less clear, and skew also undermines parallel scaling, since a static division of start vertices leaves most workers idle while a few finish the heavy tasks. Work stealing and fine-grained task splitting reduce the imbalance at the price of coordination overhead.</p>
</sec>
<sec id="sec6-4"><title>6.3. Symmetry and duplicate elimination</title>
<p>A pattern with many automorphisms is found many times unless the search is restricted. Ordering constraints solve this for small patterns, but the choice of constraints interacts with the matching order, the best combination depends on the data graph, and searching for it grows costly as the pattern gets larger. For discovery tasks the system must also decide whether two patterns encountered along different paths are the same, which is graph canonisation, a problem with no known polynomial-time algorithm for general graphs.</p>
</sec>
<sec id="sec6-5"><title>6.4. Distribution</title>
<p>Pattern search follows edges unpredictably, so a partitioned graph forces either remote adjacency lookups or replication of neighbourhoods. Systems that replicate the whole graph on every machine avoid the lookups and scale only until the graph outgrows one machine&#x27;s memory. Systems that partition must ship partial embeddings or fetch adjacency lists on demand, and both make communication the bottleneck. No published design handles a graph larger than a single node&#x27;s memory with the efficiency that the in-memory, pattern-aware engines achieve on smaller inputs.</p>
</sec>
<sec id="sec6-6"><title>6.5. Comparability of evaluations</title>
<p>Systems are evaluated on overlapping but different sets of graphs and patterns, with induced or non-induced semantics, with or without labels, and sometimes counting what a competitor enumerates. A reported speed-up may therefore reflect a different problem as much as a better engine. The field lacks a workload definition of the kind that decision-support benchmarks gave to relational systems, one that fixes the semantics, covers labelled and unlabelled graphs and includes patterns chosen to stress skew and symmetry.</p>
</sec>
</sec>
<sec id="sec7"><title>7. Directions for Further Work</title>
<p>Three directions seem the most promising responses to these limits. The first is approximation with usable guarantees: estimators whose error can be bounded for the rare patterns that applications care about, and systems that expose the trade between accuracy and cost to the user. The second is incremental mining. Most production graphs change continuously, and recomputing pattern counts after each batch of edge updates wastes the previous result; restricting the search to matches that involve a changed edge is conceptually simple but complicates symmetry breaking and support maintenance. The third is tighter integration with query processing. Since pattern matching is a join, optimisers that combine worst-case optimal and conventional join operators, and that reason about labels and predicates through statistics, could bring to mining the cost-based planning it currently lacks.</p>
</sec>
<sec id="sec8"><title>8. Conclusion</title>
<p>Graph pattern mining has advanced through a steady accumulation of pruning ideas: canonical codes that visit each pattern once, support measures that permit early termination, matching orders derived from the pattern, and symmetry breaking that eliminates duplicate matches before they are generated. Systems built on these ideas handle small patterns over very large graphs on a single well-provisioned machine. The limits that remain are structural. They concern output size, skew, symmetry in larger patterns, distribution and the comparability of results, and they are more likely to yield to approximation, incremental computation and better planning than to further tuning of exact enumeration.</p>
</sec>
<sec id="sec9"><title>Conflict of interest</title>
<p>To be declared by the author(s) before publication.</p>
</sec>
<sec id="sec10"><title>Funding</title>
<p>To be declared by the author(s) before publication.</p>
</sec>
</body>
<back>
<ref-list><title>References</title>
<ref id="ref1"><label>1</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name>Agrawal, R. and Srikant, R.</string-name></person-group> (<year>1994</year>). <article-title>Fast algorithms for mining association rules</article-title>. <source>Proceedings of the 20th International Conference on Very Large Data Bases</source>, <fpage>487-499</fpage></mixed-citation></ref>
<ref id="ref2"><label>2</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name>Alon, N., Yuster, R. and Zwick, U.</string-name></person-group> (<year>1995</year>). <article-title>Color-coding</article-title>. <source>Journal of the ACM</source>, <volume>42(4)</volume>, <fpage>844-856</fpage> <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1145/210332.210337">https://doi.org/10.1145/210332.210337</ext-link></mixed-citation></ref>
<ref id="ref3"><label>3</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name>Bringmann, B. and Nijssen, S.</string-name></person-group> (<year>2008</year>). <article-title>What is frequent in a single graph?</article-title>. <source>Advances in Knowledge Discovery and Data Mining (PAKDD 2008), Lecture Notes in Computer Science 5012</source>, <fpage>858-863</fpage></mixed-citation></ref>
<ref id="ref4"><label>4</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name>Chen, X., Dathathri, R., Gill, G. and Pingali, K.</string-name></person-group> (<year>2020</year>). <article-title>Pangolin: An efficient and flexible graph mining system on CPU and GPU</article-title>. <source>Proceedings of the VLDB Endowment</source>, <volume>13(8)</volume>, <fpage>1190-1205</fpage></mixed-citation></ref>
<ref id="ref5"><label>5</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name>Cordella, L.P., Foggia, P., Sansone, C. and Vento, M.</string-name></person-group> (<year>2004</year>). <article-title>A (sub)graph isomorphism algorithm for matching large graphs</article-title>. <source>IEEE Transactions on Pattern Analysis and Machine Intelligence</source>, <volume>26(10)</volume>, <fpage>1367-1372</fpage> <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1109/TPAMI.2004.75">https://doi.org/10.1109/TPAMI.2004.75</ext-link></mixed-citation></ref>
<ref id="ref6"><label>6</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name>Dias, V., Teixeira, C.H.C., Guedes, D., Meira, W. and Parthasarathy, S.</string-name></person-group> (<year>2019</year>). <article-title>Fractal: A general-purpose graph pattern mining system</article-title>. <source>Proceedings of the 2019 International Conference on Management of Data</source>, <fpage>1357-1374</fpage></mixed-citation></ref>
<ref id="ref7"><label>7</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name>Elseidy, M., Abdelhamid, E., Skiadopoulos, S. and Kalnis, P.</string-name></person-group> (<year>2014</year>). <article-title>GraMi: Frequent subgraph and pattern mining in a single large graph</article-title>. <source>Proceedings of the VLDB Endowment</source>, <volume>7(7)</volume>, <fpage>517-528</fpage> <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.14778/2732286.2732289">https://doi.org/10.14778/2732286.2732289</ext-link></mixed-citation></ref>
<ref id="ref8"><label>8</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name>Garey, M.R. and Johnson, D.S.</string-name></person-group> (<year>1979</year>). <article-title>Computers and Intractability: A Guide to the Theory of NP-Completeness</article-title>. <source>W.H. Freeman, San Francisco</source></mixed-citation></ref>
<ref id="ref9"><label>9</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name>Inokuchi, A., Washio, T. and Motoda, H.</string-name></person-group> (<year>2000</year>). <article-title>An apriori-based algorithm for mining frequent substructures from graph data</article-title>. <source>Principles of Data Mining and Knowledge Discovery (PKDD 2000), Lecture Notes in Computer Science 1910</source>, <fpage>13-23</fpage> <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1007/3-540-45372-5_2">https://doi.org/10.1007/3-540-45372-5_2</ext-link></mixed-citation></ref>
<ref id="ref10"><label>10</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name>Jamshidi, K., Mahadasa, R. and Vora, K.</string-name></person-group> (<year>2020</year>). <article-title>Peregrine: A pattern-aware graph mining system</article-title>. <source>Proceedings of the Fifteenth European Conference on Computer Systems (EuroSys 2020)</source></mixed-citation></ref>
<ref id="ref11"><label>11</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name>Jiang, C., Coenen, F. and Zito, M.</string-name></person-group> (<year>2013</year>). <article-title>A survey of frequent subgraph mining algorithms</article-title>. <source>The Knowledge Engineering Review</source>, <volume>28(1)</volume>, <fpage>75-105</fpage> <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1017/S0269888912000331">https://doi.org/10.1017/S0269888912000331</ext-link></mixed-citation></ref>
<ref id="ref12"><label>12</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name>Kuramochi, M. and Karypis, G.</string-name></person-group> (<year>2001</year>). <article-title>Frequent subgraph discovery</article-title>. <source>Proceedings of the 2001 IEEE International Conference on Data Mining</source>, <fpage>313-320</fpage> <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1109/ICDM.2001.989534">https://doi.org/10.1109/ICDM.2001.989534</ext-link></mixed-citation></ref>
<ref id="ref13"><label>13</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name>Kuramochi, M. and Karypis, G.</string-name></person-group> (<year>2005</year>). <article-title>Finding frequent patterns in a large sparse graph</article-title>. <source>Data Mining and Knowledge Discovery</source>, <volume>11(3)</volume>, <fpage>243-271</fpage> <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1007/s10618-005-0003-9">https://doi.org/10.1007/s10618-005-0003-9</ext-link></mixed-citation></ref>
<ref id="ref14"><label>14</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name>Malewicz, G., Austern, M.H., Bik, A.J.C., Dehnert, J.C., Horn, I., Leiser, N. and Czajkowski, G.</string-name></person-group> (<year>2010</year>). <article-title>Pregel: A system for large-scale graph processing</article-title>. <source>Proceedings of the 2010 ACM SIGMOD International Conference on Management of Data</source>, <fpage>135-146</fpage> <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1145/1807167.1807184">https://doi.org/10.1145/1807167.1807184</ext-link></mixed-citation></ref>
<ref id="ref15"><label>15</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name>Mawhirter, D. and Wu, B.</string-name></person-group> (<year>2019</year>). <article-title>AutoMine: Harmonizing high-level abstraction and high performance for graph mining</article-title>. <source>Proceedings of the 27th ACM Symposium on Operating Systems Principles</source>, <fpage>509-523</fpage></mixed-citation></ref>
<ref id="ref16"><label>16</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name>Milo, R., Shen-Orr, S., Itzkovitz, S., Kashtan, N., Chklovskii, D. and Alon, U.</string-name></person-group> (<year>2002</year>). <article-title>Network motifs: Simple building blocks of complex networks</article-title>. <source>Science</source>, <volume>298(5594)</volume>, <fpage>824-827</fpage> <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1126/science.298.5594.824">https://doi.org/10.1126/science.298.5594.824</ext-link></mixed-citation></ref>
<ref id="ref17"><label>17</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name>Ngo, H.Q., Porat, E., Ré, C. and Rudra, A.</string-name></person-group> (<year>2018</year>). <article-title>Worst-case optimal join algorithms</article-title>. <source>Journal of the ACM, 65(3): Article 16</source> <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1145/3180143">https://doi.org/10.1145/3180143</ext-link></mixed-citation></ref>
<ref id="ref18"><label>18</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name>Nijssen, S. and Kok, J.N.</string-name></person-group> (<year>2004</year>). <article-title>A quickstart in frequent structure mining can make a difference</article-title>. <source>Proceedings of the Tenth ACM SIGKDD International Conference on Knowledge Discovery and Data Mining</source>, <fpage>647-652</fpage></mixed-citation></ref>
<ref id="ref19"><label>19</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name>Ribeiro, P., Paredes, P., Silva, M.E.P., Aparicio, D. and Silva, F.</string-name></person-group> (<year>2021</year>). <article-title>A survey on subgraph counting: Concepts, algorithms, and applications to network motifs and graphlets</article-title>. <source>ACM Computing Surveys, 54(2): Article 28</source> <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1145/3433652">https://doi.org/10.1145/3433652</ext-link></mixed-citation></ref>
<ref id="ref20"><label>20</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name>Shi, T., Zhai, M., Xu, Y. and Zhai, J.</string-name></person-group> (<year>2020</year>). <article-title>GraphPi: High performance graph pattern matching through effective redundancy elimination</article-title>. <source>Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis (SC20)</source></mixed-citation></ref>
<ref id="ref21"><label>21</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name>Teixeira, C.H.C., Fonseca, A.J., Serafini, M., Siganos, G., Zaki, M.J. and Aboulnaga, A.</string-name></person-group> (<year>2015</year>). <article-title>Arabesque: A system for distributed graph mining</article-title>. <source>Proceedings of the 25th Symposium on Operating Systems Principles</source>, <fpage>425-440</fpage> <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1145/2815400.2815410">https://doi.org/10.1145/2815400.2815410</ext-link></mixed-citation></ref>
<ref id="ref22"><label>22</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name>Ullmann, J.R.</string-name></person-group> (<year>1976</year>). <article-title>An algorithm for subgraph isomorphism</article-title>. <source>Journal of the ACM</source>, <volume>23(1)</volume>, <fpage>31-42</fpage> <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1145/321921.321925">https://doi.org/10.1145/321921.321925</ext-link></mixed-citation></ref>
<ref id="ref23"><label>23</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name>Wang, K., Zuo, Z., Thorpe, J., Nguyen, T.Q. and Xu, G.H.</string-name></person-group> (<year>2018</year>). <article-title>RStream: Marrying relational algebra with streaming for efficient graph mining on a single machine</article-title>. <source>Proceedings of the 13th USENIX Symposium on Operating Systems Design and Implementation</source>, <fpage>763-782</fpage></mixed-citation></ref>
<ref id="ref24"><label>24</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name>Yan, X. and Han, J.</string-name></person-group> (<year>2002</year>). <article-title>gSpan: Graph-based substructure pattern mining</article-title>. <source>Proceedings of the 2002 IEEE International Conference on Data Mining</source>, <fpage>721-724</fpage> <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1109/ICDM.2002.1184038">https://doi.org/10.1109/ICDM.2002.1184038</ext-link></mixed-citation></ref>
<ref id="ref25"><label>25</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name>Yan, X. and Han, J.</string-name></person-group> (<year>2003</year>). <article-title>CloseGraph: Mining closed frequent graph patterns</article-title>. <source>Proceedings of the Ninth ACM SIGKDD International Conference on Knowledge Discovery and Data Mining</source>, <fpage>286-295</fpage> <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1145/956750.956784">https://doi.org/10.1145/956750.956784</ext-link></mixed-citation></ref>
</ref-list>
</back>
</article>