Can’t stop. I just can’t stop.
I recently began learning Ruby in a big way. I got to this point after reading some stuff about using Ruby to dynamically wrap around OWL. I’d sent the author an email to find out more about the work going on but I got no response and there’s not been much else written about it.So then I started learning about the Redland libraries and I thought that Ruby+Redland probably would have been ultra-cool. I’ve since changed my mind. The Redland community is strong and the libraries are great but I needed something a bit more interactive and not tied so close to Linux. I’ll return to Redland, I’m sure.
I’m not sure why but I found myself fooling around with the Protege Script Plugin and trying to get the JRuby scripting engine to work. This I accomplished and I’m happily coding Ruby scripts now working inside this environment.
As I was putting together the Ruby stuff, I had a fantastic idea, which I’m not going to write about at the moment. The idea was inspired by the Joseki 3.0 RDF server. Definitely let me know if you’ve worked with this engine. I’m not planning on using it but I am inspired by it.
And then I had another fantastic idea. I have the Protege OWL API sort of figured out. I’ve already worked with Xerces. What would happen if I tied the two engines together with Ruby? Well, the fantastic idea can be boiled down to a simple use case.
- The script author connects to Xerces and Protege OWL
- The script author creates a new document, giving the system id of a DTD.
- The engine parses the DTD.
- The engine creates a set of classes based on the rules in the DTD.
- The engine returns a DOMDocument object all ready for the script author to add elements and attributes using values from Protege OWL.

