Skip to main content

A library for mapping a data catalog to rdf

Project description

datacatalogtordf

Tests codecov PyPI Read the Docs

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:

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

datacatalogtordf-3.0.0.tar.gz (27.4 kB view details)

Uploaded Source

Built Distribution

datacatalogtordf-3.0.0-py3-none-any.whl (41.2 kB view details)

Uploaded Python 3

File details

Details for the file datacatalogtordf-3.0.0.tar.gz.

File metadata

  • Download URL: datacatalogtordf-3.0.0.tar.gz
  • Upload date:
  • Size: 27.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.14 CPython/3.8.10 Linux/5.15.0-1019-azure

File hashes

Hashes for datacatalogtordf-3.0.0.tar.gz
Algorithm Hash digest
SHA256 0e6e29e7af136d6cb2a022d744883d3722031bbfd00f890fd1b45f2e8d9d8d56
MD5 50724d99260c0fa6cff9f48d34d20e17
BLAKE2b-256 aeb34bff321d086faa28fe46f5a17fd3b5981e2bbdc5f683f631d3caecb81d55

See more details on using hashes here.

File details

Details for the file datacatalogtordf-3.0.0-py3-none-any.whl.

File metadata

  • Download URL: datacatalogtordf-3.0.0-py3-none-any.whl
  • Upload date:
  • Size: 41.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.14 CPython/3.8.10 Linux/5.15.0-1019-azure

File hashes

Hashes for datacatalogtordf-3.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1829ea143ededf077cc2df041f3f08cdecff1cf470354bb85eca429f262ff70b
MD5 e621aa1b094135a4a7131b975b88bf43
BLAKE2b-256 8292d13f1b2401e240a3daae006e379cb57bd88d330fb3df850876719f7b5865

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page