Standaarden:SRU/Edurep CQL: verschil tussen versies

Uit Kennisnet Developers Documentatie
Naar navigatie springen Naar zoeken springen
(make generic)
(do redirect)
Label: Nieuwe doorverwijzing
 
Regel 1: Regel 1:
  +
#DOORVERWIJZING [[Edurep:Zoekopdracht/Query]]
Op Edurep en de Catalogus Service draait niet de standaard CQL versie, maar een [https://github.com/seecr/cqlparser aangepaste]. Hiermee kunnen de zoekinterfaces zoekvragen afhandelen met de volgende eigenschappen:
 
* De waarde van het query argument mag maximaal 4096 tekens zijn, na urldecoding.
 
* Er kan binnen specifieke metadata velden gezocht worden, met "=" of met "exact" matching.
 
* Er kunnen meerdere termen voorkomen, waarin booleaanse operatoren als AND, OR en NOT gebruikt kunnen worden.
 
* De zoekwoorden kunnen alleen letters en cijfers bevatten. Vanwege het indexatieproces zijn speciale karakters als # en $ zijn niet doorzoekbaar.
 
* Wildcard zoeken is beperkt mogelijk. Zoeken op fiets* is wel mogelijk maar *fiets niet. De fiets* is mogelijk met minimaal 2 karakters. Het zoeken met het wildcard teken in een string (infix) is ook mogelijk, ook met minimaal 2 voorloopkarakters. Er mag maximaal 1 * voorkomen per trefwoord.
 
* Er kan binnen velden op de volgende manier gezocht worden: query=(veld1=waarde1+or+veld1=waarde2)+and+(veld2=waard3+or+veld2=waarde4).
 
* Er is een veldenlijst voor [[Edurep:Veldenlijst|Edurep]] en voor de [[CS:Veldenlijst|Catalogus Service]].
 
 
{{EdurepQuery|query=fiets AND pomp}}
 
{{SmbQuery|query=saai}}
 
{{EdurepQuery|query=lom.general.title=fiets AND lom.general.description=zadel}}
 
{{EdurepQuery|query=lom.technical.format exact "application/pdf"}}
 
{{SmbQuery|query=smo.hReview.info exact "http://wikiwijs.samendelen.nl/get/smpid:5585/DS1"}}
 
{{CatalogusServiceQuery|query=Title=techniek AND Price<500}}
 
 
=== 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 [http://en.wikipedia.org/wiki/Percent-encoding URL-encoded] worden opgegeven omdat een verzoek anders verkeerd kan worden geïnterpreteerd.
 
 
{| class="wikitable"
 
|-
 
| '''te zoeken url'''
 
| <nowiki>http://www.test.urls.nl/~user/index.html&argument=alsotest</nowiki>
 
|-
 
| '''query argument'''
 
| <nowiki>smo.hReview.info="http://www.test.urls.nl/~user/index.html&argument=alsotest"</nowiki>
 
|-
 
| '''url-encoded representatie'''
 
| smo.hReview.info%3D%22http%3A%2F%2Fwww.test.urls.nl%2F%7Euser%2Findex.html%26argument%3Dalsotest%22
 
|-
 
|}
 
 
=== boolean voorkeur ===
 
In de Edurep CQL variant hebben de ondersteunde booleans niet allen dezelfde voorkeur. Hieronder staat een CQL query en de (vereenvoudigde) wijze waarop deze wordt geïnterpreteerd door de [https://github.com/seecr/cqlparser gebruikte cqlparser].
 
 
"vertelplaten NOT lom.rights.cost=yes NOT lom.technical.format=non-digital NOT about.repository.id exact FENC"
 
 
CQL_QUERY
 
(
 
(
 
(
 
(
 
(
 
'vertelplaten'
 
),
 
BOOLEAN('not'),
 
 
'lom.rights.cost=yes'
 
),
 
BOOLEAN('not'),
 
 
'lom.technical.format=non-digital'
 
),
 
BOOLEAN('not'),
 
 
'about.repository exact FENC'
 
)
 
)
 
 
Installeer en uitvoeren in Python:
 
<syntaxhighlight lang="python">
 
>>> from cqlparser import parseString
 
>>> print parseString("aap").prettyPrint()
 
</syntaxhighlight>
 
<noinclude>
 
[[Categorie:Edurep]]
 
[[Categorie:Achtergrond]]
 
[[Categorie:Standaarden]]
 
</noinclude>
 

Huidige versie van 21 okt 2021 om 04:11

Doorverwijzing naar: