Semantic Descriptions for RESTful Services SA-REST by Knoesis Service Research Lab Tomas Vitvar WSMO Phone Conference January 09, 2008 Tomas Vitvar
REST, mashups REpresentational State Transfer (REST) services -- great success in web content integration (mashups) o RESTful -- XML messaging and HTTP o no service contracts (when not used in combination with WSDL) RESTful services -- basis for mashups o hard to create mashups manually o frameworks (mashup editors) supporting mashups development: Yahoo! pipes, IBM QEDwiki, Google Mashup Editor (-) limited to internal company services (-) limited to output of RSS or Atom (-) data integration problem
Semantics in Services Two layers 1.Semantic Model - WSMO, WSMO-Lite, OWL-S,... 2.Linking of the semantic model with technology for communication and invocation (e.g. WSMO grounding, SAWSDL annotations) What we have o WSMO + WSMO grounding for WSDL (D24.2) o WSMO-Lite + SAWSDL for WSDL (D11)
Representation of RESTful services no service contracts (when not specified using WSDL) description usually embedded in web pages in HTML Challenge: how to annotate RESTful services available in HTML -> obvious solution: RDFa, GRDDL (adding meta- data to a human readable text so that a machine can glean semantics) What SA-REST proposes[1, 2, 3] o any semantic model (but mostly ontology) (encourages OWL or RDF) + RDFa or GRDDL o building on the idea of WSDL-S (and SAWSDL) -- borrowing the modelReference annotation (linking non- semantic and semantic concepts)
SA-REST mechanism (RDFa) semantic annotations in RDFa in HTML describing the service Triple: o subject -- the URL at which the service is invoked o predicate -- sarest:input, sarest:output, sarest:operation, sarest:lifting, sarest:lowering, sarest:fault (sarest prefix is the alias for the sarest namespace) o object -- URI or URL of a resource (semantic concept, etc.) depending on the predicate
SA-REST example (RDFa) SA-REST document for a Web service to search for houses on craigslist.com
SA-REST and GRDDL SA-REST allows to use GRDDL to attach annotations Basic steps o annotate the HTML page with microformat o add GRDDL profile attribute to (it tells the agent the page is annotated with GRDDL) o link to element pointing to translation document URL Requirement: the resulting data from GRDDL transformation must conform to the RDF triples described by RDFa annotation.
Conclusions SA-REST is the first step in using RDFa/GRDDL for enhancing RESTful services with semantics SA-REST does not preclude any semantic model (in this way it is very similar approach to SAWSDL/WSDL-S) SA-REST recommends to use standard languages (OWL, RDF), plus RDFa, GRDDL SA-REST is "just" an annotation mechanism (like SAWSDL) WSMO-Lite/WSMO can be used as the semantic model on top of SA-REST (would require more specifications) Relevant work: Semantic Web Pipes (work done by Axel in DERI Galway) Discussion in W3C SWS-testbed XG
References SA-REST done by Knoesis Service Research Lab: [1] [2] [3]