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-2.1.1.tar.gz (24.4 kB view details)

Uploaded Source

Built Distribution

datacatalogtordf-2.1.1-py3-none-any.whl (34.3 kB view details)

Uploaded Python 3

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

Hashes for datacatalogtordf-2.1.1.tar.gz
Algorithm Hash digest
SHA256 bae2b0f04c1341b5a0002879b8e0a6a8d4369b6cdafc3eac85c619b3331e5cba
MD5 1c534d9b18680bafacb5d2db90d450ad
BLAKE2b-256 421996efb85fd8cb71f5eb0c567446ab88d4cabf6d2445b421227c880d1b5836

See more details on using hashes here.

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

Hashes for datacatalogtordf-2.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0e8875d20ed238b8dd537ceec9605b573525bab85fe651746d4fc32731a0be8f
MD5 4830c7f8fc98cc1af9e428a907626a56
BLAKE2b-256 a2743d81ce40eaefc9f0fcadc2b90c2bde07be72065478e3e8b05cdf1ff19b3e

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