FW: Jena in Haystack

Forwarded to www-rdf-dspace for the record.

- Mick


From: Dennis Quan [mailto:dquan@mit.edu] 
Sent: Thursday, July 11, 2002 11:11 PM
To: 'David Francois Huynh'; 'Vineet Sinha'
Cc: 'karger@theory.lcs.mit.edu'; 'dquan@ai.mit.edu'
Subject: jena evaluation


Well, I wrote a bridge from Jena to our RDF query, addition, and removal
API (edu.mit.lcs.haystack.rdf.JenaRDFContainer). The conventional
in-memory Jena provider seems to work just fine. Similarly, I have
written an event dispatcher for the persistent service. However, a few
key APIs are difficult to support:


1. Statement IDs. It's impossible (from what I can tell) to search for a
statement in the database based solely on statement ID without doing a
linear search. Our install/uninstall mechanism (among other things)
depends on this functionality. I could in theory alter the source code
to handle this...


2. Predicates. For some odd reason, Jena mandates that predicate URIs
must contain at least one slash in them so that a namespace can be
deduced from it, allowing vocabulary/ontology management. That is
certainly going to get in the way for us. I could also alter the source
code to get around this one...


3. Query synchronization. Andy Seaborne (Jena team developer) writes:


The basic rule: Don't modify the model (add or remove statements) while
a query is executing.  Reading information is safe. The way to get round
this is to record changes to be made in a separate data structure, such
as recording statements to be removed in a set, then perform them after
the query results iterator has been closed.


This one is harder to fix...


Dennis


=============================================
Mick Bass


External Engagement Manager
HP Labs / MIT DSpace Program
Hewlett-Packard Company
Building 10-500 MIT, 77 Massachusetts Avenue
Cambridge, MA 02139-4307


617.253.6617 office    617.452.3000 fax
617.899.3938 mobile    617.627.9694 residence
bass@alum.mit.edu      mick_bass@hp.com
=============================================
 

Received on Friday, 19 July 2002 05:07:40 UTC