Thesaurus bekijken, bewerken, rapporten maken
Koha kent een aantal standaard thesauri en de mogelijkheid om zelf een thesaurus toe te voegen.
Onder Administratie – Thesaurustypes kun je zien welke thesauri in gebruik zijn, welke thesauruscode gebruikt wordt en ook welk veld wordt uitgelezen uit het bibliorecord. Ook de naamgeving kan hier worden aangepast.
Om alle termen uit een thesaurus op te vragen kun je altijd op de thesauruspagina de gewenste thesaurus selecteren en vervolgens op zoeken klikken. Je krijgt dan alle termen in een lijst, met daarbij aangegeven in hoeveel records de term wordt gebruikt. Je kunt daar termen samenvoegen, verwijderen of aanpassen.
Met een rapport kun je op een andere manier informatie uit je thesauri halen. Hier volgen enkele voorbeelden.
Een lijst met alle termen in de thesaurus persoonsnamen:
Rapport voor Persoonsnamen
SELECT authid,(ExtractValue(marcxml,'//datafield[\@tag=\"100\"]/*')) AS Term
FROM auth_header
WHERE authtypecode='PERSO_NAME'
ORDER BY term ASC
Rapport voor Trefwoorden
SELECT authid,(ExtractValue(marcxml,'//datafield[\@tag=\"150\"]/*')) AS Term
FROM auth_header
WHERE authtypecode='TOPIC_TERM'
ORDER BY term ASC
Met rapporten kun je ook lijsten maken van termen die niet in de thesaurus zijn opgenomen, maar die wel aan bibliorecords zijn toegevoegd, bijv. na een conversie. Aangezien elke thesaurustype andere velden in een bibliorecord gebruikt, is er ook per type een rapport.
Auteurs NIET in de thesaurus – velden 100, 110, 111, 130
SELECT DISTINCT biblionumber, Auteur FROM (
SELECT biblionumber, ExtractValue(metadata,
'//datafield[@tag="100"]/subfield[@code="a"]') AS Auteur
FROM biblio_metadata
WHERE
length(ExtractValue(metadata,
'//datafield[@tag="100"]/subfield[@code="a"]')) != 0 AND
length(ExtractValue(metadata,
'//datafield[@tag="100"]/subfield[@code="9"]')) = 0
UNION
SELECT biblionumber, ExtractValue(metadata,
'//datafield[@tag="110"]/subfield[@code="a"]') AS Auteur
FROM biblio_metadata
WHERE
length(ExtractValue(metadata,
'//datafield[@tag="110"]/subfield[@code="a"]')) != 0 AND
length(ExtractValue(metadata,
'//datafield[@tag="110"]/subfield[@code="9"]')) = 0
UNION
SELECT biblionumber, ExtractValue(metadata,
'//datafield[@tag="111"]/subfield[@code="a"]') AS Auteur
FROM biblio_metadata
WHERE
length(ExtractValue(metadata,
'//datafield[@tag="111"]/subfield[@code="a"]')) != 0 AND
length(ExtractValue(metadata,
'//datafield[@tag="111"]/subfield[@code="9"]')) = 0
UNION
SELECT biblionumber, ExtractValue(metadata,
'//datafield[@tag="130"]/subfield[@code="a"]') AS Auteur
FROM biblio_metadata
WHERE
length(ExtractValue(metadata,
'//datafield[@tag="130"]/subfield[@code="a"]')) != 0 AND
length(ExtractValue(metadata,
'//datafield[@tag="130"]/subfield[@code="9"]')) = 0
) AS heads
ORDER BY Auteur
Trefwoorden NIET in de thesaurus – veld 650
SELECT biblionumber, ExtractValue(metadata,'//datafield[@tag="650"]/subfield[@code="a"]') AS Trefwoord
FROM biblio_metadata
WHERE length(ExtractValue(metadata, '//datafield[@tag="650"]/subfield[@code="a"]')) != 0
AND length(ExtractValue(metadata, '//datafield[@tag="650"]/subfield[@code="9"]')) = 0
ORDER BY Trefwoord
Lokaal toegevoegde trefwoorden (NIET in de thesaurus) – veld 690
SELECT biblionumber, ExtractValue(metadata,'//datafield[@tag="690"]/subfield[@code="a"]') AS heading
FROM biblio_metadata
WHERE length(ExtractValue(metadata, '//datafield[@tag="690"]/subfield[@code="a"]')) != 0
AND length(ExtractValue(metadata, '//datafield[@tag="690"]/subfield[@code="9"]')) = 0
ORDER BY heading
Deze rapporten kunnen eenvoudig worden aangepast door het juiste veld te kiezen bij @tag=”123″