Skip to main content

semantify

Semantification of the CEUR-WS publication workflow

PyPi PyPI Status License pypi format downloads
GitHub Github Actions Build Release Contributors Last Commit GitHub issues GitHub closed issues
Code style-black imports-isort
Docs API Docs formatter-docformatter style-google

See Issue #1: Semantify CEUR-WS for the project vision and definition of done.

Generator

ceursemantify generates year, volume and paper pages for volume numbers and ranges, see #24. The JSON-LD of each volume is fetched from ceur-spt and mapped to the research model of cr.bitplan.com. The year of a volume is the year of the start date of its event.

# generate volumes into the year of their event
ceursemantify 3649-4202 -o /tmp/ceur-ws-yyyy --progress
# rebuild the page of a year from the volumes present
ceursemantify --year 2024 -o /tmp/ceur-ws-yyyy
# fetch and write the volumes of a year again and rebuild its page
ceursemantify --year 2024 --regenerate -o /tmp/ceur-ws-yyyy --progress
# load all JSON-LD files into memory and serve them as SPARQL endpoint, see #18
ceursemantify --serve -o /tmp/ceur-ws-yyyy

Written are yyyy/index.html, yyyy/Vol-N/index.html and yyyy/Vol-N/paperK/index.html, each volume and paper page with an index.jsonld beside it and the same JSON-LD as a json-ld fence in an HTML comment that semantify3 extracts again.

Embedding

For a volume published on ceur-ws.org the page of the proceedings chair stays as it is; --embed parses it, maps it to the research model and embeds the JSON-LD into it, see #28.

# embed the JSON-LD into the volume pages of the chairs and write index.jsonld next to them
ceursemantify --embed /path/to/Vol-4280 /path/to/Vol-4281/index.html

The page gets a CEURSTATE=embedded comment, the alternate link and the fence in its head; the page is only rewritten if the embedded page parses to the same proceedings as the original one. Embedding again replaces the embedded parts.

File Role
ceursemantify/model.py research model: Proceedings, Paper, Event, Scholar, Publisher, City, Country
ceursemantify/resources/ceurspt_mapping.yaml the one input mapping: ceur-spt JSON-LD to the research model
ceursemantify/resources/context.yaml JSON-LD context of the research model, with the terms the ontology does not have yet
ceursemantify/resources/site.yaml site configuration

Prototype: 2023, 2024, 2025, 2026

Project Role
pyCEURmake CEUR-WS metadata extraction and Volume Browser
ceur-spt Single Point of Truth server — content negotiation (FastAPI)
SemPubFlow Metadata-first publishing workflow (nicegui)
pyLoDStorage List-of-Dict storage with named query support
geograpy3 Location NER/NEL with Wikidata linking
semantify3 YAML-to-triples — syntax matters
snapquery Named parameterized query middleware

Papers

Paper Venue Status
Semantification of CEUR-WS with Wikidata as a target Knowledge Graph text2kg 2023 accepted
SemPubFlow: a novel Scientific Publishing Workflow using Knowledge Graphs, Wikidata and LLMs Semantic Web Journal rejected
Semantify CEUR-WS ISWC 2026 In-Use Track to be submitted

License

Apache 2.0 (under discussion)

Metadata

Release files for pyCEURsemantify 0.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyCEURsemantify 0.0.1
File Size Uploaded Provenance
pyceursemantify-0.0.1.tar.gz 74.7 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for pyCEURsemantify 0.0.1
File Interpreter ABI Platform
pyceursemantify-0.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 115.9 kB

Release files / pyceursemantify-0.0.1.tar.gz

Download URL pyceursemantify-0.0.1.tar.gz
Size 74.7 kB
Tags Source
SHA-256 checksum
How to use checksums
7fb94e25bbf71fcae143b89ddcd2c36378582d5b8d16693404e488048679dbbb
BLAKE2b-256 checksum
How to use checksums
77893eb11fbc2db26b0b4da002d84c4fcfa98b3b8589d6c75c9acaa7509abc5c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.

Transparency log

Release files / pyceursemantify-0.0.1-py3-none-any.whl

Download URL pyceursemantify-0.0.1-py3-none-any.whl
Size 41.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f58d49c1d3e924f26381a7e70dad0c71d084cca4b021771fd763d2f1b1ea5443
BLAKE2b-256 checksum
How to use checksums
f579f8a956ed77d84bda8b435f31108f9a039c149f3c1ae44fcbddb635b9c013
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.

Transparency log

Security for pyCEURsemantify 0.0.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for pyceursemantify-0.0.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page