On 14/12/11 22:21, Matthias Imhof wrote:
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).
What does "fuseki-server -version" say? This gives the timestamps of
snapshots.
What's the Fuseki configuration? Does it use inference as well?
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)
You can't run tdbdump on a database that Joseki or Fuseki is using. One
JVM at a time only.
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.
Could you try the following: carry out those actions outside of
Fuseki/Joseki without inference. It'll help pin down what's happening.
You can use Fuseki as a standalong TDB installation (the server jar has
all the classes you need in it)
From the store at (1), load the new data either using arq.update (i.e.
applied the SPARQL Update.
Issue a query.
Andy
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: