[LAD] RDF libraries, was Re: [ANN] IR: LV2 Convolution Reverb

David Robillard d at drobilla.net
Wed Feb 23 23:55:00 UTC 2011


On Wed, 2011-02-23 at 22:35 +0000, Chris Cannam wrote:
> On 23 February 2011 22:11, David Robillard <d at drobilla.net> wrote:
> > SLV2 is now based on two new libraries: Serd (RDF syntax) and Sord (RDF
> > store). Both are roughly 2 thousand lines of C, solid and thoroughly
> > tested (about 95% code coverage, like SLV2 itself). Serd has zero
> > dependencies, Sord depends only on Glib (for the time being, possibly
> > not in the future).
> 
> Can you point me at the API or code?  I couldn't see it in a quick
> browse on your SVN server.

They're all in my LAD meta-repository:

http://svn.drobilla.net/lad/trunk/

Or, individually:

http://svn.drobilla.net/lad/trunk/slv2
http://svn.drobilla.net/serd/trunk/
http://svn.drobilla.net/sord/trunk/

All the usual disclaimers about unreleased software apply.

> I have a library (Dataquay,
> http://code.breakfastquay.com/projects/dataquay -- preparing a 1.0
> release of it at the moment, so if anyone wants to try it, go for the
> repository rather than the old releases) which provides a Qt4 wrapper
> for librdf and an object-RDF mapper.
> 
> It's intended for applications whose developers like the idea of RDF
> as an abstract data model and Turtle as a syntax, but are not
> particularly interested in being scalable datastores or engaging in
> the linked data world.

More implementation alternatives for working with that "micro-stack"
would be great, it's a good one...

> For my purposes, Dataquay using librdf is fine -- I can configure it
> so that bloat is not an issue (and hey! I'm using Qt already) and some
> optional extras are welcome.  But I can see the appeal of a more
> limited, lightweight, or at least less configuration-dependent
> back-end.

You can compile a far more lightweight librdf yourself, but, well, users
don't, nor should they have to. That said, sure, it's still a good
option sometimes, but I am shooting for an extremely low barrier of
entry. Small C libraries with no dependencies are an easy sell, because
they're not a pain in anyone's ass.

The sord API is vaguely reminiscent of the specific subset of the librdf
API I needed at the time, but I made it as part of a hyper pragmatic
mission to get a Redland-free SLV2, not a librdf replacement in general.
The API probably still needs a bit of polish. In other words, I'm not
pitching Sord as a viable Redland replacement in general (nor is making
it one a priority), but if you're just interested in Turtle + in-memory
model, it may be. Let me know what you think.

> I've considered doing LV2 as a simple example case for Dataquay, but
> the thought of engaging in more flamewars about LV2 and GUIs is really
> what has put me off so far.  In other words, I like the cut of your
> jib here.

So don't engage in it. Virtually all such nonsense on here is nothing
but the peanut gallery. Mentioning what you plan to do here before doing
it is usually not a good idea (dumbass on mailing list hinders progress,
film at eleven). Don't let L-A-D deter you from working on LV2 things.
If you need useful feedback before proceeding, the LV2 mailing list
<http://lists.lv2plug.in/listinfo.cgi> or IRC channel (#lv2 on
irc.freenode.net) are productive, on-topic, flame-free venues for LV2
related discussion/coordination. You can of course also just work
directly with another host/plugin author, which is typical, and is why
most of the LV2 noise here is just that.

Anyway, as for that simple example, a Qt based LV2 host based on a new
RDF stack would be great to see. It's a useful real-world example. I
don't know exactly how a flame against writing that would go, but I do
know it would be painfully stupid, and not worth your attention. Anchors
away!

-dr





More information about the Linux-audio-dev mailing list