- From: Simon Jupp <simon.jupp@manchester.ac.uk>
- Date: Wed, 18 Feb 2009 14:44:27 +0000
- To: Dan Brickley <danbri@danbri.org>
- Cc: SKOS <public-esw-thes@w3.org>
Dan,
I don't know much about Ruby but i like the idea of having a scripting
language to do some stuff with SKOS. This may be of some use to you if
you, especially if you want to work with SKOS and Java. I have
started a java API for SKOS [1] that is an extension of the OWL 2 API
[2]. It is designed to provide a complete abstraction of the SKOS data
model and supports all SKOS constructs that fall within OWL 2.
Some advantages of this approach are:
- You can work with SKOS objects at a high level abstraction without
having to worry about any of the concrete syntaxes such as RDF/XML
- Create, Edit and Read SKOS files (Nice and clean axiom based change
control)
- All the parsing and serialisation is handled by the OWL API
- Because it's an extension of the OWL API, you have access to the
underlying OWL objects (e.g. for handling extensions to SKOS)
- All the reasoners supported by the OWL API (Pellet, Fact++ etc) mean
you can work with a inferred SKOS model
Anyway, sorry if I hijacked your thread! If it's of no us to you maybe
someone else on this list who want to do Java programming with SKOS
might be interested.
Cheers,
Simon
1- http://skosapi.sourceforge.net/
2- http://owlapi.sourceforge.net/
Simon Jupp
simon.jupp@manchester.ac.uk
http://www.cs.man.ac.uk/~sjupp/
On 18 Feb 2009, at 11:12, Dan Brickley wrote:
>
> 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 14:45:03 UTC