CS:Entry SearchRetrieve: verschil tussen versies

Uit Kennisnet Developers Documentatie
Naar navigatie springen Naar zoeken springen
k (Staging link erbij)
k (zoekvelden erbij)
Regel 1: Regel 1:
Catalogus Service entry data kan worden opgevraagd via een {{Standaard|SRU}}, gebruik makend van de [[Edurep:CQL|CQL]] query taal. Op deze pagina staat een overzicht van de specifieke implementatie van SRU.
+
Catalogus Service entry data kan worden opgevraagd via een {{Standaard|SRU}}, gebruik makend van de [[Edurep:CQL|CQL]] query taal.
  +
Op deze pagina staat een overzicht van de specifieke implementatie van SRU.
  +
Er is ook een aparte pagina met [[CS:Veldenlijst|een overzicht van alle zoekvelden]].
   
 
== Endpoint ==
 
== Endpoint ==

Versie van 20 mei 2021 14:45

Catalogus Service entry data kan worden opgevraagd via een SRU, gebruik makend van de CQL query taal. Op deze pagina staat een overzicht van de specifieke implementatie van SRU. Er is ook een aparte pagina met een overzicht van alle zoekvelden.

Endpoint

Argumenten

Een overzicht van de ondersteunde argumenten.

Info.gif Het wordt sterk geadviseerd om altijd het recordSchema argument te gebruiken met een versie.
naam # type omschrijving
query 1 cql query Een zoekopdracht binnen LOM records Lees meer.
startRecord 0-1 getal De resultatenlijst wordt getoond vanaf dit record, standaard 1. Lees meer.
maximumRecords 0-1 getal Het aantal records in de getoonde resultatenlijst, standaard 10, max 100 Lees meer.
recordSchema 0-1 tekst De versie van het record wat wordt teruggegeven Lees meer.
x-recordSchema 0-* tekst Een extra type record wat kan worden meegegeven Lees meer.
x-term-drilldown 0-1 edurep zoekveld Het veld waarop een term drilldown wordt gedaan voor de gevonden resultaten Lees meer.
sortKeys 0-1 edurep zoekveld Het veld waarop gesorteerd moeten worden Lees meer.
recordPacking 0-1 tekst Het formaat waarin de resultatenlijst wordt teruggegeven Lees meer.
operation 0-1 tekst searchRetrieve
version 0-11 tekst 1.2

Voorbeeld SRU-Verzoek

https://catalogusservice.edurep.nl/sru?query=boek&startRecord=1&maximumRecords=5

Voorbeeld Respons

<srw:searchRetrieveResponse xmlns:srw="http://www.loc.gov/zing/srw/">
  <srw:version>1.2</srw:version>
  <srw:numberOfRecords>117</srw:numberOfRecords>
  <srw:records>
    <srw:record>
      <srw:recordSchema>eckcs2.1.1</srw:recordSchema>
      <srw:recordPacking>xml</srw:recordPacking>
      <srw:recordIdentifier>test:59</srw:recordIdentifier>
      <srw:recordData>
        <Entry xmlns="http://dt2.eck.nl/schema/catalogservice/v2.1.1" xmlns:ct="http://dt2.eck.nl/schema/common/v2.1">
          <ProductId>59</ProductId>
          <Publisher>Kennisnet</Publisher>
          <PublisherThumbnailLocation>https://pbs.twimg.com/profile_images/638314278882140163/zWL5qqYc_400x400.png</PublisherThumbnailLocation>
          <Title>Price Test 1</Title>
          <Authors>
            <Author>Kennisnet</Author>
          </Authors>
          <IntendedEndUserRole>Beheerder</IntendedEndUserRole>
          <IsConsumptionProduct>false</IsConsumptionProduct>
          <SaleUnitSize>1</SaleUnitSize>
          <Currency>EURO</Currency>
          <PriceVATHigh>4300</PriceVATHigh>
          <PriceVATLow>500</PriceVATLow>
          <IsLicensed>false</IsLicensed>
        </Entry>
      </srw:recordData>
    </srw:record>
    <!-- meer records -->
  </srw:records>
  <srw:nextRecordPosition>6</srw:nextRecordPosition>
  <srw:echoedSearchRetrieveRequest>
    <srw:version>1.2</srw:version>
    <srw:query>boek</srw:query>
    <srw:startRecord>1</srw:startRecord>
    <srw:maximumRecords>10</srw:maximumRecords>
    <srw:recordPacking>xml</srw:recordPacking>
    <srw:recordSchema>eckcs2.1.1</srw:recordSchema>
  </srw:echoedSearchRetrieveRequest><srw:extraResponseData>
</srw:searchRetrieveResponse>

Foutmeldingen

SRU Foutmeldingen

Een foutmelding vanuit Edurep is te herkennen aan de aanwezigheid van het diagnostics veld. In dit veld zal dan een diagnostic staan die die volgende elementen bevat:

  • een foutcode: in diagnostic/uri
  • een titel: in diagnostic/message
  • een beschrijving: in diagnostic/details

Voorbeeld

<srw:searchRetrieveResponse>
  <srw:version>1.2</srw:version>
  <srw:numberOfRecords>0</srw:numberOfRecords>
  <srw:diagnostics>
    <diagnostic>
      <uri>info://srw/diagnostics/1/48</uri>
      <details>Unexpected token after parsing ([=], CQL_QUERY(SCOPED_CLAUSE(SEARCH_CLAUSE(SEARCH_TERM(TERM('test')))))).</details>
      <message>Query Feature Unsupported</message>
    </diagnostic>
  </srw:diagnostics>
</srw:searchRetrieveResponse>

Foutcodes

foutcode titel/message uitleg
info://srw/diagnostics/1/4 Unsupported Operation Alleen operaties searchRetrieve en explain worden ondersteund.
info://srw/diagnostics/1/5 Unsupported Version Alleen versies 1.1 en 1.2 worden ondersteund. Gebruik 1.2
info://srw/diagnostics/1/6 Unsupported Parameter Value De waarde van een query parameter is ongeldig.
info://srw/diagnostics/1/7 Mandatory Parameter Not Supplied Niet alle verplichte argumenten zijn meegegeven.
info://srw/diagnostics/1/8 Unsupported Parameter Een van de query parameters is ongeldig.
info://srw/diagnostics/1/12 Too many characters in query Het query argument mag maximaal 4096 tekens bevatten.
info://srw/diagnostics/1/48 Query Feature Unsupported De query bevat een fout.


Jsonsearch Foutmeldingen

Een foutmelding uit de jsonsearch is te herkennen aan de "error" key in de response.

Voorbeeld

{
    "error": {
        "message": "Missing required argument: 'query'",
        "type": "MissingArgument"
    },
    "version": "0.1.beta"
}

Foutcodes

type omschrijving
MissingArgument een vereist argument ontbreekt in het verzoek