feat: allow embedded osxml description
rather than providing an URI from where to download the description, it should be possible to embed it. since embedding XML would cause overhead in using the opensearch description, provide it as RDF turtle:
<?xml version="1.0" encoding="UTF-8"?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
<ShortName>DNB Katalog</ShortName>
<LongName>Katalog der Deutschen Nationalbibliothek</LongName>
<Description>Die Deutsche Nationalbibliothek sammelt alle Medienwerke in deutscher Sprache und fremdsprachige Medienwerke über Deutschland ab 1913.</Description>
<Tags>DNB Bibliothek Archiv Museum Forschung OPAC Publikation Deutschland Musikarchiv Exilarchiv Buchmuseum Schriftmuseum Buch Monografie Zeitschrift Noten Karte Tonträger Dissertation Katalog Nationalbibliografie Deutsche Nationalbibliothek Bibliografie</Tags>
<Contact>datendienst@dnb.de</Contact>
<Image height="16" width="16" type="image/x-icon ">/static/bilder/DNB_16.ico</Image>
<Image height="64" width="64" type="image/png">/static/bilder/DNB_64.png</Image>
<Url type="application/atom+xml" template="https://portal.dnb.de/opac.atom?currentResultId=%22{searchTerms}%22%26any&method=search&source=opensearch"/>
<Url type="text/html" pageOffset="0" template="https://portal.dnb.de/opac.htm?query=%22{searchTerms}%22&method=simpleSearch&cqlMode=true&currentPosition={startPage}&source=opensearch"/>
<Query role="example" searchTerms="wissenschaft%20deutschland" startPage="0"/>
</OpenSearchDescription>
@prefix ns0: <http://a9.com/-/spec/opensearch/1.1/> .
<roger:SearchDNB>
a <http://a9.com/-/spec/opensearch/1.1/OpenSearchDescription> ;
ns0:ShortName "DNB Katalog" ;
ns0:LongName "Katalog der Deutschen Nationalbibliothek" ;
ns0:Description "Die Deutsche Nationalbibliothek sammelt alle Medienwerke in deutscher Sprache und fremdsprachige Medienwerke über Deutschland ab 1913." ;
ns0:Tags "DNB Bibliothek Archiv Museum Forschung OPAC Publikation Deutschland Musikarchiv Exilarchiv Buchmuseum Schriftmuseum Buch Monografie Zeitschrift Noten Karte Tonträger Dissertation Katalog Nationalbibliografie Deutsche Nationalbibliothek Bibliografie" ;
ns0:Contact "datendienst@dnb.de" ;
ns0:Image "/static/bilder/DNB_16.ico", "/static/bilder/DNB_64.png" ;
ns0:Url "" ;
ns0:Query "" .
TODO: work out url and Query specs
e.g.
--- Schema.html
+++ Schema.html
@@ -392,32 +392,32 @@
exshapes:gndIDShape
a sh:PropertyShape ;
sh:path ex:gndID ;
dash:editor [
a roger:SelectInstanceFromRemoteDatasetEditor ;
- roger:useOpenSearchDescription "https://example.com/opensearch_GND_Personen.osxml" ;
+ roger:useOpenSearchDescription "roger:SearchDNB" ;
] ;
sh:datatype xsd:anyURI ;
sh:nodeKind sh:Literal ;
sh:description "Select an entry from the GND (Gemeinsame Normdatei) of the German National Library." ;
sh:name "GND" ;
sh:order "3"^^xsd:decimal .
Or, a more lightweight approach would be the introduction of a predicate roger:searchQueryUri
that can be used directly.
Edited by Stefan Hynek