CFPQ_Data is a Python package for the creation, manipulation, and study of the structure, dynamics, and functions of complex Graphs and Grammars used for experimental analysis of Context-Free Path Querying algorithms.
- Website: https://formallanguageconstrainedpathquerying.github.io/CFPQ_Data
- Tutorial: https://formallanguageconstrainedpathquerying.github.io/CFPQ_Data/tutorial.html
- Documentation: https://formallanguageconstrainedpathquerying.github.io/CFPQ_Data/reference/index.html
- Source Code: https://github.com/formallanguageconstrainedpathquerying/CFPQ_Data
- Bug Tracker: https://github.com/formallanguageconstrainedpathquerying/CFPQ_Data/issues
- Changelog: https://github.com/FormalLanguageConstrainedPathQuerying/CFPQ_Data/blob/master/CHANGELOG.md
Install from PyPI with pip:
pip install cfpq-data
Requires Python 3.11–3.13; see the Install page for details.
CFPQ_Data bundles 113 labeled directed graphs across eight families — C alias analysis, RDF/OWL datasets, Java points-to, field-sensitive aliasing, context-sensitive data-flow, data provenance, name resolution (stack graphs), and biological graphs from UniProt — together with the context-free grammars used to query them. Each graph ships as a per-label MatrixMarket archive; see the Graphs page for statistics and download links.
>>> import cfpq_data
>>> cfpq_data.DATASET[:3]
['skos', 'wc', 'generations']The full list of graphs, with statistics and download links, is on the Graphs page.
>>> bzip_path = cfpq_data.download("bzip")
>>> bzip = cfpq_data.graph_from_mtx_dir(bzip_path / "graph")To work on CFPQ_Data itself, set up the development environment (Poetry):
poetry install --with dev,test,docs poetry run pip install .
and run the main local checks that CI enforces — tests, style, and the docs build:
poetry run pytest --doctest-modules -vv -s cfpq_data tests pre-commit run --all-files poetry run make -C docs html
The full developer guide — development setup, pre-commit, the test pipeline, docs build and deployment, the package release process, and contribution guidelines — is on the Developer page.
Just create
- an
Issuecorresponding to the "Issue template for adding a new graph". - a
Pull Requestcorresponding to the "Pull request template for adding a new graph".
If you use CFPQ_Data in your work, please cite it — see the Citation section on the About page for BibTeX entries.
The code (package source, documentation, and tooling) is licensed under Apache-2.0 (LICENSE.txt). The dataset (graphs, grammars, and benchmarks) is licensed under CC-BY 4.0 (LICENSE-DATA.txt).