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]