I have been trying the following experiment both with the current Joseki
(3.4.4), the snapshot Joseki (3.4.5-SNAPSHOT), and the snapshot Fuseki
(0.2.1-SNAPSHOT).
1) I load data from a tdb store, perform a query, and all is fine. The query
returns the expected result, the tdb store is ok.
2) I upload new data using SPARQL Update
3) I perform another query that returns the expected result but the tdb store
is now corrupt (tdbdump fails)
4) I shut down Joseki/Fuseki, restart them, and any query fails most of the
time. In some cases, the query succeeds after restart, but if I ask for ?s ?p
?o, then ?s is empty while ?p and ?o are fine.
Attached below is the Joseki configuration that I use. What is going on?
Matthias
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix module: <http://joseki.org/2003/06/module#> .
@prefix joseki: <http://joseki.org/2005/06/configuration#> .
@prefix ja: <http://jena.hpl.hp.com/2005/11/Assembler#> .
@prefix sdb: <http://jena.hpl.hp.com/2007/sdb#> .
@prefix tdb: <http://jena.hpl.hp.com/2008/tdb#> .
<> rdfs:label "Joseki Configuration File" .
# Stripped down to support one service that exposes an
# TDB store as a SPARQL endpoint for query.
[] rdf:type joseki:Server .
## --------------------------------------------------------------
## Services
<#service1>
rdf:type joseki:Service ;
rdfs:label "SPARQL/Query" ;
joseki:serviceRef "sparql" ; # web.xml must route this name to Joseki
joseki:dataset <#inf> ;
joseki:processor joseki:ProcessorSPARQL_FixedDS ;
.
<#service3>
rdf:type joseki:Service ;
rdfs:label "SPARQL/Update" ;
joseki:serviceRef "update/service" ;
joseki:dataset <#inf> ;
joseki:processor joseki:ProcessorSPARQLUpdate
.
[] ja:loadClass "com.hp.hpl.jena.tdb.TDB" .
tdb:DatasetTDB rdfs:subClassOf ja:RDFDataset .
tdb:GraphTDB rdfs:subClassOf ja:Model .
<#inf> rdf:type ja:RDFDataset ;
ja:defaultGraph <#infmodel> ;
.
<#infmodel> a ja:InfModel ;
ja:baseModel <#datamodel> ;
ja:reasoner [ja:reasonerURL <http://jena.hpl.hp.com/2003/RDFSExptRuleReasoner>
; ] ;
.
<#data> rdf:type ja:RDFDataset ;
ja:defaultGraph <#datamodel> ;
.
<#datamodel> rdf:type tdb:GraphTDB ;
tdb:location "/tmp/TDB" ;
.
joseki:ProcessorSPARQL_FixedDS
rdfs:label "SPARQL processor for fixed datasets" ;
rdf:type joseki:Processor ;
module:implementation
[ rdf:type joseki:ServiceImpl ;
module:className <java:org.joseki.processors.SPARQL>
] ;
joseki:allowExplicitDataset "false"^^xsd:boolean ;
joseki:allowWebLoading "false"^^xsd:boolean ;
joseki:lockingPolicy joseki:lockingPolicyMRSW ;
.
joseki:ProcessorSPARQLUpdate
rdfs:label "SPARQL Update processor" ;
rdf:type joseki:Processor ;
module:implementation
[ rdf:type joseki:ServiceImpl ;
module:className <java:org.joseki.processors.SPARQLUpdate>
] ;
joseki:allowExplicitDataset "false"^^xsd:boolean ;
joseki:allowWebLoading "false"^^xsd:boolean ;
joseki:lockingPolicy joseki:lockingPolicyMRSW ;
.
# Local Variables:
# tab-width: 4
# indent-tabs-mode: nil
# End: