W3C home > Mailing lists > Public > public-rdf-ruby@w3.org > February 2009

[Fwd: Experimental Ruby SKOS API]

From: Dan Brickley <danbri@danbri.org>
Date: Wed, 18 Feb 2009 12:38:30 +0100
Message-ID: <499BF336.3050902@danbri.org>
To: public-rdf-ruby@w3.org

Hopefully of interest here. Sorry should've rememembered to cc.

SKOS is a REC-track W3C spec for describing thesauri and similar 
systems. See http://www.w3.org/TR/skos-reference/ for details.

cheers,

Dan

-------- Original Message --------
Subject: Experimental Ruby SKOS API
Resent-Date: Wed, 18 Feb 2009 11:12:58 +0000
Resent-From: public-esw-thes@w3.org
Date: Wed, 18 Feb 2009 12:12:18 +0100
From: Dan Brickley <danbri@danbri.org>
To: SKOS <public-esw-thes@w3.org>


Just a quick note to report on a work-in-progress I've been exploring
this week.

I started to make a Ruby API for SKOS.

The distinguishing feature here is that it uses jruby (a Ruby
implementation in pure Java). As such it can call on the full powers of
the Jena toolkit, which go far beyond anything available currently in
Ruby. At the moment it doesn't do much, I just parse SKOS and make a
tiny object model which exposes little more than prefLabel and
broader/narrower.

I think it's worth exploring because Ruby is rather nice for scripting,
but lacks things like OWL reasoners and the general maturity of Java
RDF/OWL tools (parsers, databases, etc.).

I've posted some example snippet in See
http://svn.foaf-project.org/foaftown/2009/skosdex/readme.txt which uses
the UKAT SKOS dataset.

The idea is to use some ruby idioms to explore the SKOS graph.

Quick example. This goes 2 levels down from some chosen concept:

s1 = SKOS.new()
s1.read("file:samples/archives.rdf")
c1 = s1.concepts["http://www.ukat.org.uk/thesaurus/concept/1366"]
puts "test concept is "+ c1 + " " + c1.prefLabel
c1.narrower do |uri|
   c2 = s1.concepts[uri]
   puts "\tnarrower: "+ c2 + " " + c2.prefLabel
   c2.narrower do |uri|
     c3 = s1.concepts[uri]
     puts "\t\tnarrower: "+ c3 + " " + c3.prefLabel
   end
end

See http://svn.foaf-project.org/foaftown/2009/skosdex/readme.txt for the
indented output, which I won't show here as it'll get lost in email
formatting.

I'm interested to hear if anyone else has explored this topic. Obviously
there is a lot more to SKOS than broader/narrower, so I'm very
interested to find collaborators or at least a sanity check before
taking this beyond a rough demo.

Thanks for any thoughts,

Dan

--
http://danbri.org/
Received on Wednesday, 18 February 2009 11:39:09 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Wednesday, 18 February 2009 11:39:10 GMT