Search code examples
rubyrdfredland

The State of RDF in Ruby


I'm wondering about the current support there is in Ruby for semantic web technologies. Is there good RDF options? It seems that the last surveys done were circa 2007 ( http://paul-classic.stadig.name/2007/10/26/the-state-of-rdf-support-in-ruby-2007/ ). Is Redland's RDF wrappers the best way to go for RDF support - all the other projects mentioned in that aging article seem to be unsupported or dropped. Is Ruby perhaps a bad choice if one which to pursue projects pertaining to the semantic web?


Solution

  • Hey, Iaalto, I'm the author of the survey article that you mentioned. I've been thinking about doing a new survey.

    A little has changed since I did the original survey, but not much. Here are a couple of things to consider:

    1. ActiveRDF seems to have gone the route of being a JRuby specific library. Several of their adapters are for Java only libraries. Not necessarily a problem, but something to be aware of.
    2. Reddy only has a memory based graph. Again, not necessarily a problem. I wouldn't discount Reddy for that (premature optimization), but I also wouldn't dream of storing billions of triples.
    3. I recently found a new set of Ruby bindings for Redland called RedLeaf. Not sure how mature it is, but it looks like Michael has been working on it for about a year. I hadn't heard of it until recently because it is off-grid (no RubyForge or GitHub project).
    4. I created a project on GitHub called RubyRDF (github.com/pjstadig/rubyrdf/tree/master). It doesn't have a ton of documentation, but it is mostly functional. It has a Sesame compatible adapter with support for transactions. I still have some ideas for future direction, and making it more feature complete, but not a lot of impetus to work on it. I'd welcome any contributions.

    Bottom line: If JRuby is not a problem for you, then go with ActiveRDF, it is the most complete and mature. If memory based graph is not a problem, then the next most mature is probably Reddy.