Page History
...
Ysasta Ysoon siirtymän vuoksi tietueiden ylläpito siirtyi MARC21-tietueiden ylläpidosta RDF-muotoisen tietokannan yläpitoon. Koska kirjastojärjestelmät käsittelevät edelleen MARC21-muotoisia tietueita, tarvitaan konversio-ohjelma, joka kääntää SKOS-muotoiset sanastot (YSO, YSO-paikat, SLM) MARCXML-muotoon. Sanastot on julkaistu Finto.fi-palvelussa, jossa ne ovat vapaasti selattavissa. Myös MARCXML-muotoiset sanastot ovat tulevaisuudessa ladattavissa kunkin sanaston etusivulta, jossa ne ovat myös RDF-muodossa ladatattavissa.
Finto-skos-to-marc-muunnin
...
Muuntaa Finton SKOS-muotoisen sanastotiedoston MARC-muotoiseksi (.mrcx).
Ohjelma tukee tällä hetkellä Yso-, Yso-paikat- ja SLM-sanastojen erikoisominaisuuksia.
Ajaminen ja muunnos
Ohjelma edellyttää vähintään Python versiota 3.4.
Yksinkertaisimmillaan muunnos tapahtuu esimerkiksi seuraavalla komennolla:
`python3 finto-skos-to-marc.py --vocabulary_code="sanastotunnus" --input="tiedostopolku" --languages="fi" --output="tiedostopolku2" --log_file="tiedostopolku3"`
Tämä luo `tiedostopolku2`-tiedostopolkuun tiedoston, jossa on kompaktissa MARCXML-muodossa ohjelman muuntamat käsitteet. __Osa käsitteistä voi jäädä muuntamatta esimerkiksi puutteellisen tiedon vuoksi__ (näin mm. tapahtuu, jos käsitteellä ei ole muunnettavalla kielellä skos:prefLabel-ominaisuutta) tai esimerkiksi `--keep_deprecated_after="None"`-rajoitteen vuoksi.
Rajoitteita on asetettavissa enemmän `config`-komentoriviparametrillä annettavassa konfiguraatiotiedostossa:
Komentoriviparametri | Konfiguraatiotiedosto | Oletusarvo ohjelman muuttujissa | Selite |
---|---|---|---|
--config | konfigointitiedoston sijainti | ||
--config_section | asetettava, jos jos konfigurointitiedoston sektion nimi on eri kuin sanastokoodi (esim. "yso-paikat") | ||
creatorAgency | FI-NL | 003-kenttään kirjoitettava ISIL-tunnus | |
--default_creation_date | defaultCreationDate | 1980-01-01 | päivämäärä 688-kenttään, jos käsitteessä tätä ei ole määritelty |
--endpoint | endpoint | ENDPOINT_ADDRESS http://api.dev.finto.fi/sparql | osoite, josta haetaan sanastoon linkittyneitä muita sanastoja |
--endpoint_graphs | endpointGraphs | ENDPOINTGRAPHS = [] | sanasto(t), joita halutaa |
--grouping_classes | groupingClasses | GROUPINGCLASSES | YSOn ryhmäkäsitteet, joita ei tulosteta, jos keepGroupingClasses |
--input | Konvertoitavan sanaston tiedosto | ||
--input_format | inputFormat | oletusarvo turtle, joku RDFLib-kirjaston hyväksymistä https://rdflib.readthedocs.io/en/stable/plugin_parsers.html | |
--ignore_other_graph_warnings | ignoreOtherGraphWarning | False | Ei lokiteta mitään, jos toisesta sanastosta ei löydy vastinetta vastinetta (arvo = True) |
--keep_deprecated_after | keepDeprecatedAfter | ALL | Päivämäärä, jonka jälkeen deprekoidut käsitteet tuotetaan MARC21-muodossa ("all" tai "none", jos ei päivämäärää) |
--keep_grouping_classes | keepGroupingClasses | Tulostetaan sanaston ryhmäkäsitteet, jotka määritelty konfigointitiedoston groupingClasses-kohdassa | |
--keep_modified_after | jos tulostetaan vain muuttuneet käsitteet, annetaan päivämäärä muodossa YYYY-MM-DD | ||
--languages | kieli tai kielet (erota pilkuin), jotka halutaan sanastoon | ||
--loc_directory | locDirectory | tallennuskansio kongressin kirjaston MARC21-tietueille | |
--log_file | lokitiedoston sijainti | ||
--modification_dates | Pythonin pickle-muotoinen tiedosto, jossa ylläpidetään MARC21-tietueiden muutospäivämääriä | ||
--multilanguage_vocabulary | multilanguage | Jos kyseessä on monikielinen sanasto ja sanastokoodiin halutaan kielikoodi, arvoksi True | |
NORMALIZATION_FORM = "NFD" | käytetään UTF8-merkkien dekoodauksessa | ||
--output | kirjoitettava tiedosto | ||
pickleFile | Pythonin pickle-muotoinen tiedosto, johon sanastotiedosto pakataan 1. käyttökerralla | ||
--previous_records | sijainti syötetiedostolle, johon uusia käsitteitä verrataan ja . Voi olla sama kuin tulostettava tiedosto | ||
--vocabulary_code | Sanastokoodi, joka tulee MARC21:een. Yso-paikoilla "yso" |
...