A library for mapping a data catalog to rdf
Project description
datacatalogtordf
A small Python library for mapping a data catalog to rdf
The library contains helper classes for the following dcat classes:
Other relevant classes are also supported, such as:
- Contact vcard:Kind
The library will map to the Norwegian Application Profile of the DCAT standard.
Usage
Install
% pip install datacatalogtordf
Getting started
from datacatalogtordf import Catalog, Dataset
# Create catalog object
catalog = Catalog()
catalog.identifier = "http://example.com/catalogs/1"
catalog.title = {"en": "A dataset catalog"}
catalog.publisher = "https://example.com/publishers/1"
# Create a dataset:
dataset = Dataset()
dataset.identifier = "http://example.com/datasets/1"
dataset.title = {"nb": "inntektsAPI", "en": "incomeAPI"}
#
# Add dataset to catalog:
catalog.datasets.append(dataset)
# get rdf representation in turtle (default)
rdf = catalog.to_rdf(format="turtle")
print(rdf.decode())
Will produce the following output:
@prefix dcat: <http://www.w3.org/ns/dcat#> .
@prefix dct: <http://purl.org/dc/terms/> .
<http://example.com/catalogs/1> a dcat:Catalog ;
dct:publisher <https://example.com/publishers/1> ;
dct:title "A dataset catalog"@en ;
dcat:dataset <http://example.com/datasets/1> .
<http://example.com/datasets/1> a dcat:Dataset ;
dct:title "incomeAPI"@en,
"inntekstAPI"@nb .
Development
Requirements
% pipx install poetry==1.1.13
% pipx install nox==2022.1.7
% pipx inject nox nox-poetry==0.9.0
Install developer tools
% git clone https://github.com/Informasjonsforvaltning/datacatalogtordf.git
% cd datacatalogtordf
% pyenv install 3.8.12
% pyenv install 3.9.10
% pyenv local 3.8.12 3.9.10
% poetry install
Run all sessions
% nox
Run all tests with coverage reporting
% nox -rs tests
Debugging
You can enter into Pdb by passing --pdb
to pytest:
nox -rs tests -- --pdb
You can set breakpoints directly in code by using the function breakpoint()
.
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
datacatalogtordf-2.1.1.tar.gz
(24.4 kB
view details)
Built Distribution
File details
Details for the file datacatalogtordf-2.1.1.tar.gz
.
File metadata
- Download URL: datacatalogtordf-2.1.1.tar.gz
- Upload date:
- Size: 24.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.13 CPython/3.8.10 Linux/5.13.0-1029-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bae2b0f04c1341b5a0002879b8e0a6a8d4369b6cdafc3eac85c619b3331e5cba |
|
MD5 | 1c534d9b18680bafacb5d2db90d450ad |
|
BLAKE2b-256 | 421996efb85fd8cb71f5eb0c567446ab88d4cabf6d2445b421227c880d1b5836 |
File details
Details for the file datacatalogtordf-2.1.1-py3-none-any.whl
.
File metadata
- Download URL: datacatalogtordf-2.1.1-py3-none-any.whl
- Upload date:
- Size: 34.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.13 CPython/3.8.10 Linux/5.13.0-1029-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0e8875d20ed238b8dd537ceec9605b573525bab85fe651746d4fc32731a0be8f |
|
MD5 | 4830c7f8fc98cc1af9e428a907626a56 |
|
BLAKE2b-256 | a2743d81ce40eaefc9f0fcadc2b90c2bde07be72065478e3e8b05cdf1ff19b3e |