Page History
...
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 = [] |
palvelupisteen graafien osoitteet, jotka ladataan läpikäytäviin muihin graafeihin | |||
--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 (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. Edellyttää tiedostonimeä komentoriviparametrillä modification_dates, josta haetaan MARC21-muutospäivät |
--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 | |||
--pickle_vocabulary |
pickleVocabulary |
Pythonin pickle-muotoinen tiedosto, johon sanastotiedosto pakataan päivän 1. |
käyttökerralla seuraavan ajokerran nopeuttamiseksi |
--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" |
Näiden lisäksi ohjelmassa on oletusarvoina ja tkonfiguroitavissa nimiön arvot ja luettelointikoodit (ei käytössä).
__Käsitteiden suodattuminen on tarkoituksenmukaista. Jos sanaston käsitteillä on viittauksia toisiin sanastoihin, tulee näiden graafit saattaa ohjelman tietoon__ `--endpoint` ja `--endpoint_graphs`__-parametreilla.__
Ohjelmaa voidaan ajaa kolmella tavalla:
1. Tuotetaan sanaston kaikki käsitteet
2. Tuotetaan sanaston kaikki käsitteet ja ylläpidetään tiedostoa MARC21-tietueiden muutospäivämääristä
3. Haetaan muutospäivämäärät edellä mainitusta tiedostosta
Tämä edellyttää, että ohjelma ajetaan aina ensin 2. tavalla, jos halutaan muuttuneet käsitteet. 2. tapa edellyttää komentoriviparametrejä --previous_records ja --modification_dates, 3. tapa edellyttää parametrejä --keep_modified_after ja --modification_dates. 2. tavassa syöte- ja tulostiedosto voivat olla sama (esim. edellisen päivän tiedosto, jonka päälle tallennetaan kaikki käsitteet).
Yhdysvaltojen Kongressin kirjaston `LCSH`- ja `LCGF`-viitteitä ei kuitenkaan tarvitse asettaa näin: ne haetaan ja tallennetaan myöhempää käyttöä varten ohjelman toimesta automaattisesti, jos `--loc_directory="tiedostopolku"`-parametri on asetettu (varmistathan, että tällainen tiedostopolun mukainen kansio on olemassa ja siihen on ohjelmalla käyttö- ja kirjoitusoikeus).
Muunnettavan tiedosto on myös mahdollista putkittaa ohjelmalle, ja muunnettu tiedosto sekä lokitiedosto edelleenputkittaa UNIX-käytänteiden mukaisesti. Putkituksella ei kuitenkaan ole mahdollista ulostulostaa useita erikielisiä tiedostoja yhdellä kertaa - `--output`-parametria käytettäessä eri kieliversiot eritellään toisistaan `nimi-kielitarkenne`-erotuksilla.
Katso tarkemmat ohjeet --help-komennolla.
### Konfiguraatiotiedosto
Kaikille (paitsi pakolliselle `vocabulary_code`-komentoriviparametrille) on olemassa oma vastaava konfiguraatiotiedostossa asetettava kohtansa. `config.ini` sisältää perusmuotoisen konfiguraatiotiedoston, jota voi käyttää pohjana.
`[DEFAULT]`-osiossa on määritelty kaikille sanastoille yhteiset ominaisuudet, joita voi yliajaa muissa osioissa. __Komentoriviparametrit kuitenkin AINA yliajavat asetettuina konfiguraatiotiedoston vastaavat määritykset.__ Huomaathan, että kaikkia ominaisuuksia ei voi asettaa komentoriviltä. Listojen ilmaisemisessa välimerkkinä käytetään pilkkua. __Ohjelma käyttää oletusarvoisesti pakollista sanastokoodia vastaavaa osiota__, mutta tämän voi yliajaa asettamalla `config_section`-komentoriviparametrin (tarpeen esimerkiksi yso-paikkojen tapauksessa, jos haluaa pitää samassa konfiguraatiotiedossa kaikki sanastot).