# SRU
SRU 1.1-tjenesten vår leverer to datastrømmer:
https://sru.aja.bs.no/mlnb
(opens new window) er et åpent endepunkt for bibliografiske poster frikjøpt gjennom Nasjonalbibliotekets metadataleveranse, det vil si poster for materiale utgitt i Norge siden 1. november 2020.https://sru.aja.bs.no/bibbi
(opens new window) er et tilgangsbegrenset endepunkt som gir tilgang til hele Bibbi-katalogen for abonnenter på Bibbi-data (opens new window).
Det er ingen forskjeller i innholdet i postene en får fra de to endepunktene.
# Parametre
operation
: Alle SRU-operasjonene støttes.query
: CQL (opens new window)-spørring. Oversikt over indekser og relasjoner finnes under.sortKeys
(valgfri): Indeks som resultatene sorteres etter.version
(valgfri): Kun versjon 1.1 er støttet.recordSchema
(valgfri): Følgende skjemaer er støttet:marc21
(standard): MARC 21 (opens new window) som følger MarcXchange 1.1 (opens new window)marc21nor
: MARC 21 med ekstra lokale felt 019 og 9XX fra BSMARC.mods
: MODS (opens new window) konvertert fra MARC 21 etter Library of Congress sitt mappingskjema (opens new window)dc
: Svært grunnleggende Dublin Core (opens new window).
recordPacking
(valgfri): Kun verdienxml
er støttet.startRecord
(valgfri): Første post som skal returneres fra treffmengden. Standardverdien er 1.maximumRecords
(valgfri): Antall poster som leveres om gangen. Standarverdien er 10. Kan økes til maks 500.
Tjenesten støtter vanlig paginering (med bruk av startRecord
), men ikke persistente resultatmengder (opens new window).
Eksempler
Avvik fra SRU Base Profile og NorZIG-profilen
Tjenesten har følgende kjente avvik fra SRU Base Profile (opens new window):
# | SRU Base Profile | Vår SRU-tjeneste |
---|---|---|
1. | Explain Support: IndexInfo must be present and contain at least one set and one index element. Each such included index element must include at least one set and name map. | Vår explain -respons bruker ikke set . En indeks ser dermed slik ut: <map><name>dc.title</name></map> , ikke slik: <map><name set="dc">title</name></map> . Dette har ikke konsekvenser for selve søket, kun for dokumentasjonen, men er noe vi vurderer å fikse. |
Tjenesten har følgende kjente avvik fra NorZIG Profile for SRU (opens new window):
# | NorZIG Profile for SRU | Vår SRU-tjeneste |
---|---|---|
1. | If an index used in a CQL query is not supported in the native database, the server must fail the search and return diagnostic number 16 | I denne situasjonen returnerer tjenesten vår bare en tom treffmengde. |
2. | Must choose cql.anyIndexes as the default index when responding to term-only CQL queries. | Vår tjeneste bruker cql.serverChoice , som i CQL Context Set version 1.2 (opens new window) er et alias for cql.anyIndexes . |
3. | Must support the full NorZIG context set (opens new window). | Søk med modifikator (bib.role ) er ikke støttet. Det er noe vi vurderer å legge til hvis det kan utnyttes i biblioteksystemene. |
4. | Indexes and modifiers from other context sets that must be supported. | Søk med modifikatorer (bib.classAuthority , bib.role , bib.identifierAuthority eller bib.subjectAuthority ) er ikke støttet. Det er noe vi vurderer å legge til hvis det kan utnyttes i biblioteksystemene. |
Indeksen bib.materialType er foreløpig ikke støttet fordi det ikke er avklart hvordan denne skal brukes med MARC 21-poster. | ||
Indeksen bib.audience er foreløpig ikke støttet fordi det ikke er avklart hvordan denne skal brukes med MARC 21-poster. | ||
Indeksen norzig.possessingInstitution virker ikke relevant på bibliografisk nivå. |
# Søkeindekser
Explain-responsen (opens new window) er den autoritative dokumentasjonen for søkeindekser. Tabellen under viser de viktigste søkeindeksene som støttes.
Indeks | Beskrivelse | Eksempel |
---|---|---|
(ingen) / cql.serverChoice | Alle felt | "speilet og lyset" |
rec.identifier | Lokal identifikator (Bibbi-ID) | rec.identifier=0588861 |
rec.created | Tidsstempel da posten først ble opprettet | rec.created = 2021-04-01 |
rec.modified | Tidsstempel da posten sist ble endret(005 ) | rec.modified >= 2020-11-10 |
dc.identifier | ISBN, EAN eller Bibbi-ID | dc.identifier=97882419* |
dc.language | Språkkode (041$h ) | dc.language=nno |
dc.date | Utgivelsesår (008[7-10] ) | dc.date=2020 |
dc.title | Tittel | dc.title="speilet og lyset" |
bib.titleSeries | Serietittel (490$a , 830$a ) | bib.titleSeries="Dyr i Norges natur" |
bib.classification | Dewey-nummer fra Norsk WebDewey (082$a ) | bib.classification=59* |
bib.genre | 0 for sakprosa, 1 for skjønnlitteratur (fra 008/33 ) | bib.genre=0 |
bib.nameCorporate | Korporasjonsnavn (110 og 710 ) | - |
bib.originPlace | Utgivelsesland (fra 008/15-17 ) | bib.originPlace=no |
dc.subject | Emneord, inkludert omtalte personer og korporasjoner (6XX ). Mulig å søke både etter term og identifikator[1]. | dc.subject="Fedre og sønner" dc.subject="(NO-OsBA)1113073" |
dc.creator / norzig.creatorNormalized | Forfattere og andre ansvarshavere (1XX , 7XX ). | dc.creator all "Ole Peder Giæver" dc.creator="(NO-TrBIB)5072405" |
norzig.personalNameNormalized | Personnavn (100 og 700 ) | - |
norzig.nationality | Verdi fra Biblioteksentralens liste over nasjonaliteter [LENKE]. | norzig.nationality=am. |
bs.approved | Tidsstempel da posten først ble godkjent og publisert som fullkatalogisert post. | bs.approved >= 2021-04-01 AND bs.approved < 2021-05-01 |
bs.electronic | true for elektroniske ressurser (007/0="c" ) som e-bøker, e-lydbøker, videospill osv., false for fysiske ressurser. | bs.electronic=true |
bs.has_cover | true for ressurser som har omslagsbilder (865), false for ressurser som ikke har det. | bs.has_cover=false |
bs.level | Beskrivelsesnivå (fra LDR/17 ): "full" for fullstendige poster (# eller 1), "preliminary" for forhåndsposter (5). | bs.level="preliminary" |
bs.resource_type | Ressurstype/materialtype avledet fra LDR/6 , 007/0-1 og 008/26 : "book", "audiobook", "video", "videogame", "other". Kan kombineres med bs.electronic for å skille mellom elektroniske og fysiske ressurser. | bs.resource_type="book" AND bs.electronic=false |
bs.set | Samlingskode, har alltid verdien "mlnb" . | bs.set="mlnb" |
bs.genre | Sjangre (655 ). Mulig å søke både etter term og identifikator (URI-er fra NTSF). | bs.genre="https://id.nb.no/vocabulary/ntsf/184" |
[1] Personer (X00) og snart korporasjoner (X10) kommer med identifikatorer fra Felles autoritetsregister (opens new window), mens generelle emneord (X50) og stedsnavn (X51) kommer med identifikatorer fra Bibbi autoriteter.
# Relasjonsoperatorer og jokertegn
Tjenesten støtter følgene relasjonsoperatorer:
=
gir treff når søketermen finnes i indeksen som en frase (ordene må følge etter hverandre i samme rekkefølge), men er ikke eksluderende. Spørringen dc.title = "kunst og håndverk" gir treff i tittelen «Bærekraftdidaktikk i kunst og håndverk», mens dc.title = "kunst håndverk" ikke gjør det.exact
fungerer omtrent som=
, men behandler ikke*
og?
som jokertegn.all
gir treff når alle ordene finnes i indeksen, uavhengig av rekkefølge. dc.title all "kunst bærekraftdidaktikk" gir treff i tittelen «Bærekraftdidaktikk i kunst og håndverk».any
gir treff når minst ett av ordene finnes i indeksen, uavhengig av rekkefølge. dc.title any "*undervisning *didaktikk" gir treff i tittelen «Bærekraftdidaktikk i kunst og håndverk».>
,>=
,<
og<=
ogwithin
kan brukes med numeriske og temporale indekser, f.eks. for å finne utgivelser fra og med 2020 (dc.date >= 2020) eller dokumenter klassifisert med Dewey-numre i et visst spennn (bib.classification within [2020])<>
(negasjonsoperatoren) gir treff når indeksen ikke inneholder søketermen.
Relasjonsmodifikatoren /fuzzy
kan brukes for å gi treff der søketermen er nesten lik den indekserte termen.
F.eks. vil dc.creator =/fuzzy "Middelton" vil også gi treff i «Middelthon».
Hvor mange tegn som kan avvike (Levenshtein-avstanden (opens new window)) er 0, 1 eller 2, avhengig av søketermens lengde. Fungerer kun med ett ord.
I søketermen gir ?
treff i ett hvilket som helst tegn
(dc.title = "h?ndverk" gir f.eks. treff i både «håndverk» og «handverk»),
mens *
gir treff i 0 eller flere vilkårlige tegn (eks: dc.title = "bærekraft*").
Merk at søketermen ikke kan begynne med jokertegn.
# Sortering
sortKeys
kan brukes med flere av indeksene for å sortere resultatsettet.
Stigende rekkefølge er standard, så for å hente de eldste postene:
Legg på ,,0
for synkende rekkefølge (nyeste poster først):
Mer informasjon om sortKeys finnes i SRU-dokumentasjonen til LC (opens new window).
Merk at vi ikke støtter nøklene schema
, caseSensitive
eller missingValue
.