Voorbeelden Queries
Inhoud |
Introductie
Op deze pagina zijn de diverse query mogelijkheden van de Edurep en SMB specificaties uitgelegd en voorzien van voorbeelden.
query
Edurep gebruikt CQL versie 1.1 en voldoet aan CQL conformance level 1. Hiermee kan Edurep zoekvragen afhandelen waarin:
- binnen specifieke metadata elementen gezocht worden, met "=" of met "exact" matching (zie de Veldenlijst voor meer info),
- meerdere termen voorkomen, waarin booleaanse operatoren als AND, OR en NOT gebruikt kunnen worden,
- alleen letters en cijfers doorkomen, vanwege het indexatieproces zijn speciale karakters als # en $ zijn niet doorzoekbaar,
- gezocht kan worden met een wildcard * vanaf 2 karakters (tenzij het een "exact" query is),
- alle records opgevraagd kunnen worden met de edurep zoekterm.
| Edurep: query=fiets AND pomp |
| SMB: query=saai |
| Edurep: query=lom.general.title=fiets AND lom.general.description=zadel |
| Edurep: query=lom.technical.format exact "application/pdf" |
| SMB: query=smo.hReview.info exact "http://wikiwijs.samendelen.nl/get/smpid:5585/DS1" |
encoding
In Edurep is niet letterlijk te zoeken op speciale karakters als ü of ë. Deze karakters moeten eerst geëncodeerd worden naar UTF-8. Zoeken op "poëzie" resulteert dan in de volgende query: "poëzie". Op het internet zijn diverse overzichtslijsten en conversietools te vinden.
De waarden van SRU argumenten moeten URL-encoded worden opgegeven omdat een verzoek anders verkeerd kan worden geïnterpreteerd.
| te zoeken url | http://www.test.urls.nl/~user/index.html&argument=alsotest |
| query argument | smo.hReview.info="http://www.test.urls.nl/~user/index.html&argument=alsotest" |
| url-encoded representatie | smo.hReview.info%3D%22http%3A%2F%2Fwww.test.urls.nl%2F%7Euser%2Findex.html%26argument%3Dalsotest%22 |
startRecord
Standaard wordt de resultatenset vanaf resultaat 1 getoond. Met de startRecords parameter kan een nieuwe uitgangspositie worden aangegeven.
| Edurep: query=fles&startRecord=13 |
maximumRecords
Standaard worden 10 resultaten opgehaald met een query. Maximaal kunnen 100 resultaten per keer worden opgevraagd en minimaal 0.
| Edurep: query=kat&maximumRecords=0 |
| SMB: query=spel&maximumRecords=1 |
recordSchema
De waarde van recordSchema bepaalt in welk formaat een resultaat wordt teruggegeven. Er zijn er een aantal waarvan standaard lom wordt teruggegeven.
| omschrijving | |
| lom | LOM record in de IMS binding. |
| LOMv1.0 | LOM record in de IEEE binding. |
| oai_dc | LOM record in Dublin Core formaat. |
| extra | Extra geïndexeerde metadata uit een record. |
| smo | Eventueel gekoppelde SMO's bij een record, maximaal 10, op volgorde van datum, de laatst toegevoegde bovenaan. |
| smbAggregatedData | De geaggregeerde sociale metadata bij een record. |
| Edurep: query=struisvogel&recordSchema=oai_dc |
x-recordSchema
Naast 1 recordSchema kunnen meerdere extra recordSchema's worden opgevraagd in een query. De hierboven beschreven recordSchema's kunnen hiervoor worden gebruikt. De extra resultaten wordt in een apart attribuut van het record opgenomen (namelijk extraRecordData).
| Edurep: query=struisvogel&recordSchema=oai_dc&x-recordSchema=meta |
recordPacking
Standaard worden resultaten als "string" teruggegeven, waarbij de inhoud dus word "ge-XML-escaped". Met de recordPacking parameter kunnen resultaten als "xml" worden ingepakt. Geldige waarden zijn "string" en "xml".
x-term-drilldown
Met een optionele term drilldown worden alle waarden van een bepaald veld cumulatief geteld over alle zoekresultaten. Dit kan slechts op een beperkt aantal velden. Er kunnen meerdere term drilldowns gedaan worden per search request door de velden te scheiden met een komma.
Het gewenste aantal resultaten in de drilldown kan worden aangegeven door ":<nummer>" aan de drilldown term toe te voegen. Als je ":0" toevoegt worden alle drilldown resultaten getoond.
| Edurep: query=oostenrijk&x-term-drilldown=lom.general.language:5,lom.technical.format |
x-field-drilldown
Een optionele field drilldown geeft de mogelijkheid om binnen de zoekresultaten per veld te tellen hoe vaak een term voorkomt. Om dit te kunnen doen, moeten aan de query een tweetal extra velden worden meegegeven:
- x-field-drilldown: de term waarbinnen op het veld verder wordt gezocht
- x-field-drilldown-fields: de velden waarbinnen een drilldown mogelijk moet zijn
Er kan maar 1 field drilldown gedaan worden per zoekopdracht. Daarbij kunnen meerdere velden worden opgegeven.
| Edurep: query=regenwoud&x-field-drilldown=apen&x-field-drilldown-fields=lom.general.title,lom.general.description,lom.general.keyword,lom.classification |
sortKeys
Het SRU/SRW protocol (versie 1.1) gebruikt het argument sortKeys om een gewenste sortering door te geven. Standaard wordt de sortering van de zoekmachine aangehouden, en dat is op de door de zoekmachine bepaalde relevantie. Het is alleen mogelijk om op bepaalde velden te sorteren.
Het is vervolgens mogelijk om in de implementatie aan te geven of het veld oplopend of aflopend wordt gesorteerd. Dit gebeurt door een boolean met de waarde 1 of 0.
| Edurep: query=beatrix&sortKeys=lom.lifecycle.contribute.publisherdate,,0 |
| Edurep: query=beatrix&sortKeys=lom.lifecycle.contribute.publisherdate,,1 |
Voor het kunnen sorteren op een titel wordt de eerste titel van een record gekozen, deze wordt gestript van lidwoorden op basis van de opgegeven taal. Nu worden Nederlands, Engels, Frans en Duits ondersteund. Van dit resultaat worden vervolgens de eerste 2 woorden gepakt. Van deze twee woorden, worden alleen letters, cijfers en de underscore geïndexeerd voor sortering.