Sunday, April 22, 2007

Finally a webservice: DREFT and SKOS for Thesaurus

pencil icon, that"s clickable to start editing the post

In my last post SemWeb terms: Controlled vocabulary, Taxonomy, Thesaurus and Ontology i got a decent idea of what the terms meant, but not much about serializing it to XML. In My shortcut into Taxonomy in W3C XML I did look at an example of a simple taxonomy written i OWL, and it should in general be possible to write any af these in OWL (if not everything that anyone can throw against it). OWL comes in three editions, but some have asked for an even lighter version, and that might be RDF/SKOS that's be standardized in W3C.

Simple Knowledge Organisation Systems (SKOS)

Once again wikipedia has a great definition for SKOS:

SKOS or Simple Knowledge Organisation System is a family of formal languages designed for representation of thesauri, classification schemes, taxonomies, subject-heading systems, or any other type of structured controlled vocabulary. SKOS is built upon RDF and RDFS, and its main objective is to enable easy publication of controlled structured vocabularies for the Semantic Web.

This is also close to the definition in the abstract of the current working draft. On the SKOS site there are links to the current drafts:

Looking at the dates of these documents is not encouraging, but a notice on the frontpage does indicate that this project is to be accelerated an finalized in finite time:

The new W3C Semantic Web Deployment Working Group (SWDWG) had its first teleconference meeting on 10 October. The WG has been given responsibility for developing and maintaining SKOS, and is chartered to work towards publishing SKOS as a W3C Recommendation by the first quarter of 2008. For more information see the SWDWG home page and the SWDWG charter.

But even a more simple format doesn't open itself for me, so I was looking for some examples and found something that caught my interest: a webservice based on SKOS, looks like the perfect way in for me.

Demo of RDF Thesaurus (DREFT)

I've looked at the name many times and havn't figured out how it came to be called DREFT (also sometimes called SKOS thesaurus web service API), but anyway the background is described in RDF Thesaurus Prototype (part of SWAD-Europe Thesaurus Activity and dates back to 28'th September 2004.

In the technical description of the service (2.5. Terminology and Methods):

We opted to use the RPC/Encoded service style for this first version of the Web Service implementation - our decision being largely influenced by the relative availability of open source tool support for RPC/Encoded (ahead of Document/Literal) at the time the workpackage commenced.

I can't remember where WS-I was at that time, but they were aware of it and choose based on open source tooling, which is a valid argument i my mind and also they started out earlier than the time of this publication. They made even more effort for compliance:

The service's WSDL file needs to be applicable to any implementation language, and it was seen as best practice to not overload API methods, since some languages do not support method overloading. Thus where API methods differ only in the types of their parameter, the method name gains a suffix such as ByThesaurus or ByExternalID. We are also aware that the best practice WS-I Basic Profile[WSIBP] recommends against method overloading.

Next thing will be to look at an actual service.


Ishan said...

can anyone give me an example on how to use these web services... my application needs to connect to a thesaurus and get the result in string form... how can i do it using web services

Sweetxml said...

Hi Ishan

I'll suggest you look at my other post The National Biological Information Infrastructure (NBII) Dreft web service for the Biocomplexity Thesaurus.
I'm sorry I didn't se your comment ealier but the notification stranded in my other mailbox.