A small Python library for mapping a concept collection to the skos-ap-no specification
Project description
concepttordf
A small Python library for mapping a concept collection to the skos-ap-no specification.
Usage
Install
% pip install -i concepttordf
Getting started
To create a SKOS-AP-NO concept collection:
from concepttordf import Collection, Concept, Definition
# Create collection object
collection = Collection()
collection.identifier = "http://example.com/collections/1"
collection.name = {"en": "A concept collection"}
collection.name = {"nb": "En begrepssamling"}
collection.publisher = "https://example.com/publishers/1"
# Create a concept:
c = Concept()
c.identifier = "http://example.com/concepts/1"
c.term = {"name": {"nb": "inntekt", "en": "income"}}
definition = Definition()
definition.text = {"nb": "ting man skulle hatt mer av",
"en": "something you want more of"}
c.definition = definition
# Add concept to collection:
collection.members.append(c)
# get rdf representation in turtle (default)
rdf = collection.to_rdf()
print(rdf.decode())
Will print the concept according to the specification:
@prefix dcat: <http://www.w3.org/ns/dcat#> .
@prefix dct: <http://purl.org/dc/terms/> .
@prefix ns1: <https://data.norge.no/vocabulary/skosno#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix skosno: <http://difi.no/skosno> .
@prefix skosxl: <http://www.w3.org/2008/05/skos-xl#> .
@prefix vcard: <http://www.w3.org/2006/vcard/ns#> .
@prefix xml: <http://www.w3.org/XML/1998/namespace> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<http://example.com/collections/1> a skos:Collection ;
rdfs:label "En begrepssamling"@nb ;
dct:publisher <https://example.com/publishers/1> ;
skos:member <http://example.com/concepts/1> .
<http://example.com/concepts/1> a skos:Concept ;
ns1:betydningsbeskrivelse [ a ns1:Definisjon ;
rdfs:label "something you want more of"@en,
"ting man skulle hatt mer av"@nb ] ;
skosxl:prefLabel [ a skosxl:Label ;
skosxl:literalForm "income"@en,
"inntekt"@nb ] .
Development
Requirements
- python3
- pipenv
Install
% git clone https://github.com/Informasjonsforvaltning/concepttordf.git
% cd concepttordf
% pipenv install
% pipenv shell
% pipenv install --dev -e .
Run all tests
% pytest -rA
With simple coverage-report in output:
% pytest -rA --cov-report term-missing --cov=concepttordf tests/
Wit coverage-report to html:
% pytest -rA --cov-report html --cov=concepttordf tests/
Debugging
You can enter into Pdb by passing --pdb
to pytest:
pytest --pdb -rA --cov-report term-missing --cov=concepttordf tests/
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
concepttordf-1.0.0rc5.tar.gz
(9.5 kB
view details)
Built Distribution
File details
Details for the file concepttordf-1.0.0rc5.tar.gz
.
File metadata
- Download URL: concepttordf-1.0.0rc5.tar.gz
- Upload date:
- Size: 9.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.8.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7023ffc5fad1fbb8cfe8f4267716325550d2185a1ab99b331f5dfaf61b5fc2fa |
|
MD5 | 8e10d129aa98dd55916174581e40bc89 |
|
BLAKE2b-256 | 80d782c143ae1d774aef5e7b535c0a4b5b60d07354b6ed5ed2756ffbb8782037 |
File details
Details for the file concepttordf-1.0.0rc5-py3-none-any.whl
.
File metadata
- Download URL: concepttordf-1.0.0rc5-py3-none-any.whl
- Upload date:
- Size: 17.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.8.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 956ead5c8b63021d650215899da72926bee179b21088609ba5c9e18d9f091627 |
|
MD5 | 92baf12187b16d3d873f1fc78338c9a2 |
|
BLAKE2b-256 | d4ed5c05df63537e6d4edd679dc133831b0d16f37bce02db2cd15ba9269680a1 |