Hi Filip,

> Error 500: Invalid id node for object (null node):
> ([0000000000003C3C], [000000000007AA], [0000000000003D18])

This is usually a sign that the program exits without sync'ing a non-transaction TDB database.

It is possible (probably) that building the inference model in the assembler is not transactional. It becomes transactional on first request.

So has at any time in the past, not the run which caused the 500, have you exited the server during start up (e.g. control-C) or before the first request to the inference model? or another program access the same database?

The other possible cause is two systems trying to modify the same database at the same time. TDB tries to trap this and warn you but the test is not perfect. (It looks like you are on Linux so the test is much better there - on Windows, it has been reported that Windows update can cause restarts where the process id is reused quiet quickly.)

Could you please crosslink the stack overflow question to this thread? Thanks.

        Andy


On 13/09/16 12:32, Filip Masri wrote:
Dear Jena Community,

I have a following fuseki dataset configuration:

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


[] a fuseki:Server ;
fuseki:services ( <#tdb> ) .


<#tdb> rdf:type fuseki:Service ;
 fuseki:name "ds" ; # http://host/inf
 fuseki:serviceQuery           "query" , "sparql" ;
 fuseki:serviceUpdate "update" ;
 fuseki:dataset <#dataset2> ; #select which set to use
 rdfs:label                    "TDB ds" ;
 fuseki:serviceReadGraphStore  "get" ;
 fuseki:serviceReadWriteGraphStore
       "data" ;
 fuseki:serviceUpload          "upload" .

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

 <#dataset2> rdf:type ja:RDFDataset ;
  ja:defaultGraph <#model2> .

 <#model2> a ja:InfModel;
  ja:baseModel <#tdbGraph>;
  ja:reasoner
  [ ja:reasonerURL <http://jena.hpl.hp.com/2003/OWLFBRuleReasoner> ] .

 <#tdbGraph> rdf:type tdb:GraphTDB;
 tdb:dataset <#tdbDataset> .

 <#tdbDataset> rdf:type tdb:DatasetTDB ;
 tdb:location "...apache-jena-fuseki-2.4.0/run/databases/ds" .


Then I start the server as ./fuseki-server --config=ds.ttl. The reasoner is
working. I upload my basic schema saying that SmartPhone is a subClassOf
MobilePhone etc...Then I post data about smartphones through the REST API.
Everything is working. Now I restart the server.

And when quering my data i get

Error 500: Invalid id node for object (null node): ([0000000000003C3C],
[000000000007AA], [0000000000003D18])

Does you know how to configure it correctly? Is it possible?

Thanks :)

Reply via email to