afs opened a new issue, #1959:
URL: https://github.com/apache/jena/issues/1959

   ### Version
   
   4.9.0
   
   ### Feature
   
   In a Fuseki configuration file, dataset for services are shared if they 
refer to the same resource in the configuration file. This is done by the 
Fuseki processing and only applies to datasets defined in a service 
`fuseki:dataset`. It does not apply in general assemblers and so does not apply 
in a Fuseki configuration 
   
   Concretely, this shares one dataset between two services:
   ```
   :service1 a fuseki:Service
       fuseki:dataset :database
   
   :service2 a fuseki:Service
       fuseki:dataset :database
   
   :database a ja:MemoryDataset
   ```
   but with an intent to have both RDFS and plain access to the same storage 
database, this does not work:
   ```
   :service1 a fuseki:Service
       fuseki:dataset :databaseRDFS
   
   :service2 a fuseki:Service
       fuseki:dataset :databaseBase
   
   :datasetRDFS rdf:type ja:DatasetRDFS ;
       ja:dataset :datasetBase ;
   
   :databaseBase a ja:MemoryDataset .
   ```
   and results in two `ja:MemoryDataset`.
   
   It is a limitation of the assembler subsystem. There is no outer "start 
assembly - finish assembly" to manage a cache over the entire assembly 
operation, nor a passed around context in the assembler open call. Assemblers 
are static objects and not created each time an assemble cycle is performed. 
The `Mode` argument only says whether to share objects, not give a place to 
manage the sharing of objects.
   
   A proper fix looks like it is an API change to assemblers.
   
   For now, add a dataset-fix : allow datasets to have a name, and visiting a 
dataset description with a name will create the object once then share it. This 
is enough for Fuseki, and for other one-time use of assemblers such as dataset 
descriptions on the command line to SPARQL query.
   
   
   ### Are you interested in contributing a solution yourself?
   
   Yes


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to