Tool

submine

A research-grade library for frequent subgraph mining with a unified interface over multiple mining backends and graph formats.

Best for

Frequent Subgraph Mining Workflows

Use `submine` when you want one consistent interface over multiple graph mining backends.

Stack

Python + Mining Backends

Built for Python-first workflows while handling the backend-specific friction for you.

What It Does

submine helps users focus on what to mine instead of manually adapting graph data for each mining backend. It validates inputs, detects supported graph formats, and routes execution through a unified Python API.

  • Unified interface across multiple mining algorithms
  • Automatic handling of supported graph formats
  • Safer and more reproducible execution flow
  • Designed for research and extension

Supported Inputs

  • Edge lists such as `.txt` and `.edgelist`
  • gSpan datasets such as `.data` variants
  • Single-graph `.lg` files
  • GEXF graph files

Installation

pip install submine

For development work:

pip install -e ".[dev]"

Example Usage

from submine.api import mine_subgraphs

results = mine_subgraphs(
    data="graphs.data",
    algorithm="gspan",
    min_support=5
)

Typical Use Cases

  • Discover repeated substructures across graph datasets
  • Analyze patterns in social, biological, or information networks
  • Prototype graph mining workflows without rewriting formats by hand

Why It Helps

  • Reduces repetitive data conversion work
  • Keeps graph-mining experiments easier to compare and reproduce
  • Makes it simpler to move from small tests to broader mining studies

Further Reading

Why Subgraph Mining Matters

I wrote a companion article on why subgraph mining matters and how it shifts attention from isolated nodes to recurring structural patterns in complex networks.

Substack essay by Ridwan Amure

More Information