W3C home > Mailing lists > Public > public-esw-thes@w3.org > February 2009

Re: Experimental Ruby SKOS API

From: Simon Jupp <simon.jupp@manchester.ac.uk>
Date: Thu, 19 Feb 2009 11:05:48 +0000
Cc: SKOS <public-esw-thes@w3.org>
Message-Id: <40CCFD49-5D9F-47A9-942C-48B48A58D44A@manchester.ac.uk>
To: Dan Brickley <danbri@danbri.org>

> BTW does this have any relationship to the SKOS addon for Protege 4?
> [2 mins googling later]. Ah yes, that's you as well. You've been busy!
> http://protegewiki.stanford.edu/index.php/SKOS_Editor  ... OK I'll  
> hijack my own thread then, to mention a feature request: can we have  
> an easy way in the SKOS plugin to add custom datatypes for use with  
> skos:notation? I ran into this problem yesterday...
>
I'm not sure why this wasn't implemented in P4 by default, I will try  
and get this into the next release.

> Back re SKOS APIs, I'll try calling your java stuff from jruby. I am  
> not at all invested in my code, ... it's only 150 lines of ruby  
> after all. OK that's probably 500 lines of Java, but still... :)
>

That would be great, in theory you should be able to rapidly knock  
something together using the API. Let me know how you get on and feel  
free to send me any feedback/questions.

> Have you looked at all at indexing/search facilities for SKOS? My  
> next step was to try to wire this up with Lucene indexes, and  
> experiment with "did you mean?" and autocompletion facilities that  
> could be used in searching and tagging UI.

Not looked at Lucene, we have look up and autocompletion in Protege, I  
think they are done with simple hash maps and seem fast enough for the  
largest SKOS files I could find (>100,000 concepts).

Cheers,
Simon
>
>
> cheers,
>
> Dan
>
>> 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/
>>>
>>
>>
>>
>>
>>
>>
>>
>>
>



Simon Jupp
simon.jupp@manchester.ac.uk
http://www.cs.man.ac.uk/~sjupp/
Received on Thursday, 19 February 2009 11:06:28 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:39:03 GMT