On 10 May 2011 21:58, Paolo Castagna <[email protected]> wrote:
> On 10 May 2011 21:09, Andy Seaborne <[email protected]> wrote:
>> Fuseki is distributed as a complete jar as well as via maven.  As a complete
>> jar, it won't have LARQ in it, would it?  So used that way, the most common
>> way, won't exercise LARQ?
>
> Fuseki can have LARQ in it, one way to do is by adding a dependency to LARQ:
>
>    <dependency>
>      <groupId>org.apache.jena</groupId>
>      <artifactId>larq</artifactId>
>      <version>${ver.larq}</version>
>    </dependency>
>
> Which has a transitive dependency on Lucene v3.1.0 and, therefore, we need to
> exclude the Lucene dependency from arq and arq-test in Fuseki's pom.xml.
> This is what I tried to do at r8810.
>
> Currently, the distribution of Fuseki as a complete jar includes ARQ (which 
> has
> the old/legacy LARQ in it and Lucene v2.3.1). I don't see why it couldn't have
> the new LARQ with Lucene v3.1.0 in it, instead. If we decide to do so.

See JENA-63_Fuseki_r8810.patch here:
https://issues.apache.org/jira/secure/attachment/12478735/JENA-63_Fuseki_r8810.patch

Fuseki dependency on ARQ 2.8.9-SNAPSHOT has not changed.
Fuseki dependency on TDB 0.8.10 has been upgraded to 0.8.11-SNAPSHOT.
A new dependency on LARQ 0.2.2-SNAPSHOT has been added (and transitive
dependency to lucene-core v3.1.0).
Lucene dependency has been excluded from arq and arq-test, otherwise
Lucene v2.3.1 is included.

The result is Fuseki with LARQ in it.

Example assembler.ttl file:

------
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix ja: <http://jena.hpl.hp.com/2005/11/Assembler#> .
@prefix tdb: <http://jena.hpl.hp.com/2008/tdb#> .

[] ja:loadClass "com.hp.hpl.jena.tdb.TDB" .
tdb:DatasetTDB rdfs:subClassOf ja:RDFDataset .
tdb:GraphTDB rdfs:subClassOf ja:Model .

<#dataset> rdf:type tdb:DatasetTDB ;
  tdb:location "/path/to/your/tdb/indexes/" ;
  ja:textIndex "/path/to/lucene/index/" ;
  .
------

Lucene index can be built using larq.larqbuild:

java -cp fuseki-0.2.1-SNAPSHOT-sys.jar larq.larqbuilder
--allow-duplicates --larq=/path/to/lucene/index/
--desc=/path/to/your/assembler.ttl

Fuseki can be started as usual, if an assembler.ttl is used and
ja:textIndex is specified, LARQ works with Fuseki.

Paolo

Reply via email to