-
Notifications
You must be signed in to change notification settings - Fork 16
Important information: Please change existent requests to HTTPS (2018/11)
This service is openly accessible under the following general URL:
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 RISM SRU service supports the SRU protocol: Version 1.1
- Supported retrieval language is at least CQL: Version 1.1, Level 1
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.
- The SRU standard defines mandatory and additional parameters for the search and explain operation which has to be supported by a REST resource
- Explain
- mandatory
- operation = explain
- example https://muscat.rism.info/sru/sources?operation=explain
- mandatory
- Search
- mandatory
- query = CQL Query
- operation = searchRetrieve
- additional
- recordSchema = see explain operation
- maximumRecords = [0] If omitted 10 is default
- startRecord = [positive] If omitted 1 is default
- recordPacking = only XML at the moment
- example https://muscat.rism.info/sru/sources?query=+dc.creator+%3D+Bach&operation=searchRetrieve&recordSchema=marc&maximumRecords=10&startRecord=1
- mandatory
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
At the moment the following databases are supported:
- Sources [default]
- People
- Institutions
- Catalogues
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
- The range of search fields is mostly according to: http://www.loc.gov/standards/sru/resources/bath-profile.html
- More detailed information about the available search fields can be found via the SRU explain operations (see above)
- 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
Supported are
- marc (=Marcxml)
- dc = Dublin Core
- mods = Mods 3.6
- html (with CSV export)
- You can use directly the github issues list of the repository for notification
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
- 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