Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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
 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


 Jos tulostetaan vain muuttuneet käsitteet, annetaan päivämäärä muodossa YYYY-MM-
DD 
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
 pickleFile  Pythonin
 pickleVocabulary
 

Pythonin pickle-muotoinen tiedosto, johon sanastotiedosto pakataan päivän 1.
käyttökerralla 
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).