6. BUILDING A THESAURUS BASED TERMINOLOGY WEB SERVICE
It was recognized long ago that thesaurus resources could be utilized to support retrieval. The paradigm of service orientation in the software universe suggests implementing a terminology service as a web service. A RPC-style, SOAP-based SKOS API for such a service has been defined early on [2]. It has some implementations (eg the FACET browser [17]) but appears to have seen no further development. In contrast to these beginnings our
approach is based on a REST architecture. It tries to expose meaningful and useful thesaurus-related resources on the web, available through simple HTTP GET requests, using resource names (like “concepts”) rather than verbs (like “getConcepts”).
A beta version of the STW web service12 has defined three basic resources:
concepts – searches and returns concept URIs for a given search term or query (for ease of handling in an application, eg. for display in a list, accompanied by skos:prefLabels). By default, search is restricted to the type of zbwext:Descriptor and carried out on skos:prefLabel and skos:altLabel
narrower – return the skos:narrower concept URIs for a given concept URI. ( broader and related to be defined in the same way to cover the other semantic relations)
labels – returns (by default: all) labels for a given concept (accompanied by the concept URI and its skos:prefLabel)
These are the basic building blocks. They could be useful in themselves, for example to enhance a search within a dataset indexed by the concepts of a given concept scheme. If the search term can be mapped to a concept URI by the search application, it can include narrower concept URI via a lookup of the “narrower”
service for this concept URI.
However, mostly the user input has to be mapped to concepts, and then resources related to these concepts are demanded. So we define resources which represent combinations of these basic building blocks, eg