i-sieve Technologies - POWDER
Through its close association with the Institute of Informatics & Telecommunications (IIT), NCSR "Demokritos", i-sieve Technologies is in the forefront of developing tools that use the Protocol for Web Description Resources (POWDER).
Published as a W3C Recommendation in August 2009, POWDER can be seen as the glue that binds the Web of documents with the Semantic Web, that is, the Web of data. It allows individuals and organisations to quickly and easily publish descriptions of websites, sections of websites or individual online resources. This contrasts with other descriptive technologies that typically apply to a single resource.
The protocol can be used for a wide variety of purposes, for example, to apply licensing and copyright data to websites, to carry conformance claims such as mobileOK, and it has the potential for use in making trustmarks and recommendations more readily machine readable.
Besides its great flexibility, POWDER's key feature is that all descriptions are attributed to their publisher who is strongly encouraged to establish an authentication route through which the trustworthiness of the data can be assessed. Thus the well-established 'click to verify' model used by trustmarks around the world can be automated and made less prone to spoofing. As part of the EU-funded QUATRO Plus project, i-sieve is developing a range of tools and services to explore these ideas.
Tools & Services
i-sieve provides and maintains the following tools and services based around POWDER.
The POWDER Validator is the key tool for anyone creating and publishing POWDER documents.
The POWDER Processor is the key tool that returns RDF triples describing a specific resource, usually extracted from a given POWDER document. The i-sieve processor stores all the POWDER documents it processes so that if you ask it to decsribe a resource for which it already has one or more POWDER documents available, and don't specify a particular data source, it will return a description based on the POWDER documents in its database. This is in contrast to Andrea Perego's POWDER processor. If you ask that for a description of a resource but don't specify a data source, it will visit the URL you give and look for links to POWDER documents in either the HTML or HTTP headers.
mobileOK POWDER Generator
As the name suggests, this tool generates POWDER documents that claim conformance with the W3C's mobileOK scheme. It takes you through the process step by step of declaring who you are and the resources for which you claim mobileOK conformance. Additionally, you can add in Dublin Core metadata and a Creative Commons Licence.
The tools listed above stand alone and can be used directly. i-sieve Technologies and NCSR "Demokritos" have also made available tools and software modules for use by developers wishing to work with POWDER.
The QUATRO Plus proxy (QUAPRO)
Developed by NCSR Demokritos, the QUATRO Proxy offers a suite of Web Services that locate and authenticate Description Resources. Built wth scale in mind, QUAPRO is operates in a multi-server environment. Full documentation is being finalised and will be published soon.
TransOnto, a Semantic POWDER Processor
TransOnto is a knowledge transformation and migration system for transferring knowledge between semantic representations that acts as a POWDER-S processor. In other words it does not act on the compact XML representation of Description Resources, rather, it operates on the OWL ontologies that are generated from POWDER documents by running the associated transformation. The semantic POWDER processor uses Jena and Pellet and offers a command line interface. The full (Java) source code is available and may be adapted for use in your applications.
POWDER to POWDER-BASE Transformation Tool
This is simply an extension of the validator. Valid POWDER documents are be transformed into POWDER-BASE equivalents and can be returned either in the HTML page or as the transformed XML/POWDER-BASE document. This step is carried out by the XSLT provided by the POWDER working group however it requires XSLT 2 to do so. The output of the i-sieve tool can be transformed into POWDER-S just using XSLT 1.
The POWDER processor, validator and their associated tools offered by i-sieve are all written in Perl. Whilst it remains an aim to make the code available as transportable modules (through CPAN) this has not been done to date. Therefore, we are only able to offer the code in its 'rough and ready' state. As such, it may be useful as a guide to other developers but, with the possible exception of the SAX handler, is unlikely to be of direct use. If you have specific queries, feel free to contact Phil Archer.