From d3607cebfb82e090f4bfc910b7b4071af7dfb708 Mon Sep 17 00:00:00 2001 From: ecrum19 Date: Tue, 22 Sep 2026 16:26:15 +0200 Subject: [PATCH] Release v3.1.0 A minor rather than a patch: COTTAS gained a working query engine, validation gained a SHACL shape layer, and the census oracle learned two things it had been getting wrong on real data. COTTAS is queried through comunica over DuckDB instead of pycottas' rdflib Store. The old path could not answer a genotype query at benchmark scale -- 12.7 s for LIMIT 1 on a 39 MB artifact, and 41 hours on q05_sample_genotype_counts without finishing. The same cell now completes in 99.8 minutes with every engine agreeing. A query is also finally interruptible: run_query_process existed with no callers, and no engine ever emitted the exit 124 the query loop keys on, so --validation-query-timeout could not stop anything. The oracle counted value items for INFO only, while the emitter decomposes positional FORMAT keys too. Any file with AD or PL -- most real VCFs -- failed validation with the whole item layer reported as unexpected. It also scored every run against a structured expectation because the representation was never passed across the container boundary, so --info-representation raw could not pass at all. Also: the SHACL profile bundled and applied by default below 512 MiB, severity- aware pyshacl parsing, QLever as the validation default, a cohort-scale refusal before the volume fills, and TSV intermediates freed at the last reader. Conda sha256 returns to its placeholder until the tag exists; populate it with `python3 scripts/release.py 3.1.0 --fetch-conda-sha256` after pushing v3.1.0. Co-Authored-By: Claude Opus 5 --- CITATION.cff | 2 +- README.md | 4 ++-- conda-recipe/README.md | 4 ++-- conda-recipe/meta.yaml | 4 ++-- pyproject.toml | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 9cb4ef4..95e47d1 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -2,7 +2,7 @@ cff-version: 1.2.0 message: "If you use VCF-RDFizer in your research, please cite it using the metadata below." title: "VCF-RDFizer" type: software -version: "3.0.3" +version: "3.1.0" authors: - name: "VCF-RDFizer maintainers" repository-code: "https://github.com/ecrum19/VCF-RDFizer" diff --git a/README.md b/README.md index a43a104..7473ae6 100644 --- a/README.md +++ b/README.md @@ -1083,7 +1083,7 @@ Safe termination: If you use VCF-RDFizer in a publication, please cite: -VCF-RDFizer maintainers. (2026). *VCF-RDFizer* (Version 3.0.3) [Computer software]. GitHub. https://github.com/ecrum19/VCF-RDFizer +VCF-RDFizer maintainers. (2026). *VCF-RDFizer* (Version 3.1.0) [Computer software]. GitHub. https://github.com/ecrum19/VCF-RDFizer BibTeX: @@ -1092,7 +1092,7 @@ BibTeX: author = {{VCF-RDFizer maintainers}}, title = {VCF-RDFizer}, year = {2026}, - version = {3.0.3}, + version = {3.1.0}, url = {https://github.com/ecrum19/VCF-RDFizer}, note = {Computer software} } diff --git a/conda-recipe/README.md b/conda-recipe/README.md index 7dc88c7..60f5198 100644 --- a/conda-recipe/README.md +++ b/conda-recipe/README.md @@ -7,11 +7,11 @@ do not submit this package to `staged-recipes`. ## Before submitting to conda-forge -1. Commit the version bump, then create and push a Git tag (for example `v3.0.3`). +1. Commit the version bump, then create and push a Git tag (for example `v3.1.0`). 2. Download the source tarball and compute sha256: ```bash curl -L -o vcf-rdfizer.tar.gz \ - https://github.com/ecrum19/VCF-RDFizer/archive/refs/tags/v3.0.3.tar.gz + https://github.com/ecrum19/VCF-RDFizer/archive/refs/tags/v3.1.0.tar.gz shasum -a 256 vcf-rdfizer.tar.gz ``` 3. Replace `version` and `sha256` in the feedstock's `recipe/meta.yaml`. diff --git a/conda-recipe/meta.yaml b/conda-recipe/meta.yaml index 3189111..42fff19 100644 --- a/conda-recipe/meta.yaml +++ b/conda-recipe/meta.yaml @@ -1,5 +1,5 @@ {% set name = "vcf-rdfizer" %} -{% set version = "3.0.3" %} +{% set version = "3.1.0" %} package: name: {{ name|lower }} @@ -7,7 +7,7 @@ package: source: url: https://github.com/ecrum19/VCF-RDFizer/archive/refs/tags/v{{ version }}.tar.gz - sha256: 25cdba9c63f1128fe0298f44de5897a1fffc8e0235b8f80ec7b26cd45e325cf0 + sha256: REPLACE_WITH_GITHUB_TARBALL_SHA256 build: noarch: python diff --git a/pyproject.toml b/pyproject.toml index c02fb52..c224c5c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "vcf-rdfizer" -version = "3.0.3" +version = "3.1.0" description = "Docker-first VCF to RDF conversion targeting the VCF Core vocabulary, with compressed queryable representations (HDT, COTTAS), semantic validation, and data linking" readme = "README.md" requires-python = ">=3.10"