On Wed, 2011-02-23 at 22:35 +0000, Chris Cannam wrote:
On 23 February 2011 22:11, David Robillard
<d(a)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