Hi Andy,

Thank you for the prompt reply.

I deleted everything in my tdb2 directory in order to force Fuseki to recreate 
the database from scratch so I knew I was working from a clean slate.

I was able to duplicate your results, using my own D.ttl, which is below.

<http://triples.ms.com/msro/dummy> <http://www.w3.org/2001/XMLSchema#string> 
"dummy" .

I then loaded the dummy triple into a named graph using the curl command below.

curl -T D.ttl --header 'Content-type: text/turtle' \
    
'http://localhost:3030/msro/data?graph=https%3A%2F%2Ftriples.ms.com%2Fmsro%2F__dummy__'

I was able to dump the named graph using the command below.

curl 
'http://localhost:3030/msro/data?graph=https%3A%2F%2Ftriples.ms.com%2Fmsro%2F__dummy__'

I then stopped and restarted Fuseki, and the triple in the named graph was 
gone. The triple in the default graph was still there.

Also, I monitored the size of Data-0001\nodes-data.obj at every step. Upon 
creation of a fresh database, it was 0 KB. It remained 0 KB even if I loaded my 
dummy triple into a named graph. Only when I loaded my dummy triple into the 
default graph did it grow to 1 KB. It remained 1KB across restarts.

So, the problem seems to be that triples in the default graph persist, but 
triples in named graphs do not.

The only inferencing I need is subclass inferencing in order for a query of 
this form to work:
  ?s rdfs:subClassOf+ ?c .

Once I layered in the TransitiveReasoner in the config file, the above query 
worked fine in the midst of a complicated and well-tested query that runs fine 
on Stardog and MarkLogic. As mentioned, I was getting the desired results on 
Fuseki TDB2 as well. The only problem seems to be the lack of persistence for 
named graphs.

Thanks so much for your attention to this problem!

Theodore Hills   
Consultant | Research   
Phone: +1 212 296-1833   
theodore.hi...@morganstanley.com   
-----Original Message-----
From: Andy Seaborne <a...@apache.org> 
Sent: Saturday, October 15, 2022 5:41 AM
To: users@jena.apache.org
Subject: Re: TDB2 Data Doesn't Persist

Hi Theodore,

I tried your configuration and got persisted data.

I tried:

curl -T D.ttl --header 'Content-type: text/turtle' \
     'http://localhost:3030/msro/data?default'

this appeared in the file:

[2022-10-15 10:36:19] Fuseki     INFO  [3] Body: Content-Length=338, 
Content-Type=text/turtle, Charset=null => Turtle : Count=4 Triples=4 Quads=0

(reformatted for email).

then I stopped the server, restarted it and did

  curl 'http://localhost:3030/msro/data?default'

and got the data with inference output.


How are you loading the data?

Looking in "C:\\Users\\hillsthe\\run\\data\\tdb2", there is a file 
Data-0001/nodes-data.obj. How big it is it after loading the data? You can look 
while the server is running. Does it shrink when the server is stopped? It's 
zero bytes for an empty database, non-zero otherwise.

----

Also - for general information - you're using the transitive reasoner What 
inferences are you hoping to generate?

     Andy

