Skip to content
Andrew Hankinson edited this page Feb 19, 2024 · 10 revisions

Table of Contents

Accessing the SRU-Service

Important information: Please change existent requests to HTTPS (2018/11)



This service is openly accessible under the following general URL:

https://muscat.rism.info/sru

You can add an additional database descriptor to access the special databases. Defaut database is sources, see below.

  • The service is provided openly as long as the usage is fair.
  • Abuses of the service will result in restriction of usage.
  • Please mail to [email protected] if you plan to access the SRU interface regularly as part of your search interface.
The server is tested against http://alcme.oclc.org/srw/SRUServerTester.html .

SRU interface standards

SRU functions

SRU incorporates the basic functions:

  • Explain: Self-description in XML standard format, including information about:
    • Database
    • Indices
    • Data formats
  • Search / Retrieve: Search query
    • Retrieval language: CQL (Common / Contextual Query Language)
    • Boolean operators (and, or, not) are supported
  • Scan is only supported with restrictions.
  • RISM SRU is implemented as a REST service. Therefore the basic functions as described above are accessible as REST resources.

Mandatory and additional parameters of the SRU functions (resources)

Examples

Sources: Search for id https://muscat.rism.info/sru/sources?operation=searchRetrieve&version=1.1&query=id=1001009855&maximumRecords=2

Sources: All records by composer Heinichen in D-Dl in html-format https://muscat.rism.info/sru/sources?operation=searchRetrieve&version=1.1&query=bath.possessingInstitution=D-Dl%20AND%20creator=Heinichen*&maximumRecords=20&recordSchema=html

Sources: Search for all Mozart-records created after 2017-01-01 https://muscat.rism.info/sru/sources?operation=searchRetrieve&version=1.1&query=creator=%22Mozart,%20Wolfgang%20Amadeus%22%20AND%20created%3E2017-01-01&maximumRecords=2

People: Search combination of all woman pianists with fulltext Bach https://muscat.rism.info/sru/people?operation=searchRetrieve&version=1.1&query=gender=female%20AND%20profession=pianist%20%20AND%20bach&maximumRecords=2

Catalogue: search for all literature by Eitner https://muscat.rism.info/sru/catalogues?operation=searchRetrieve&version=1.1&query=author=Eitner&maximumRecords=20&startRecord=5

Institution: search for siglum F-Pn https://muscat.rism.info/sru/institutions?operation=searchRetrieve&version=1.1&query=librarySiglum=F-Pn&maximumRecords=20

MORE TEXT WILL FOLLOW SOON

Databases

At the moment the following databases are supported:

  • Sources [default]
  • People
  • Institutions
  • Catalogues
For example to search in the people database for "Bach": https://muscat.rism.info/sru/people?query=name=Bach&operation=searchRetrieve&recordSchema=marc&maximumRecords=10&startRecord=1

One of the biggest adavantages of SRU compared to a native Search engine interface is standardization. The CQL query language is a world wide standard while the API of a Search Server is propietary. On the other hand, the currently available Search Servers are widely used and one could argue they create a de-facto standard. At the moment Muscat is using the SOLR Search server.

If the database specification is omitted in the request, the defaultdb is used

Available search fields SRU

Supported CQL relations and how to use them

  • More information is available via the SRU explain operation.
  • Comparison relations such as < or <= or > or >= > are only useful for special indices with numeric values such as dc.date for the published date. If such relations are used in the context of non-numeric indices the default relation = is used
  • How to use the CQL relations
    • For simple term searches use the  =  relation.
    • Multiple terms within a subclause in combination with a  =  relation will be implicitly combined with the boolean AND operator.
    • To express the combination of terms in subclause with the AND operator, the ALL relation should be used.
    • Exact phrase searches will be defined by using the EXACT relation. Double quotes in terms are not necessary and will be filtered out by the parser.
    • To combine the search terms of a subclause with the logical OR operator use the ANY relation for a subclause.
    • Subclauses of a complete query can be combined with the boolean operators AND / OR or NOT.
  • the interactive form is thought as a guide for the use of the supported CQL queries

Record schemas

Supported are

  • marc (=Marcxml)
  • dc = Dublin Core
  • mods = Mods 3.6
  • html (with CSV export)
see also explain operation.

Further requirements

Users

The SRU-interface is an integrated service of many digitalization projects, e.g.

  • Staatsbibliothek zu Berlin
  • Digitale Sammlungen der Bibliotheca Mozartiana http://digibib.mozarteum.at/
  • Staats- und Universitaetsbibliothek Hamburg Carl von Ossietzky

References

  • http://www.swissbib.org/wiki/index.php?title=SRU
  • http://alcme.oclc.org/srw/SRUServerTester.html
  • https://www.loc.gov/standards/sru/index.html
  • https://github.com/jrochkind/cql-ruby