Hi Andy
Andy Seaborne wrote:
On 16/11/11 12:58, Paolo Castagna wrote:
JENA-63 is currently blocked by JENA-164. However, I would be in
favour to
apply the patch in JENA-63 treating JENA-164 as a known limitation (which
we need to remove with a later release. What do you think?
Fuseki is supposed to be easy to use.
Ack.
The idea of easy to use with LARQ is: people just need to specify the
ja:textIndex in their config file (then the index, if there will be
kept in sync, if not there will be created and kept in sync). I do not
see how easier than this could become. :-)
The fact that index-update does not happen for SPARQL Update is going to
> be somewhat confusing.
I agree.
I was proposing it as sometimes I saw datasets which are mostly read only
and people find if very easy to explore them via a mix of structured and
unstructured (i.e. text search) queries/searches.
Delete is also an area that might be less than clear.
Yep.
At the moment LARQ deletes a Lucene document (representing a literal) if
and only if there are no other triples referring to the same literal.
It is using the Jena Model as referencing counting. See IndexBuilderLiteral
[1] for example:
@Override
public void unindexStatement(Statement s)
{
if ( ! indexThisStatement(s) )
return ;
if ( s.getObject().isLiteral() )
{
// we use the Model as reference counting
StmtIterator iter = s.getModel().listStatements((Resource)null,
(Property)null, s.getObject());
if ( ! iter.hasNext() ) {
Node node = s.getObject().asNode() ;
if ( indexThisLiteral(s.getLiteral())) {
index.unindex(node, node.getLiteralLexicalForm()) ;
}
}
}
}
[1]
http://svn.apache.org/repos/asf/incubator/jena/Jena2/LARQ/trunk/src/main/java/org/apache/jena/larq/IndexBuilderLiteral.java
I have no ideas at the moment on how this could be changed or improved.
JENA-164 is a architecture issue.
Yep.
It would be good to discuss what might be options to provide a solution
for this, LARQ will use it, but other custom/additional indexes might
find it extremely useful... or other systems which need to be notified
when changes happens. For example, someone might implement a replication
system using something like that.
I need to look at the details of SPARQL Update request and understand
how I can get a list of triples added/removed from a SPARQL Update
request.
A release (not that I personally am aiming to release Fuseki in the
first wave so as to make the first wave manageable) does not mean we
can't release with this integration done soon after. Fuseki needs work
for TDB integration so, rather that block TDB, split the releases.
Ack.
Paolo
PS:
In the meantime, I'll continue to apply the patch in JENA-63 whenever
I need to use LARQ with Fuseki.
Andy