Andy Seaborne wrote:
Pondering on what the LARQ assembler might look like ...
1/ Is the index associated with a graph or a dataset? or are both
possible? (I think my pref is dataset)
I like the idea of having LARQ supporting RDF datasets rather than
being limited to a single Jena Model or RDF graph.
However, IndexBuilderModel [1] extends StatementListener to update a
Lucene index. Does a RDF dataset has a listener or we would need to
add listeners to all the graphs/models in an RDF dataset?
From a point of view of search, would the search work only within a
specific graph or across all the graphs in an RDF dataset? This is
not completely clear to me.
Do we need to add an additional graph URI to each Lucene document in
the index?
[1]
https://jena.svn.sourceforge.net/svnroot/jena/LARQ/trunk/src/main/java/org/apache/jena/larq/IndexBuilderModel.java
2/ Here's a assembler for a dataset of a default graph and named graph.
<#ds1> rdf:type ja:RDFDataset ;
ja:defaultGraph <#model1> ;
rdfs:label "Dataset 1" ;
ja:namedGraph
[ ja:graphName <http://example.org/name1> ;
ja:graph <#model1> ] ;
ja:namedGraph
[ ja:graphName <http://example.org/name2> ;
ja:graph <#model2>
] ;
.
<#model1> rdf:type ja:MemoryModel ;
rdfs:label "Model(plain)" ;
ja:content [ ja:externalContent <file:FILE-1.ttl> ] ;
ja:content [ ja:externalContent <file:FILE-2.ttl> ] ;
.
LARQ adds:
<#ds1> rdf:type ja:RDFDataset ;
larq:textIndex "Location of Lucene data" ;
...
to add it to a dataset.
+1
Is it possible, from an Assembler point of view, to attach an
ja:RDFDataset to a Model and to an RDF Dataset?
I expect the answer to me yes (but more work)... however, I
want to confirm that.
We could support both approaches (old and new one).
This *attaches* it, it does not *build* it.
Yes.
I am interested in providing an easy way to solve the *build*
problem as well and/or allow users to rebuild an index pointing
to an existing TDB or SDB store. However, this is a separate
problem and it could be done with a command tool.
Let's do *attach* first and discuss *build* after.
Paolo
Andy