[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[lyo-dev] Fwd: Lightweight Java RDF libraries

Interesting discussion out on public-lod list about Java RDF libs that I thought this group might be interested in hearing about

I wonder if we should consider one of these for a thin consumer lib.

http://lists.w3.org/Archives/Public/public-lod/2011Sep/0069.html

- Steve

---------- Forwarded message ----------
From: Leif Warner <abimelech@xxxxxxxxx>
Date: Thu, Sep 15, 2011 at 2:48 PM
Subject: Re: Lightweight Java RDF libraries
To: Norman Gray <norman@xxxxxxxxxxxxxxx>
Cc: Linking Open Data <public-lod@xxxxxx>


There's Scardf, a simple project both in terms of API and codebase size.  It can be used standalone, or as a wrapper for the Jena API.  Standalone, it only depends on Joda-time (which you might want in your project, anyways).

It's written in Scala, though I'm pretty sure you can use it from regular Java too.  A simple Java wrapper could be written for it if some of the method names turn out to be hairy in Java.

I use it standalone myself for testing, command-line tools, simple apps, etc, and then swap the backend for Jena on fancier things.

http://code.google.com/p/scardf/

-Leif Warner


On Mon, Sep 12, 2011 at 4:39 AM, Norman Gray <norman@xxxxxxxxxxxxxxx> wrote:

Greetings.

Can anyone point me towards a simple/lightweight Java RDF library?

Here, I mean 'lightweight' in the sense of having a small API, rather than a small jar, because if one is trying to persuade people that RDF is a useful and practical thing, then hauling out a manual which could crush a small donkey is a difficult place to start.  I want an RDF gateway drug^Wlibrary.

All I really want to be able to (demonstrate I can) do is to read and write RDF/XML and Turtle, create triples, and iterate through a graph.   Simple inference I wouldn't say no to, but wouldn't need; and SPARQL would be unnecessary for the scope and userbase I have in mind.

Ideally, I'd like to be able to say "here is a little jar to put on your classpath, and here is a webpage with a few examples which make simple things simple; have fun".

Jena I've used a lot, and like, but ... well, see remarks about maltreated donkeys above.  Sesame I've used less, but it's still a four-types-of-batteries included solution.

JRDF <http://jrdf.sourceforge.net/> is I think intended to be small, but looking at its documentation, it seems to have become fuller-featured over time.  Also, it's marked as 'inactive', which is nudging one away from using it for new projects.

rdf2go looks attractive, and seems to be aimed in part at the same semweb-sceptical userbase.  But as an abstraction layer over other triple stores, it fails my 'one jar' goal.

I imagine it would be possible to try to extract some some sort of bare-bones Jena subset, but I can't help thinking that would be quite a lot of work (I haven't looked at the feasibility in any detail).

Yes, disk space is cheap, and yes, I can' just write a "primer for sceptics" set of examples, but if there's a bare-bones librarylet knocking around, that I haven't found, then I'd like to use it, and I imagine the LOD list would know of it.

Thanks for any pointers.

All the best,

Norman


--
Norman Gray  :  http://nxg.me.uk
SUPA School of Physics and Astronomy, University of Glasgow, UK






--
- Steve