Nelli ja SRU

Skip to end of metadata
Go to start of metadata

Nelli ja SRU-hakurajapinta

Johdanto

Suosittelemme SRU-protokollan toteuttamista uusien tietokantojen saamiseksi mukaan Nelli-hakuun. Kun tietokanta tukee SRU:ta, voidaan sitä käyttää tarvittaessa muuallakin kuin Nellissä. Tässä kuvataan Nellin edellytykset SRU-toteutuksen suhteen. Varsinainen protokollan dokumentaatio, johon suosittelemme tutustumaan, löytyy Kongressin kirjaston SRU-sivuilta.

SRU:n lisäksi Nellissä voidaan käyttää Z39.50-protokollaa, erilaisia XML-rajapintoja tai yksittäistä aineistoa varten toteutettua rajapintaa. Lisäksi on mahdollista haravoida materiaali Nellin omaan tietokantaan OAI-PMH -protokollalla. Lisätietoja eri mahdollisuuksista saa Nelli-toimistosta (nelli-toimisto at helsinki piste fi).

SRU on nykyaikainen protokolla, jonka toteuttaminen on huomattavasti helpompaa kuin esim. perinteisen Z39.50-protokollan. Tässä esimerkki SRU-hausta HELKA-tietokannasta:

http://linnea1.linneanet.fi:7590/voyager?version=1.1&operation=searchRetrieve&startRecord=1&maximumRecords=10&recordSchema=marcxml&query=%22kissa%22+and+%22koira%22

SRU-kyselyn parametrit

Alla on kuvattu lyhyesti Nellin kannalta olennaiset SRU-protokollan parametrit.

Kaikille toiminnoille yhteiset parametrit:

Parametri Pakollisuus Käyttö Esimerkki sisällöstä
version pakollinen Käytettävä SRU-protokollan versio. Nellissä on käytössä versio 1.1 1.1
operation pakollinen Suoritettava toiminta. Nelli tarvitsee vain searchRetrieve-toimintoa, mutta voi hyödyntää myös explain-toimintoa, jonka toteuttaminen on välttämätöntä, jos halutaan tehdä toteutuksesta standardinmukainen explain

searchRetrieve-toiminnon parametrit:

Parametri Pakollisuus Käyttö Esimerkki sisällöstä
startRecord optionaalinen (oletus=1) Kertoo, mistä kohdasta hakutulosta tietueet halutaan. Ensimmäinen tietue on numeroltaan 1. 11
maximumRecords optionaalinen (oletus palvelinkohtainen) Kertoo, kuinka monta tietuetta korkeintaan halutaan. 30
recordSchema optionaalinen (oletus palvelinkohtainen) Kertoo, missä muodossa tietueet halutaan. Nelli osaa ottaa vastaan tietueita marcxml ja Dublin Core -muodoissa (lisäksi ns. qualified DC) marcxml
query pakollinen Varsinainen hakukysely CQL-hakukielellä "koira" and "kissa"

Hakuehdot

SRU:ssa käytetään CQL-kyselykieltä. Nellissä on käytössä oletuksena sanahaku ja se käyttä vain osaa CQL-kielen ominaisuuksista. Jos käyttäjä kirjoittaa hakukenttään useita hakusanoja, tehdään haku kaikilla sanoilla niin, että niiden väliin lisätään and-operaattori. Haku tehdään fraasina vain, jos hakusanat on kirjoitettu lainausmerkkien sisään. Esimerkkejä:

Haku Nellissä CQL-kysely
kissa "kissa"
kissa koira "kissa" and "koira"
"harry potter" "harry potter"
me and you "me" and "and" and "you"

Tarkennetussa haussa on käytettävissä kaksi hakukenttää ja niiden boolen-operaattori "JA", "TAI" tai "EI". Esimerkkejä:

1. hakuehto Operaattori 2. hakuehto CQL-kysely
harry potter JA rowling "harry" and "potter" and "rowling"
"harry potter" JA rowling "harry potter" and "rowling"
"harry potter" TAI "barry trotter" "harry potter" or "barry trotter"
"harry potter" EI "barry trotter" "harry potter" not "barry trotter"

Hakuehtojen katkaisu tapahtuu tähtimerkillä. Esimerkkejä (Nellissä katkaisumerkkinä toimii kysymysmerkki):

Haku Nellissä CQL-kysely
kissa? "kissa*"
kissa koira* "kissa" and "koira*"

Kaikkien kenttien (kuten yllä) lisäksi haku voidaan kohdistaa myös aiheeseen, nimekkeeseen, tekijään, ISSN-tunnukseen, ISBN-tunnukseen tai vuoteen. Oletuksena hakuindeksit mapataan Nellissä seuraavasti:

Haun kohde Indeksi CQL-kyselyssä
Kaikki kentät (ei määritelty)
Aihe dc.subject
Nimeke dc.title
Tekijä dc.creator
ISSN dc.identifier
ISBN dc.identifier
Vuosi dc.date

Esimerkkejä hauista:

1. hakuehto Operaattori 2. hakuehto CQL-kysely
nimeke=harry potter JA tekijä=rowling dc.author="harry" and dc.author="potter" and dc.creator="rowling"
nimeke="harry potter" JA kaikki kentät=rowling dc.title="harry potter" and "rowling"

Mappauksia voidaan muokata aineistokohtaisesti, tai ne voidaan määritellä automaattisesti explain-kyselyn antamien tietojen perusteella.

Tietuemuodot

Ilmaisuvoimansa takia suositeltava tietuemuoto on MARCXML. Riippuu kuitenkin aineistosta, miten helppoa sisällön esittäminen MARCXML-muodossa on. MARCXML sisältää MARC 21 -formaatin mukaiset kentät. Suomenkielisestä MARC 21 -oppaasta (bibliografiset tiedot) löytyvät tarkemmat tiedot kenttien sisällöstä. Esimerkkitietue:

Vaihtoehtona on Dublin Core, jonka muodostaminen on helpompaa, mutta tietosisältö rajoittuneempi. Esimerkkitietue:

Linkitys

Jotta käyttäjä voisi päästä tarvittaessa Nellistä aineiston omaan käyttöliittymään eli natiiviliittymään, pitäisi tietueissa olla joko valmiit linkit tai yksilöivät tunnisteet, joiden perusteella Nelli voi luoda linkit. Linkkien tai tunnisteiden muodolle ei ole erityisiä rajoituksia. MARCXML-muotoisissa tietueissa käytetään tyypillisesti 001-kenttää tietueen identifikaationumeron tallentamiseen. Dublin Core -muodossa identifikaationumero löytyy tyypillinen identifier-kentästä.

Autentikointi ja tilastointi

Tarvittaessa haun autentikointiin voidaan käyttää HTTP-autentikaatiota tai erikseen sovittua metodia. Hakujen tilastointia helpottavat organisaatiokohtaiset tunnukset tai hakuosoitteet. Koska Nellissä kaikki haut tulevat samasta IP-osoitteesta organisaatiosta riippumatta, ei IP-osoitetta voida käyttää tilastoinnissa organisaation tunnistamiseen.

Searching Nelli

Katso myös:

Page: Nelli ja SRU
Page: Nelli Tuning
Page: Hakuohjelmat (eksternaalit)
Page: Tekniikka

Labels:
aineistot aineistot Delete
ohjeet ohjeet Delete
externals externals Delete
sru sru Delete
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.