Ok, so finally the IEEE Internet Computing article on Exploiting Linked Data to Build Web Applications is available. Though this is a nice first step, much more is needed to advance the field. The goal is to enable people to actually use linked data in their Web applications, rather than ‘only’ publish datasets. Don’t misunderstand me here: it is a good thing to publish on the Web of Data, but ultimately data is meant to be used somewhere, right? Publishing linked data is not an end in itself.
To support this effort, I’m currently compiling a technical report in and for DERI’s Linked Data Research Centre (LiDRC) that looks at current examples of linked data-driven Web applications, gathers good practices and discusses the anatomy of a typical application (in the last part of the report issues and challenges are discussed, as well). So, one of the central contributions is a proposed concept for linked data-driven Web applications, which renders as follows:
The proposed components read as follows:
- A local RDF store, able to cache results and act as a permanent storage device to track users, etc.. We note that an RDF store such as ARC2 or Virtuoso is not a strict requirement, though often it makes sense to manage the RDF data in a native environment.
- Some logic (a controller) and UI modules implementing the business logic, the User Interface (UI) and the interaction parts of the application. These components are not specific to linked data-driven Web applications, however typically required and found in the wild.
- A data integration component, focusing on fetching linked data from the Web of Data, either directly from the LOD cloud or via Semantic Indexer such as Sindice or Falcons.
- A republishing component that eventually exposes parts of the application’s (interlinked) data on the Web of Data. It is a good practice to republish the application’s data, hence providing again input to the LOD cloud.
I’d be happy to hear from you what you think about this proposal. Any architectural feedback is welcome!