Creating Web Services with SPARQLMotion
A week ago we have officially launched SPARQLMotion 1.0 as part of the latest TopBraid Suite release. SPARQLMotion is a visual scripting language based on Semantic Web standards. The language is particularly useful to automate all kinds of data integration tasks because SPARQLMotion has built-in facilities to merge, map and transform data from various sources and formats. Furthermore, being a visual language, little programming skills beyond SPARQL are required to use SPARQLMotion and its tools.
One of the new features of SPARQLMotion 1.0 is that it can be used to create customized Web Services. TopBraid users can visually define REST-style web services and execute them within Maestro or the TopBraid Live server. I am describing a small example SPARQLMotion web service on our web page, but here is a screenshot of the script for your convenience.
This small SPARQLMotion script takes a calling code such as "61" as input, sends it in a SELECT query to the DBPedia SPARQL end point, and then sends a string response such as "61 is the calling code of Australia." back to the client. (Thanks to Henry Story for a variation of this scenario!)
This particular example only highlights one aspect of the possibilities of SPARQLMotion, namely the ability to create wrappers of arbitrary SPARQL calls. However, imagine that you can also define any sequence of processing steps in the middle (between the green start and the red end module). You could mash up data from multiple newsfeeds, databases, spreadsheets or XML sources, include data from external web services, construct new triples, define iterations and if-then-else branches, apply inference engines, send emails, construct complex web pages using JSPs or other templates, etc. With SPARQLMotion, defining useful Web Services becomes a matter of drag and drop - at least that's our goal at TopQuadrant.
There are many other SPARQLMotion improvements in the latest TopBraid Composer release, and we are incrementally adding examples and documentation - finally also including a user's guide. The tool now also provides a visual script debugger. Realistically there are still some rough edges that demand for improvements, but there are also quite a lot of opportunities to discover in this new semantic programming paradigm. Just make a mark and see where it takes you.