Informasjonsforvaltning / datacatalogtordf

A library that will map a data catalog (inkl dataset, dataservices and other dcat resources) to rdf
Apache License 2.0
5 stars 1 forks source link

Publisher blir ikke med i RDF #26

Open vhasse-ehelse opened 3 years ago

vhasse-ehelse commented 3 years ago

Propertyen Publisher blir ikke med når datasettet transformeres til RDF. Dette gjelder dersom Publisher blir tildelt en URI. Dersom Publisher blir satt til å være en String så går det fint

stigbd commented 3 years ago

Kan du vere snill å legg inn kode-dømer som viser dei to tilfella i ein kommentar her?

vhasse-ehelse commented 3 years ago
import datacatalogtordf as dtr

dataset = dtr.Dataset()
dataset.identifier = dtr.URI("Identifier")
dataset.publisher = dtr.URI("Publisher")
rdf = dataset.to_rdf()
print(rdf.decode())

Dette gir en tom RDF (både for Identifier og Publisher)

vhasse-ehelse commented 3 years ago
import datacatalogtordf as dtr

dataset = dtr.Dataset()
dataset.identifier = dtr.URI("Identifier")
dataset.publisher = "Publisher"
rdf = dataset.to_rdf()
print(rdf.decode())

Dette gir en RDF med Publisher

stigbd commented 3 years ago

I følge dokumentasjonen så bør ein bruke biblioteket på denne måten (eksempel):

from datacatalogtordf import Dataset

# Create a dataset:
dataset = Dataset()
dataset.identifier = "http://example.com/datasets/1"
dataset.title = {"nb": "inntektsAPI", "en": "incomeAPI"}
dataset.publisher = "http://example.com/publisher/id"

Resultat:

>>> print(dataset.to_rdf().decode())
@prefix dcat: <http://www.w3.org/ns/dcat#> .
@prefix dct: <http://purl.org/dc/terms/> .

<http://example.com/datasets/1> a dcat:Dataset ;
    dct:publisher <http://example.com/publisher/id> ;
    dct:title "incomeAPI"@en,
        "inntektsAPI"@nb .

Som ser korrek ut.

Biblioteket har ikkje støtte for at du setter disse attributtene til datacatalogtordf.uri.URI i staden for string (eller datacatalogtordf.agent.Agent når det gjelder publisher).

Mulig vi burde støtte dette, men eg anbefaler at du setter publisher og identifier til string inn til vidare.

vhasse-ehelse commented 3 years ago

Den er grei, jeg kan fint bruke string! Grunnen til at jeg brukte URI er at jeg slo opp i resource.py-filen og leste følgende i kommentaren til klassen. Jeg trodde derfor jeg måtte oppgi URI-er.

publisher (Any):  A URI uniquely identifying the publisher of the resource
identifier (URI): A URI uniquely identifying the resource
stigbd commented 3 years ago

Fint. Skal oppklare litt kommentaren.