« Semantic Technology 2006 | Main | Bigger Datasets »



I have been working on an "RDF browser", built using Wilbur. I am tired of looking RDF data in the RDF/XML (or any other syntactic) form. It seems that an RDF graph can easily be rendered as hypertext, and browsing is a very intuitive way to navigate data. Loading multiple RDF documents into Wilbur's triple-store and viewing them all together offers a simple way to integrate data, ad hoc. I've dubbed this piece of software "OINK" for "Open Integration of Networked Knowledge" (really).

All that OINK really knows is the RDF metamodel. It has no knowledge of any schemata, although the architecture allows "special" rendering of instances on a class-by-class basis. Because OINK is built on top of Wilbur, each triple, when visualized, also offers information about its provenance. "Actual" triples are visualized differently from entailed triples. Nodes are identified by their URI, QName or (if it exists) value of the rdfs:label property (or any subproperty thereof). Browsing data that's based on a "correctly" constructed schema will not reveal any URIs or QNames to the user.

OINK uses the Portable Allegroserve HTTP server as its "application platform"; otherwise OINK is just a thin layer on top of the basic Wilbur API. Current implementation is less that 1000 lines of code (in Common Lisp).

As an experimental feature, the paths that the user takes through an RDF graph can be automatically treated as queries (in WilburQL path query language). This allows one to quickly find similarily related objects. Queries can be named; these names are subsequently treated as RDF properties, "rewritten" on the fly, and query results visualized as the values of (repeated) properties.

Using OINK seems to be very addictive. I have just been browsing about 500,000 triples worth of enzyme, protein and gene ontology data. Way cool, even if I don't understand anything about the subject matter. :-)

Here's a sample OINK page, browsing the RSS 1.0 feed of this blog:

OINK screen

Posted by ora at 22:41


That's great stuff! Is it publicly accessible? I'd love to take it for a spin...

Best regards, Brian

Posted by: Brian Manley at March 21, 2006 09:50 AM

OINK will eventually become part of the Wilbur distribution.

Posted by: Ora Lassila at March 23, 2006 06:58 AM

I like an idea to use UI Widgetes to represent slots of resources (like in Protégé http://protege.stanford.edu/ ). I think that is a good way to represent RDF resources like cards where every slot can be represented by different widgets (StringWidget, URIWidget, ImageWidget, ListWidget, etc) depending on layout. Currently I’m trying to develop the same solution for the Web. I hope it should be interesting for cmunity: www.semanticlinks.net Thanks! Best regards

Posted by: Pavel at March 24, 2006 02:16 AM

On the long run, representing slots like in Protégé using Wilbur will cost infinite effort ;-9

I would point you to use Fresnel or XSLT to get on rails :-)

there are many templating languages collected on this ESW-wiki page. Select one of these languages (like fresnel) and implement it, reuse will bless us.


Posted by: Leo Sauermann at May 20, 2006 07:01 AM

We are already implementing (parts of) the Fresnel vocabulary in OINK

Posted by: Ora Lassila at May 20, 2006 07:14 AM