Normalisoimissääntöjä auktoriteettivalvontaan
- Tuplaosakenttien ja tuplakenttien poistaminen käsin tallennettaessa
- Normalisointisääntö "korjaa tupla-$0-osakentät suomalaisissa auktorisoiduissa muodoissa" (päivitetty 9.5.2023)
- Normalisointisääntö "korjaa tuplakenttiä" (päivitetty 9.5.2023)
- Sääntöjen asettaminen osaksi "Marc21 Bib normalize on save" prosessia (päivitetty 7.12.2020)
- Säännön liittäminen normalisointiprosessiin ajoja varten
- Kerta-ajo: kenttä 600, 610, 611 "Alma muotoisiksi"
- Kerta-ajo: kenttä 650, 651 ja 655 "Alma muotoiseksi"
- Tuplaosakenttien ja tuplakenttien poistaminen käsin tallennettaessa
Tuplaosakenttien ja tuplakenttien poistaminen käsin tallennettaessa
Normalisointisääntö "korjaa tupla-$0-osakentät suomalaisissa auktorisoiduissa muodoissa" (päivitetty 9.5.2023)
Tämä sääntö poistaa kaikki muut paisi ensimmäisen $0 osakentän jos $0 osakentässä viitataan suomalaiseen auktoriteettiin
- kun kuvailija tallentaa tietueen manuaalisesti
- Tämä sääntö ei pure Preferred Term Correction jobin ajoon → tuplaantuneet $0 osakentät kaiveltava Preferred Term Correction jobin raportista tai sääntöä ajettava säännöllisesti koko kannalle
Lisätty 9.5.2023
- teosviittaukset $0 130, 240, 600, 610, 611, 630, 700, 710, 711, 730, 800, 810, 811, 830 FI-ASTERI-W
Korjattu 7.12.2022:
- replaceContentsExceptFirst "110.0" with "" if (exists "100.0.(FI-ASTERI-N)*") → (exists "110
- replaceContentsExceptFirst "111.0" with "" if (exists "100.0.(FI-ASTERI-N)*") → (exists "111
Lisätty 2.8.2022:
- kenttä 648
# FI-ASTERI-* kattaa sekä toimijat (FI-ASTERI-N) että teokset (FI-ASTERI-W)
when
(TRUE)
then
replaceContentsExceptFirst "100.0" with "" if (exists "100.0.(FI-ASTERI-*")
replaceContentsExceptFirst "110.0" with "" if (exists "110.0.(FI-ASTERI-*")
replaceContentsExceptFirst "111.0" with "" if (exists "111.0.(FI-ASTERI-*")
replaceContentsExceptFirst "130.0" with "" if (exists "130.0.(FI-ASTERI-*")
replaceContentsExceptFirst "240.0" with "" if (exists "240.0.(FI-ASTERI-*")
replaceContentsExceptFirst "600.0" with "" if (exists "600.0.(FI-ASTERI-*")
replaceContentsExceptFirst "610.0" with "" if (exists "610.0.(FI-ASTERI-*")
replaceContentsExceptFirst "611.0" with "" if (exists "611.0.(FI-ASTERI-*")
replaceContentsExceptFirst "630.0" with "" if (exists "630.0.(FI-ASTERI-*")
replaceContentsExceptFirst "648.0" with "" if (exists "648.0.http://www.yso.fi/onto/yso/*")
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:*")
replaceContentsExceptFirst "700.0" with "" if (exists "700.0.(FI-ASTERI-*")
replaceContentsExceptFirst "710.0" with "" if (exists "710.0.(FI-ASTERI-*")
replaceContentsExceptFirst "711.0" with "" if (exists "711.0.(FI-ASTERI-*")
replaceContentsExceptFirst "730.0" with "" if (exists "730.0.(FI-ASTERI-*")
replaceContentsExceptFirst "800.0" with "" if (exists "800.0.(FI-ASTERI-*")
replaceContentsExceptFirst "810.0" with "" if (exists "810.0.(FI-ASTERI-*")
replaceContentsExceptFirst "811.0" with "" if (exists "811.0.(FI-ASTERI-*")
replaceContentsExceptFirst "830.0" with "" if (exists "830.0.(FI-ASTERI-*")
end
Normalisointisääntö "korjaa tuplakenttiä" (päivitetty 9.5.2023)
Tämä sääntö poista tuplakentät 600, 610, 611, 630, 648, 650, 651, 653, 655 ja 690
Päivitys 9.5.2023:
- lisätty correctDuplicateFields "...,690"
when
(TRUE)
then
correctDuplicateFields "600,610,611,630,648,650,651,653,655,690"
end
Sääntöjen asettaminen osaksi "Marc21 Bib normalize on save" prosessia (päivitetty 7.12.2020)
- Configuration -> Resources -> [Cataloging] -> Metadata Configuration -> "MARC21 Bibliographic"
- Normalization Processes -välilehti -> "Marc21 Bib normalize on save"
- Task Lists -välilehti -> "Add Tasks" -> [x] MarcDroolNormalization -> "Add and Close"
- siirrä MarcDroolNormalization listalla ennen marc21BibClearEmptyFieldsTask (sanboxissa kaksi MarcDroolNormalization, tuotannossa näemmä vain yksi)
- Task Parameters -> Drools File Key (alasvetovalikko): valitse se sääntö, joka poistaa tupla-$0 osakentät
- Lisää toinen MarcDroolNormalization: Task Lists -välilehti -> "Add Tasks" -> [x] MarcDroolNormalization -> "Add and Close"
- Task Parameters -> Drools File Key (alasvetovalikko): valitse se sääntö, joka poistaa tuplakentät
Lopputuloksen pitäisi muistuttaa alla olevaa:


poista tupla-$0 osakentät -säännön pitää olla ennen marc21BibClearEmptyFieldsTask, tai tupla-$0 osakentät jäävät tietueeseen tyhjinä $0 osakenttinä:
650 #7 $a kissa $0 http://www.yso.fi/onto/yso/p19378 $0
Säännön liittäminen normalisointiprosessiin ajoja varten
- Configuration -> Resources -> [Cataloging] -> Metadata Configuration -> "MARC21 Bibliographic"
- Normalization Processes -välilehti -> "Add Process"
- Ensimmäinen välilehti: nimeä
- Task Lists -välilehti -> "Add Tasks" -> [x] MarcDroolNormalization -> "Add and Close"
- Task Parameters -> Drools File Key (alasvetovalikko): valitse sääntö
Sääntöä on nyt ajettavissa Admin → Run a Job -listalla.
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
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ä
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