Hi, In my project i have to provide possibility to store data in a named graphs. New graph can be created in runtime - import ttl file into specified named graph.
Seems straightforward. Problem is when reasoners spring into action. In application it has to be possible to query 'raw' data and inferenced data. When new graph is created it should be available for querying both - with and without reasoning. For 'raw' data - no problem, pure fuseki service - don't want to use a union graph : ######################################################################## *:data_service rdf:type fuseki:Service ; fuseki:name "data-service" ;fuseki:serviceQuery "query" , "sparql" ;fuseki:serviceReadGraphStore "get" ;fuseki:serviceReadWriteGraphStore "data" ;fuseki:serviceUpdate "update" ;fuseki:serviceUpload "upload" ; fuseki:dataset :base_nounion_dataset_tdb2 ; .:base_nounion_dataset_tdb2 rdf:type tdb2:DatasetTDB2 ;tdb2:unionDefaultGraph false; tdb2:location "C:/dev/dev_tools/apache-jena-fuseki-4.4.0/run/databases/test_nu";* . ######################################################################## Reasoner - here is the problem. I have no idea how to force Fuseki to build inferences over dynamically created named graphs. Only solution i found is to 'put' reasoning on every named graph in config.ttl: ######################################################################## *:reasoner_service rdf:type fuseki:Service ; fuseki:name "reasoner-service" ;fuseki:serviceQuery "query" , "sparql" ; fuseki:dataset :namedgraphs_reasoner_dataset_tdb2 ; .:namedgraphs_reasoner_dataset_tdb2 rdf:type ja:RDFDataset;ja:namedGraph [ ja:graph <#first_named_reasoner_inferenceModel> ; ja:graphName <http://test.test/first <http://test.test/first>> ];ja:namedGraph [ ja:graph <#second_named_reasoner_inferenceModel> ; ja:graphName <http://test.test/second <http://test.test/second>> ];.<#first_named_reasoner_inferenceModel> a ja:InfModel; ja:reasoner [ ja:reasonerClass "openllet.jena.PelletReasonerFactory"]; ja:baseModel <#first_named_reasoner_graph>;.<#first_named_reasoner_graph> rdf:type tdb2:GraphTDB2;tdb2:dataset :base_nounion_dataset_tdb2;tdb2:graphName <http://test.test/first <http://test.test/first>> ;.<#second_named_reasoner_inferenceModel> a ja:InfModel; ja:reasoner [ ja:reasonerClass "openllet.jena.PelletReasonerFactory"]; ja:baseModel <#second_named_reasoner_graph>;.<#second_named_reasoner_graph> rdf:type tdb2:GraphTDB2;tdb2:dataset :base_nounion_dataset_tdb2;tdb2:graphName <http://test.test/second <http://test.test/second>> ;.* ######################################################################## This is not acceptable option for me. After every new graph creation i would have to add reasoning configuration for it and restart Fuseki. I couldn't even find a way to force reasoner (Pellet ) to rebuild its inference model - it has to be reastarted. Maybe You have idea how it could be achieved without config changes and restart? Best Regards, Kamil Dobrowolski
