Kerta-ajo: korjaus Asterin toimijanimiin ja sanastoihin
Last modified by Ville Huhtala on 2025/02/04 07:11
Tee nämä muutokset heti Almaan siirtymisen jälkeen.
Kerta-ajo: kenttä 600, 610, 611 "Alma muotoisiksi"
- lisää kenttiin 600, 610 ja 611 '$2 finaf', jos kentässä '$0 (FI-ASTERI-N)'
- vaihtaa 2ind arvoksi 4 → 7, jos kentässä '$0 (FI-ASTERI-N)'
- poistaa kentistä 600, 610 ja 611 samansisältöiset tuplaosakentät $0 ja $2
6xx asterilinkkautuvaksi
rule "tee 600/610/611 asterilinkkautuvaksi osakenttä 0 perusteella"
priority 18
when
TRUE
then
addsubfield "600.2.finaf" if (exists "600.0.(FI-ASTERI-N)*")
addsubfield "610.2.finaf" if (exists "610.0.(FI-ASTERI-N)*")
addsubfield "611.2.finaf" if (exists "611.0.(FI-ASTERI-N)*")
changeSecondIndicator "600" to "7" if (exists "600.0.(FI-ASTERI-N)*")
changeSecondIndicator "610" to "7" if (exists "610.0.(FI-ASTERI-N)*")
changeSecondIndicator "611" to "7" if (exists "611.0.(FI-ASTERI-N)*")
end
rule "poista tuplaosakentät 0 ja 2"
priority 15
when
(TRUE)
then
correctDuplicateSubfields "600" "02"
correctDuplicateSubfields "610" "02"
correctDuplicateSubfields "611" "02"
end
priority 18
when
TRUE
then
addsubfield "600.2.finaf" if (exists "600.0.(FI-ASTERI-N)*")
addsubfield "610.2.finaf" if (exists "610.0.(FI-ASTERI-N)*")
addsubfield "611.2.finaf" if (exists "611.0.(FI-ASTERI-N)*")
changeSecondIndicator "600" to "7" if (exists "600.0.(FI-ASTERI-N)*")
changeSecondIndicator "610" to "7" if (exists "610.0.(FI-ASTERI-N)*")
changeSecondIndicator "611" to "7" if (exists "611.0.(FI-ASTERI-N)*")
end
rule "poista tuplaosakentät 0 ja 2"
priority 15
when
(TRUE)
then
correctDuplicateSubfields "600" "02"
correctDuplicateSubfields "610" "02"
correctDuplicateSubfields "611" "02"
end
Rajoitukset
- Asterin nimimuoto vaihtunut (esim. lisätty vuosilukuja) sen jälkeen kun tietue viimeksi tallennettu tietokantaan Melindasta
- Tietue on haettu Voyagerin remote toiminnalla Melindasta → karsii vuosiluvut
- Normalisointisäännön mukaiset muutokset tehdään, vaikka nimimuoto ei oikeasti voikaan linkkautua Asteriin. Säännön voisi muotoilla tiukemminkin, esimerkiksi lisätä vaatimuksen $d osakentän olemassaolosta.
Esimerkki. Tilanne normalisointisäännön ajon jälkeen. Ensimmäinen nimimuoto linkkautuu automaattisesti oikein. Jälkimmäisestä meni virheellisesti, koska nimimuodosta puuttuu vuosiluku
Kerta-ajo: kenttä 650, 651 ja 655 "Alma muotoiseksi"
- lisää loppupiste 650, 651 ja 655 $a osakenttään, jos
- 650 $0 sisältää http://www.yso.fi/onto/yso/*
- 651 $0 sisältää http://www.yso.fi/onto/yso/*
- 655 $0 sisältää http://urn.fi/URN:NBN:fi:au:slm:*
- korvaa mahdollinen tuplaloppupiste yhdellä loppupisteellä $a osakentässä
- poista loppupiste jos $a osakenttä päättyy ')'
- siirrä $2 osakenttä viimeiseksi
- 655 kenttä: siirrä mahdollinen $5 osakenttä viimeiseksi
- poista muut kuin ensimmäinen $0 osakenttä
rule "lisää loppupiste 650 & 651 yso ja 655 slm $a osakenttiin, osa 1"
priority 10
when
(TRUE)
then
suffix "650.a" with ".temporary_suffix_to_replace" if (exists "650.0.http://www.yso.fi/onto/yso/*")
suffix "651.a" with ".temporary_suffix_to_replace" if (exists "651.0.http://www.yso.fi/onto/yso/*")
suffix "655.a" with ".temporary_suffix_to_replace" if (exists "655.0.http://urn.fi/URN:NBN:fi:au:slm:*")
end
rule "lisää loppupiste 650 & 651 yso ja 655 slm $a osakenttiin, osa 2"
# korjaa .. -> .
priority 8
when
(TRUE)
then
replaceContents "650.a.\\\\.\\\\.temporary_suffix_to_replace" with "."
replaceContents "651.a.\\\\.\\\\.temporary_suffix_to_replace" with "."
replaceContents "655.a.\\\\.\\\\.temporary_suffix_to_replace" with "."
end
rule "lisää loppupiste 650 & 651 yso ja 655 slm $a osakenttiin, osa 3"
# poista loppupiste 650 & 651 yso ja 655 slm $a osakentästä jos se päättyy ) merkkiin
priority 7
when
(TRUE)
then
replaceContents "650.a.)\\\\.temporary_suffix_to_replace" with ")"
replaceContents "651.a.)\\\\.temporary_suffix_to_replace" with ")"
replaceContents "655.a.)\\\\.temporary_suffix_to_replace" with ")"
end
rule "lisää loppupiste 650 & 651 yso ja 655 slm $a osakenttiin, osa 4"
priority 6
when
(TRUE)
then
replaceContents "650.a.temporary_suffix_to_replace" with ""
replaceContents "651.a.temporary_suffix_to_replace" with ""
replaceContents "655.a.temporary_suffix_to_replace" with ""
end
rule "siirrä $2 osakenttä kentän 650 & 651 ja 655 loppuun"
priority 4
when
(TRUE)
then
changeSubField "650.2" to "2" if (exists "650.0.http://www.yso.fi/onto/yso/*")
changeSubField "651.2" to "2" if (exists "651.0.http://www.yso.fi/onto/yso/*")
changeSubField "655.2" to "2" if (exists "655.0.http://urn.fi/URN:NBN:fi:au:slm:*")
end
rule "siirrä $5 osakenttä kentän 655 loppuun"
priority 3
when
(TRUE)
then
changeSubField "655.5" to "5" if (exists "655.0.http://urn.fi/URN:NBN:fi:au:slm:*")
end
rule "korjaa 650 & 651 ja 655 tupla-$0-osakentät suomalaisissa auktorisoiduissa muodoissa"
priority 2
when
(TRUE)
then
replaceContentsExceptFirst "650.0" with "" if (exists "650.0.http://www.yso.fi/onto/yso/*")
replaceContentsExceptFirst "651.0" with "" if (exists "651.0.http://www.yso.fi/onto/yso/*")
replaceContentsExceptFirst "655.0" with "" if (exists "655.0.http://urn.fi/URN:NBN:fi:au:slm:*")
end
priority 10
when
(TRUE)
then
suffix "650.a" with ".temporary_suffix_to_replace" if (exists "650.0.http://www.yso.fi/onto/yso/*")
suffix "651.a" with ".temporary_suffix_to_replace" if (exists "651.0.http://www.yso.fi/onto/yso/*")
suffix "655.a" with ".temporary_suffix_to_replace" if (exists "655.0.http://urn.fi/URN:NBN:fi:au:slm:*")
end
rule "lisää loppupiste 650 & 651 yso ja 655 slm $a osakenttiin, osa 2"
# korjaa .. -> .
priority 8
when
(TRUE)
then
replaceContents "650.a.\\\\.\\\\.temporary_suffix_to_replace" with "."
replaceContents "651.a.\\\\.\\\\.temporary_suffix_to_replace" with "."
replaceContents "655.a.\\\\.\\\\.temporary_suffix_to_replace" with "."
end
rule "lisää loppupiste 650 & 651 yso ja 655 slm $a osakenttiin, osa 3"
# poista loppupiste 650 & 651 yso ja 655 slm $a osakentästä jos se päättyy ) merkkiin
priority 7
when
(TRUE)
then
replaceContents "650.a.)\\\\.temporary_suffix_to_replace" with ")"
replaceContents "651.a.)\\\\.temporary_suffix_to_replace" with ")"
replaceContents "655.a.)\\\\.temporary_suffix_to_replace" with ")"
end
rule "lisää loppupiste 650 & 651 yso ja 655 slm $a osakenttiin, osa 4"
priority 6
when
(TRUE)
then
replaceContents "650.a.temporary_suffix_to_replace" with ""
replaceContents "651.a.temporary_suffix_to_replace" with ""
replaceContents "655.a.temporary_suffix_to_replace" with ""
end
rule "siirrä $2 osakenttä kentän 650 & 651 ja 655 loppuun"
priority 4
when
(TRUE)
then
changeSubField "650.2" to "2" if (exists "650.0.http://www.yso.fi/onto/yso/*")
changeSubField "651.2" to "2" if (exists "651.0.http://www.yso.fi/onto/yso/*")
changeSubField "655.2" to "2" if (exists "655.0.http://urn.fi/URN:NBN:fi:au:slm:*")
end
rule "siirrä $5 osakenttä kentän 655 loppuun"
priority 3
when
(TRUE)
then
changeSubField "655.5" to "5" if (exists "655.0.http://urn.fi/URN:NBN:fi:au:slm:*")
end
rule "korjaa 650 & 651 ja 655 tupla-$0-osakentät suomalaisissa auktorisoiduissa muodoissa"
priority 2
when
(TRUE)
then
replaceContentsExceptFirst "650.0" with "" if (exists "650.0.http://www.yso.fi/onto/yso/*")
replaceContentsExceptFirst "651.0" with "" if (exists "651.0.http://www.yso.fi/onto/yso/*")
replaceContentsExceptFirst "655.0" with "" if (exists "655.0.http://urn.fi/URN:NBN:fi:au:slm:*")
end