[okfn-help] Jena/Sesame/etc

William Waites william.waites at okfn.org
Wed Jul 28 13:01:38 BST 2010


(apologies for not copying the original message to okfn-help,
trying to keep the salient bits intact)

On 10-07-27 12:04, Graham Higgins wrote:
> On 27 Jul 2010, at 11:08, William Waites wrote:
> > Just added a note to http://knowledgeforge.net/pdw/trac/ticket/105
>
> > Chimezie has released the branch of rdflib that he's been working with
> > internally at the Cleveland Clinic:
>
> > http://groups.google.com/group/fuxi-discussion/msg/d9f3be240efb81ab
>
> Just last night I created a file of diffs (of chimezie's fork) to 2.4+
> which I've been scanning for implications for rdflib 3.0.0.
>
> TextMate's folding facility provides a top-level overview of the range
> of changes:
>
> http://www.flickr.com/photos/46197271@N00/4833495699/sizes/l/
>
> The task now is to identify whether and how these changes can be
> integrated with the approach taken for rdflib 3.0.0.

I'm working on updating the openbiblio code to benefit from some
of the more recent changes to ordf and ontosrv today. As an exercise
I'll try installing the layercake branch of rdflib to see how that goes
-- I suspect it will be seamless.

In his latest message to fuxi-discussion [4], it looks like Chimezie is
leaning towards maintaining the layercake fork and letting rdflib3
incorporate his changes as needed. I do wonder about the core
rdflib maintainers, they seem rather silent these days...

> > Amongst other things it has a store backed by remote SPARQL endpoint
> > so this might be an easy route to support other stores.
>
> It's a read-only SPARQL store which introduces a dependency on
> 4Suite-XML. Elsewhere, Chimezie's code introduces additional
> dependencies on Amara and the MySQLdb Python library.
> my current understanding is that changeset handling necessarily
> requires write access to the graph.
>
> If this is the case, then any movement in this direction will depend
> on SPARQL 1.1's "UPDATE" feature which is currently only supported by
> the Jena toolset.
> Read-only access to (other) remote stores is no problem (assuming a
> SPARQL endpoint), so if "support for other stores" is defined as "can
> read other stores", all is hunky-dory.

4store supports UPDATE as well. It shouldn't be too hard, basically
just need to implement addN/remove methods in rdflib.store.SPARQL

> The only non-SPARQL option that I consider to be remotely viable is
> Marian Babik's [1] 2006 "SETH" package [2, 3]:
>
> "SETH is a software effort to deeply integrate Python with Web
> Ontology Language (OWL-DL dialect). The idea is to import ontologies
> directly into the programming context so that its classes are usable
> alongside standard Python classes. [...]
> Seth seems to work okay under Python 2.5 but it needs updating to run
> under 2.6. Prolly worth asking him if he's made any progress in that
> direction.

The approach is very good -- I've long felt that this is the natural
sort of way to interact with OWL classes in Python. I had looked
at SETH a long time ago but was put off because it depends on
JENA and Pellet to do the RDF. Also the instantiation of classes
by passing in N3 is ugly (by ugly I mean non-idiomatic in Python).

It would be worthwhile, I think, to try to implement something that
behaves similarly starting with InfixOWL -- which is part of FuXi
but can be used standalone. A modified version to work with ORDF
is in ordf.vocab.owl. It makes the classes easy to define and has a
nice Manchester OWL pretty-printing syntax. What it doesn't do is
manipulate the Python class hierarchy and automatically give you
a general interface to the backing-store.

In other words, some more developed glue between InfixOWL and
an inferencing store (e.g. rdflib+SPARQL+FuXi) would be quite
interesting... It would give something that feels like the DomainModel
of the SQL-based OKF stuff.

> [1] http://web.tuke.sk/fei-cit/babik/
> [2] http://conference.ui.sav.sk/wikt2006/prezentation/seth2.ppt
> [3] http://seth-scripting.sourceforge.net/
[4] http://groups.google.com/group/fuxi-discussion/msg/c102593731e0b425

Cheers,
-w
-- 
William Waites                       <ww at styx.org>
Mob: +44 789 798 9965
Fax: +44 131 464 4948
CD70 0498 8AE4 36EA 1CD7  281C 427A 3F36 2130 E9F5

-- 
William Waites           <william.waites at okfn.org>
Mob: +44 789 798 9965    Open Knowledge Foundation
Fax: +44 131 464 4948                Edinburgh, UK

RDF Indexing, Clustering and Inferencing in Python
		http://ordf.org/




More information about the okfn-help mailing list