On 14/10/2022 15:09, theodore.hi...@morganstanley.com wrote:
> Hello,
> 
> I have Apache Jena Fuseki running on my localhost with TDB2 configured with 
> inferencing. See entire config file below. I am running Fuseki server under 
> Windows 10 with the following command line issued from a CMD prompt.
> 
> C:\Users\hillsthe\apache-jena-fuseki-4.6.1\fuseki-server.bat --conf 
> C:\Users\hillsthe\config.ttl
> 
> I can do updates and queries and everything works as expected. However, if I 
> stop the Fuseki server with a Control-C, and restart it with the above 
> command, my graphs are empty. Any insights?
> 
> Theodore Hills
> Consultant | Research
> Phone: +1 212 296-1833
> theodore.hi...@morganstanley.com<mailto:Theodore.Hills@morganstanley.c
> om>
> 
> ## Fuseki Server configuration file.
> 
> 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 tdb1:    http://jena.hpl.hp.com/2008/tdb#
> PREFIX tdb2:    http://jena.apache.org/2016/tdb#
> PREFIX ja:      http://jena.hpl.hp.com/2005/11/Assembler#
> PREFIX :        <#>
> 
> 
> <#service1> rdf:type fuseki:Service ;
>      fuseki:name   "msro" ;       # http://host:port/msro
>      fuseki:endpoint [     # http://host:port/msro/sparql?query=
>          fuseki:operation fuseki:query ;
>          fuseki:name "sparql"
>      ] ;
>      fuseki:endpoint [     # http://host:port/msro/query?query=
>           # SPARQL query service (alt name)
>          fuseki:operation fuseki:query ;
>          fuseki:name "query"
>      ] ;
> 
>      fuseki:endpoint [     # http://host:port/msro/update?query=
>           # SPARQL update service
>          fuseki:operation fuseki:update ;
>          fuseki:name "update"
>      ] ;
> 
>      fuseki:endpoint [
>           # SPARQL Graph Store Protocol (read)
>          fuseki:operation fuseki:gsp_r ;
>          fuseki:name "get"
>      ] ;
>      fuseki:endpoint [
>          # SPARQL Graph Store Protcol (read and write)
>          # http://host:port/msro/data?default or 
> http://host:port/msro/data?graph=<URL<http://host:port/msro/data?graph=%3cURL>>
>          fuseki:operation fuseki:gsp_rw ;
>          fuseki:name "data"
>      ] ;
> 
>      fuseki:dataset  <#dataset> ;
>      .
> 
> <#dataset> rdf:type ja:RDFDataset;
>       ja:defaultGraph <#inferenceModel>
>       .
> 
> <#inferenceModel> rdf:type      ja:InfModel;
>       ja:reasoner [ ja:reasonerURL 
> http://jena.hpl.hp.com/2003/TransitiveReasoner ];
>       ja:baseModel <#baseModel>;
>       .
> 
> <#baseModel> rdf:type tdb2:GraphTDB2;
>       tdb2:dataset <#actualDataset> .
> 
> <#actualDataset> rdf:type tdb2:DatasetTDB2;
>       tdb2:location "C:\\Users\\hillsthe\\run\\data\\tdb2";
>       .
> 
> 
> ________________________________
> 
> For important information including analyst certification and disclosures 
> regarding specific companies, derivatives, or other instruments discussed in 
> this email, please refer to the latest report, if attached and/or hyperlinked 
> to this email, or by logging on to the Morgan Stanley Matrix Platform at 
> http://matrix.ms.com/eqr/research . You may also refer to the Morgan Stanley 
> Research Disclosure Website at 
> http://www.morganstanley.com/eqr/disclosures/webapp/coverage. Morgan Stanley 
> will make certain research products and announcements available only on the 
> Morgan Stanley Matrix Platform.  The content provided in this email, 
> including data or any attachments, is subject to the terms and conditions of 
> use (available at 
> https://ny.matrix.ms.com/matrix/portal/docs/terms/index.html#/terms/general ) 
> applicable to research materials accessed through Matrix, including the terms 
> regarding confidentiality and intellectual property rights. For access to the 
> Morgan Stanley Matrix Platform please contact your sales representative or go 
> to Matrix.
> 
> NOTICE: Morgan Stanley is not acting as a municipal advisor and the opinions 
> or views contained herein are not intended to be, and do not constitute, 
> advice within the meaning of Section 975 of the Dodd-Frank Wall Street Reform 
> and Consumer Protection Act. If you have received this communication in 
> error, please destroy all electronic and paper copies and notify the sender 
> immediately. Mistransmission is not intended to waive confidentiality or 
> privilege. Morgan Stanley reserves the right, to the extent permitted under 
> applicable law, to monitor electronic communications. This message is subject 
> to terms available at the following link: 
> http://www.morganstanley.com/disclaimers If you cannot access these links, 
> please notify us by reply message and we will send the contents to you. By 
> messaging with Morgan Stanley you consent to the foregoing.
> 
> You may have certain rights regarding the information that Morgan Stanley 
> collects about you. Please see our Privacy Pledge 
> https://www.morganstanley.com/privacy-pledge for more information about your 
> rights.
> 


--------------------------------------------------------------------------------

For important information including analyst certification and disclosures 
regarding specific companies, derivatives, or other instruments discussed in 
this email, please refer to the latest report, if attached and/or hyperlinked 
to this email, or by logging on to the Morgan Stanley Matrix Platform at 
http://matrix.ms.com/eqr/research . You may also refer to the Morgan Stanley 
Research Disclosure Website at 
http://www.morganstanley.com/eqr/disclosures/webapp/coverage. Morgan Stanley 
will make certain research products and announcements available only on the 
Morgan Stanley Matrix Platform.  The content provided in this email, including 
data or any attachments, is subject to the terms and conditions of use 
(available at 
https://ny.matrix.ms.com/matrix/portal/docs/terms/index.html#/terms/general ) 
applicable to research materials accessed through Matrix, including the terms 
regarding confidentiality and intellectual property rights. For access to the 
Morgan Stanley Matrix Platform please contact your sales representative or go 
to Matrix.

NOTICE: Morgan Stanley is not acting as a municipal advisor and the opinions or 
views contained herein are not intended to be, and do not constitute, advice 
within the meaning of Section 975 of the Dodd-Frank Wall Street Reform and 
Consumer Protection Act. If you have received this communication in error, 
please destroy all electronic and paper copies and notify the sender 
immediately. Mistransmission is not intended to waive confidentiality or 
privilege. Morgan Stanley reserves the right, to the extent permitted under 
applicable law, to monitor electronic communications. This message is subject 
to terms available at the following link: 
http://www.morganstanley.com/disclaimers If you cannot access these links, 
please notify us by reply message and we will send the contents to you. By 
messaging with Morgan Stanley you consent to the foregoing.

You may have certain rights regarding the information that Morgan Stanley 
collects about you.  Please see our Privacy Pledge 
https://www.morganstanley.com/privacy-pledge for more information about your 
rights.

Reply via email to