SeMPyRO (for Semantic Models Python Pydantic RDF Ontology) is a Pydantic models representing classes of DCAT-AP v3 data model.
Project description
SeMPyRO Data Models
SeMPyRO (for Semantic Models Python/Pydantic RDF Ontology) is a Python package containing Pydantic models representing classes of the DCAT-AP v3 data model. It is designed to streamline data validation, conversion to RDF, and schema generation processes.
Key Features
- Data Validation: Easily validate data against schemas, ensuring its correctness, integrity and DCAT-AP compatibility.
- RDF Graph Conversion: Convert data into RDF graphs effortlessly, enabling integration with RDF-based systems and applications.
- Schema Generation: Generate JSON/YAML schemas compatible with the DCAT-AP v3 profile, facilitating interoperability and compliance with standards.
- Pydantic Integration: Built upon the robust Pydantic library, leveraging its powerful validation capabilities and extending them for RDF handling.
Background
DCAT
DCAT is an RDF vocabulary designed to facilitate interoperability between data catalogs published on the Web.
DCAT enables a publisher to describe datasets and data services in a catalog using a standard model and vocabulary that facilitates the consumption and aggregation of metadata from multiple catalogs. This can increase the discoverability of datasets and data services. It also makes it possible to have a decentralized approach to publishing data catalogs and makes federated search for datasets across catalogs in multiple sites possible using the same query mechanism and structure. Aggregated DCAT metadata can serve as a manifest file as part of the digital preservation process.
Official DCAT v3 specification
DCAT-AP
DCAT-AP is a DCAT profile for sharing information about Catalogues containing Datasets and Data Services descriptions in Europe, under maintenance by the SEMIC action, Interoperable Europe. This Application Profile provides a minimal common basis within Europe to share Datasets and Data Services cross-border and cross-domain.
Official DCAT-AP v3 specification
Health-RI core data model
Health-RI is a no profit organization in the Netherlands dedicated to improving the reuse of health data for policy, research, and innovation to achieve a learning healthcare system. We have published a Core Metadata Model based on DCAT-AP specification for the sharing of Dutch healthcare-related datasets. Current package includes Pydantic classes for the Health-RI Core model.
Installation
To install the package run
pip install sempyro
Documentation folder contains usage examples executable in Jupiter Notebook. If you want to explore them follow official Jupyter installation guid. Additionally you may need to install pandas and/or erdantic.
Licence
Documentation
For more information on package content and usage see:
- Intro: An introduction to RDF, DCAT and DCAT-AP and using them in SeMPyRO.
- Models: An overview of the models defined in SeMPyRO.
- Defining a model of your own and extending models: An instruction on how to define your own model and extending existing models.
- Preparing and uploading data to Fair Data Point with SeMPyRO and Preparing and uploading data to Fair Data Point with SeMPyRO using Health-RI Core v2 for an interactive introduction to the functionality.
To push metadata manually to a FAIR Data Point, you can use this Juypter notebook: Pushing metadata to an FDP.
Known issues
Method .get_fields_types() from the ModelAnnotationUtil object returned by RDFModel.annotate_model() returns
an AttributeError when run under Python 3.9. This method does work in Python 3.10 and up.
See issue #43.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sempyro-0.1.dev1.tar.gz.
File metadata
- Download URL: sempyro-0.1.dev1.tar.gz
- Upload date:
- Size: 15.4 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
78c94fbc9b6b163f5c948b0e992c9787e26f70eb13463afcff79239bde992671
|
|
| MD5 |
c49a360e1c5ed745b6f8392940766e3b
|
|
| BLAKE2b-256 |
d739e11dd8ab7de05b8885aa2405fa8598cc4aa01cb3321bc5d622048faba301
|
Provenance
The following attestation bundles were made for sempyro-0.1.dev1.tar.gz:
Publisher:
publish_package.yml on Health-RI/SeMPyRO
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sempyro-0.1.dev1.tar.gz -
Subject digest:
78c94fbc9b6b163f5c948b0e992c9787e26f70eb13463afcff79239bde992671 - Sigstore transparency entry: 281523254
- Sigstore integration time:
-
Permalink:
Health-RI/SeMPyRO@f5677803aec2e3ff3545669460d2a36829a25935 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Health-RI
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish_package.yml@f5677803aec2e3ff3545669460d2a36829a25935 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file sempyro-0.1.dev1-py3-none-any.whl.
File metadata
- Download URL: sempyro-0.1.dev1-py3-none-any.whl
- Upload date:
- Size: 86.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3944ca519891a261c9e3b29e566ce5030f8f3b158af2e8b277bf70bc1332f33a
|
|
| MD5 |
1e283d8459e1751469d70b460088ba58
|
|
| BLAKE2b-256 |
be3c5ba8e80d456d3a4174192384369ec3ed7dda5dfca8d2d6ed6312950e8a8b
|
Provenance
The following attestation bundles were made for sempyro-0.1.dev1-py3-none-any.whl:
Publisher:
publish_package.yml on Health-RI/SeMPyRO
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sempyro-0.1.dev1-py3-none-any.whl -
Subject digest:
3944ca519891a261c9e3b29e566ce5030f8f3b158af2e8b277bf70bc1332f33a - Sigstore transparency entry: 281523265
- Sigstore integration time:
-
Permalink:
Health-RI/SeMPyRO@f5677803aec2e3ff3545669460d2a36829a25935 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Health-RI
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish_package.yml@f5677803aec2e3ff3545669460d2a36829a25935 -
Trigger Event:
workflow_dispatch
-
Statement type: