Johnny's Software Saloon

Weblog where I discuss things that really interest me. Things like Java software development, Ruby, Ruby on Rails, Macintosh software, Cocoa, Eclipse IDE, OOP, content management, XML technologies, CSS and XSLT document styling, artificial intelligence, standard document formats, and cool non-computing technologies.

My Photo
Name:
Location: Germantown, Maryland, United States

I like writing software, listening to music (mostly country and rock but a little of everything), walking around outside, reading (when I have the time), relaxing in front of my TV watching my TiVo, playing with my cat, and riding around in my hybrid gas/electric car.

Monday, March 13, 2006

SPARQL: Web 2.0 Meet the Semantic Web

Someone just posted a neat entry on their blog entitled SPARQL: Web 2.0 Meet the Semantic Web. In it they touted the powerful combination of SPARQL, a new semantic web query language, and several other technologies that have already grown very popular with users and programmers alike.


what, really, can SPARQL do for Web 2.0? Imagine having one query language, and one client, which lets you arbitrarily slice the data of Flickr, delicious, Google, and yr three other favorite Web 2.0 sites, all FOAF files, all of the RSS 1.0 feeds (and, eventually, I suspect, all Atom 1.0 feeds), plus MusicBrainz, etc.

FOAF, RSS/Atom are some of the most popular document file formats being used to share information these days.


Everybody recognizes Flickr photos, del.icio.us bookmarking, Google searching, as very popular free services for storing/organizing their information as well as finding/viewing other people's information.


Until now, while lots of people have created ways to access this data and do mashups of it, there were sometimes some hurdles.


It was somewhat tedious to do some of the coding. While these services tend to have APIs, the XML data that comes back lacks a common, unifying ontology. You tend to want to create a homogenous ontology if you want to give users seamless access to all the information - without making them worry about where the data came from. Everyone from bureaucrats, to news radio listeners, to IT directors are all too familiar with the woes of stovepipe software architectures. SPARQL can be used to help break down the barriers between different XML formats. Then, one piece of code can operate on the whole gamut of technology.


Better, cheaper, faster? Yeah.



How powerful? Well, imagine being able to ask Flickr whether there is a picture that matches some arbitrary set of constraints (say: size, title, date, and tag); if so, then asking delicious whether it has any URLs with the same tag and some other tag yr interested in; finally, turning the results of those two distributed queries (against totally uncoordinated datasets) into an RSS 1.0 feed. And let's say you could do that with two if-statements in Python and three SPARQL queries.

Right. When tagging information, a programmer does not really want to create 10 different tagging services to tag 10 different kinds of data that come from 5 or 10 different sources. A user certainly wants to be able to search all the different information for matches to a particular tag.


Imagine an intern reporter doing research at a major news organization. A huge disaster, say a major chlorine gas leak, has occurred at a factory owned by Noxia corporation, located just outside a medium sized city of Imaginaria, Wisconsin.


Using a SPARQL-enabled Javascript activated application, he can interactively query public databases at the same time as those of his organization for various combinations of these tags: chlorine, industry, factory, disaster, industrial, noxia, regulation, imaginaria, wisconsin.


They will get back a nicely organized, attractively-formatted, interactive window filled with live content that includes:



  • photos (with attribution for photographer, source media-repository)

  • audio streams

  • video clips

  • previously published articles by this news organization and other organizations (with attribution/bibliography entry, copyright, copyright owner contact info)

  • scholarly research papers on these sorts of incidents, examining past ones or the likelihood of future ones - as well as the likely health effects

  • a consolidated timeline of any relevant events

  • relevant legislation (ratified or defeated)

  • court cases involving similar disasters (those matching any/all of the following: same industry, same company, same location, same victims)

  • industrial leaders in chlorine industry (corporations, executives, scientific experts)

  • local physicians with experience in treating patients suffering from chlorine-inhalation

  • symptoms of inhaling dangerous amounts of chlorine


Some of this information being presented sort of assumes some news media specific programming buttressing the tag-driven queries the reporter does. That too could be implemented using SPARQL and other RDF-aware semantic web technology.


This is just one example. Obviously, there are similar applications useful to librarians, health organizations, law firms, shoppers, playwrights, historians, curators, satirist comedians, geologists, hobbyists, CSI style criminologists, etc.



What needs to be done? Well, Web 2.0 fans, builders, and advocates need more love from SW fans, builders, and advocates. These two worlds really belong together. Next, Web 2.0 apps/services need to export (or make it easier for others to wrap) an RDF interface around their data. Then we need - as Leigh Dodds mentioned to me recently - a good SPARQL client implementation in Javascript, along with some conventions for building and moving queries around in an AJAX-friendly way. SPARQL over AJAX just by itself is so cool it gives me a headache! Last, SPARQL implementations have to spread and mature, but they're already off to a very good start. There are SPARQL tools in Java, Python, and other everyday languages.

Java and scripting languages are enjoying their highest popularity ever. JDK 1.6 will make it easy to use scripting languages as front-ends for Java services. More and more AJAX/DTHML user interfaces are created every week. Users enjoy liberation from the 1970s-like batch-style interfaces that forms with a Submit button engender. Users have never understood or liked systems that arbitrarily kept data from different sources separate. That really flouts the fact that they have gotten a system that can access all those systems at once.


Recently, there has been a surge of new semantic web tools. Older ones that have been around for half a decade have added support for the newer semantic web file format standards, like OWL. All these things can be used to help seamlessly put together data from different sources/formats into one cohesive document. That document can naturally be manipulated through one coherent, highly responsive, graphical user interface. And that is what users want.


0 Comments:

Post a Comment

<< Home

Related pages & news