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

Uploaded Source

Built Distribution

datacatalogtordf-2.1.2-py3-none-any.whl (34.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: datacatalogtordf-2.1.2.tar.gz
  • Upload date:
  • Size: 24.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.8.10 Linux/5.13.0-1031-azure

File hashes

Hashes for datacatalogtordf-2.1.2.tar.gz
Algorithm Hash digest
SHA256 f3e3eeabf82b64ef22cec96910fc09ebf06d7f05be919758fbfd753d3e52db2a
MD5 dc43a370858b42c686c09e92622ac093
BLAKE2b-256 4ebf6214e0984e04b3ca32216fd8f4d0937a93e191b7d06b44e627a0f2d21b0b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: datacatalogtordf-2.1.2-py3-none-any.whl
  • Upload date:
  • Size: 34.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.8.10 Linux/5.13.0-1031-azure

File hashes

Hashes for datacatalogtordf-2.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 db96e1edae59d997ef2570f8d7d27f1468c8c957c91851f2760038b044aa0497
MD5 7b739dd014faa545805933fca6733379
BLAKE2b-256 9ef35d0f76208e77b3ff3534c0b5ec6b9e0cc34c535a8c4de96f1225de90c583

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