Semantic Web REST Gateway; SAWADL

Tuesday, October 28th, 2008

A number of weeks ago, I began work on the software part of my MSc project. That software recently became feature complete.

The software is a gateway that takes what’s on the current Web and lifts it to the Semantic Web. It does that by means of several mechanisms: protocol handlers (e.g., for HTTP), content type handlers (lifting from various content types to RDF, and lowering from RDF to other content types), XML namespace handlers (lifting of XML documents based on document namespaces), and adaptations that for, e.g., certain REST services or URN namespaces can override the handlers and otherwise modify the requests and responses.

A major part of these adaptations is SAWADL, which is SAWSDL applied to WADL. As far as I know, there has been no previous specification of a format that extends WADL with semantic annotations, so I intend to publish such a specification. (Similar formats have certainly been thought of before, however.) The idea is that content and services on the existing Web can, in such a way, be given semantics (according to Semantic Web standards such as RDF) and also be made more RESTful.

My hope is that this type of software will both simplify usage of services on the Web and make them more powerful, particularly with regards to interoperability. Oh, and I should mention that the gateway itself operates according to REST principles and, for any URI given to it, acts as I believe should be best practice for a RESTful and Semantic Web. E.g., if asked for a HTML document (in the HTTP Accept header), that’s what it will return, and if asked for RDF XML or JSON-format data, it will give you that, for any Web resource.

Ok, I’ve finished my rather late espresso now and the shop’s closing. Anyway, I believe I’ll do some more posting about the software and the ideas behind it. Hopefully, I’ll be able to post the software itself (and its source) on the Web.

Next 5,000 Days of the Web

Tuesday, August 12th, 2008

Kevin Kelly, founding executive editor of Wired magazine, last year had the following prediction for the next 5,000 days of the Web. (Warning: TED intro, although not as bad as it used to be.)

I agree with Kelly’s understanding of the Semantic Web and the future of the Web. My ambition is that the project I’m working on now will be a step in the direction of what he’s talking about.

By the way, isn’t BookCrossing something that already brings specific books into the Internet of Things? I thought of this as I had the pleasure of picking up a BookCrossing-registered book yesterday, and was able to see where the book had been and add my own entry to its journal.

Reading

Wednesday, June 25th, 2008

My thesis work at the Knowledge Management Research Group at KTH is going to involve the Semantic Web, REST and some JavaScript. Because of that, I’ve been reading up on those technologies. These are some of the books that I’ve been reading:

A Semantic Web Primer by Grigoris Antoniou and Frank van Harmelen is a very good introduction to the Semantic Web for those new to the field. While I used it mainly to make sure that I hadn’t missed anything important, I did gain an improved understanding of some areas. Particularly the chapter on mathematical formulations of the Semantic Web was interesting to me, although perhaps not all that useful for my work.

RESTful Web Services by Leonard Richardson and Sam Ruby offers an architecture for RESTful web services: the Resource-Oriented Architecture (ROA). What is and isn’t REST is a much debated topic.  Richardson and Ruby describe what they believe is RESTful and what isn’t. Thanks to their discussions, I was able to form my own opinions on what I consider to be good RESTful web services and what their advantages and limitations are.

JavaScript: The Good Parts by Douglas Crockford explains which features of JavaScript are good, and which are not that good and should be avoided. Everyone who’s programming in JavaScript ought to listen to Crockford (you can watch his talks at YUI Theater). And perhaps everyone who isn’t should listen to him as well; JavaScript is actually a great language once you get past the bad parts.

Entries (RSS)