Skip to content

Repository files navigation

CFPQ_Data

https://github.com/FormalLanguageConstrainedPathQuerying/CFPQ_Data/actions/workflows/tests.yml/badge.svg?branch=master https://codecov.io/gh/FormalLanguageConstrainedPathQuerying/CFPQ_Data/branch/master/graph/badge.svg?token=6IAZM6KZT7

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.

Installation

Install from PyPI with pip:

pip install cfpq-data

Requires Python 3.11–3.13; see the Install page for details.

What's inside

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.

Examples

Dataset content

>>> 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.

Load graph from Dataset

>>> bzip_path = cfpq_data.download("bzip")
>>> bzip = cfpq_data.graph_from_mtx_dir(bzip_path / "graph")

For developers

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.

How to add a new graph?

Just create

Citation

If you use CFPQ_Data in your work, please cite it — see the Citation section on the About page for BibTeX entries.

Licensing

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).

About

Graphs and grammars for Context-Free Path Querying algorithms evaluation.

Topics

Resources

Stars

12 stars

Watchers

10 watching

Forks

Releases

Packages

Used by

Contributors

Languages