Edurep:Zoekopdracht/Query: verschil tussen versies

Uit Kennisnet Developers Documentatie
Ga naar: navigatie, zoeken
(add jsonsearch example + see also)
(dont include encoding)
Regel 18: Regel 18:
 
* De zoekwoorden kunnen alleen letters en cijfers bevatten. Vanwege het indexatieproces zijn speciale karakters als # en $ zijn niet doorzoekbaar.
 
* 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.
 
* 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.
'''Encoding:'''
+
<noinclude>== Encoding ==
   
 
In Edurep is niet letterlijk te zoeken op speciale karakters als ü of ë. Deze karakters moeten eerst geëncodeerd worden naar UTF-8. Op het internet zijn diverse overzichtslijsten en conversietools te vinden.
 
In Edurep is niet letterlijk te zoeken op speciale karakters als ü of ë. Deze karakters moeten eerst geëncodeerd worden naar UTF-8. Op het internet zijn diverse overzichtslijsten en conversietools te vinden.
Regel 36: Regel 36:
 
|-
 
|-
 
|}
 
|}
<noinclude>== Compliance ==
+
== Compliance ==
 
De Edurep CQL is niet volledig compliant met de officiele CQL. 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].
 
De Edurep CQL is niet volledig compliant met de officiele CQL. 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].
   
Regel 69: Regel 69:
 
</syntaxhighlight>
 
</syntaxhighlight>
 
== See Also ==
 
== See Also ==
{{:Edurep:SeeAlso|use=[[Edurep:LOM_SearchRetrieve]] - [[Edurep:SMO_SearchRetrieve]] - [[CS:Entry_SearchRetrieve]] - [[Edurep:Jsonsearch]]}}
+
{{:Edurep:SeeAlso|use=[[Edurep:LOM_SearchRetrieve]] - [[Edurep:SMO_SearchRetrieve]] - [[CS:Entry_SearchRetrieve]] - [[Edurep:Jsonsearch]]|related=[[Edurep:Zoekopdracht]]}}
 
</noinclude>
 
</noinclude>

Versie van 22 okt 2021 om 07:29

In Edurep kan er worden gezocht op AND/OR/NOT combinaties van trefwoorden, binnen de totale set of binnen specifieke velden.

  • fiets AND pomp
  • kasteel AND (ridder OR ridders)
  • vis AND walvis NOT potvis
  • breuken AND vak=wiskunde
  • breuken AND (titel=werkblad OR titel=taak)

Afhankelijk van de gebruikte zoekinterface zijn er verschillende zoekvelden beschikbaar, bekijk de veldenlijst voor een overzicht.

Voorbeelden:

/edurep/sruns: query=fiets AND pomp
/smo/sruns: query=smo.hReview.info exact "http://wikiwijs.samendelen.nl/get/smpid:5585/DS1"
Catalogus Service: query=Title=techniek AND Price<500
/jsonsearch: query=fiets AND schema:name="werkblad"

Beperkingen:

  • De waarde van het query argument mag maximaal 4096 tekens zijn, na urldecoding.
  • 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.

Encoding

In Edurep is niet letterlijk te zoeken op speciale karakters als ü of ë. Deze karakters moeten eerst geëncodeerd worden naar UTF-8. 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

Compliance

De Edurep CQL is niet volledig compliant met de officiele CQL. 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 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:

 >>> from cqlparser import parseString
 >>> print parseString("aap").prettyPrint()

See Also

Gebruikt in Edurep:LOM_SearchRetrieve - Edurep:SMO_SearchRetrieve - CS:Entry_SearchRetrieve - Edurep:Jsonsearch
Vergelijkbaar met -
Gerelateerd aan Edurep:Zoekopdracht