Skip to content
FormalLanguageConstrainedPathQueryingPublic

About

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

Topics

Resources

Stars

13 stars

Watchers

9 watching

Forks

Repository files navigation

FLPQ_Data

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

FLPQ_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 Formal Language constrained Path Querying algorithms.

Installation

Install from PyPI with pip:

pip install flpq-data

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

What's inside

FLPQ_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 flpq_data
>>> flpq_data.GRAPHS[: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 = flpq_data.download_graph("bzip")
>>> bzip = flpq_data.graph_from_mtx_dir(bzip_path / "graph")

For developers

To work on FLPQ_Data itself, set up the development environment (uv):

uv sync --all-groups

and run the main local checks that CI enforces — tests, quality checks, and the docs build:

uv run pytest
uv run pre-commit run --all-files
uv run make -C docs html

The full developer guide — development setup, quality checks, the test pipeline, docs build and deployment, the package release process, and contribution guidelines — is on the Developer page.

How to contribute new data?

Create an Issue corresponding to the "CONTRIBUTE NEW DATA" issue template — one or more validated archives (one graph each), links to them, and the motivation. The maintainers upload and merge the data into the dataset; the full contribution guide is on the Contributing data page.

Citation

If you use FLPQ_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

13 stars

Watchers

9 watching

Forks

Releases

Packages

Used by

Contributors

Languages