Subscribe

Platform release 9 is Live

We have successfully released Platform Version 9 into the live environment this evening. The release went smoothly with no problems and was completed between 18:00GMT and 18:22GMT. The outage also included a complete restart of the metadata store to include some performance tuning modifications.

Release notes for version 9 can be found here

If you have any issues or problems please do not hesitate to contact us through one of the usual channels.

Platform Release 9

The next monthly release of the Platform is scheduled for Monday, 25th February 2008. We are planning to perform the release between 18:00GMT and 19:00GMT.

Release notes can be found on the wiki along with the full release schedule for future releases. This release sees the addition of customisable language analysis for indexed metadata

In addition to the regular release, we plan to take the opportunity to carry out some tuning on some of the underlying Platform services. Unfortunately, this will require some downtime, so all platform services will be offline for a short period of time between 18:00GMT and 19:00GMT.

Editing the Web of Data

Another feature of the experimental Convert service is the ability to pull RDF (extracted from RDF/XML, turtle, RDF/JSON, and HTML) into an editing interface – either form fields, or editing free text as Turtle, edit the data, transform it (options include describing the edit as a ChangeSet, reifying, or dereifying the data), convert it, and POST or PUT the results to any URI.

This might not seem so exciting if you are already quite happy doing this on the commandline with Vim and cURL, but what is potentially interesting about it is the syntax used in the name attributes of the form widgets to roundtrip the data from the web, through the HTML forms ( you can read about the forms syntax on the n2 wiki ).

Javascript and JSONP

What this means, is that the Convert service can be used as a proxy for purely client side javascript applications. You can retrieve RDF data form anywhere on the web by requesting a JSONP conversion of it from the service.

JSONP

The JSONP service allows you to specify a callback function, and it will return the data wrapped in a call to that function.

So you define a function called ,eg, my_callback which accepts the json data object as the first parameter, and then create a script tag pointing to the JSON data, with a url parameter of callback=my_callback. The browser will then load the remote javascript into your page, which will call your my_callback function, passing it the data you requested.

RDF in HTML forms

You can then load the data into HTML form widgets, using the same forms syntax as the Convert service’s editor page for the @name attribute, and point the @action attribute of the form at the Convert service. Pass in the appropriate form values describing how you want the data transformed and converted, and where you want to POST or PUT it to. Then when the form is submitted, the POST array will be transformed and converted into the format you chose, and forwarded on to the URI you chose.

The upshot of which, I think, is that you can write pure client-side applications that read, write, and edit data across the web.

It’s kind of like that formmail.pl script, for RDF ;)

Experimental Convert Service

Lately I’ve been working on an experimental Convert service. The idea is much like dajobe’s triplr or Simile’s babel – accept a variety of semantic formats as input, and make them available in other flavours as output.

RDF -> RDF

The service accepts HTML (preferrably with eRDF, RDF, or microformats), RDF/XML, turtle, or RDF/JSON as input, outputting to a variety of RDF serialisations. For the parsing of most of these RDF formats, the service uses Benjamin Nowack’s excellent ARC library for PHP.

SPARQL/XML and Facet/XML

The service also accepts SPARQL/XML and the XML from the Talis Platform Facet service, transforming to either JSON, JSONP, or HTML.

Doing the conversions is a PHP library, available in the n2 SVN repository

Store Groups in Moriarty

I just committed the latest batch of changes to Moriarty (svn revision 440) which introduces a new StoreGroup class. I also introduced a new NetworkResource class that contains simple logic for fetching, updating and deleting resources on the Platform (using GET, PUT and DELETE).

Moriarty is a simple PHP library for accessing the Talis Platform. It follows the Platform API very closely and wraps ups many common tasks into convenient classes while remaining very lightweight. It also provides some simple RDF classes that are based on the excellent ARC2 class library. Moriarty is primarily being developed by Ian Davis and is in continual alpha, subject to occasional rapid bursts of change. You can read more about Moriarty on the n² wiki and get its source from the n² subversion repository

Store groups are a new Platform feature that we hope to deploy to live in Release 10. I wrote this code to help me perform the acceptance testing on our internal release candidate. A store group is an aggregate view of up to five stores. They present the same contentbox search and sparql services that a normal store does but the results of each type of searching are drawn from the members of the group. Because the group API is the same as that provided by stores you should just be able to point your application code for store searching at a group and get the benefit of cross searching.

You don’t normally need any special permissions to use a store group but if any of the member stores are secured you’ll be asked to authenticate. Note that creation of store groups is currently restricted to Talis Live Services staff but, like store creation, we hope to open this up for general availability in due course.