Aklakan commented on PR #3511:
URL: https://github.com/apache/jena/pull/3511#issuecomment-4113548946
The recent changes only affect `DatasetGraphSparql` and its subclass
`DatasetGraphOverRDFLink`:
* I changed the spelling from `SPARQL` to `Sparql`. IMO it looks nicer and
aligns with e.g. `LinkSparqlQuery`.
* I factored out the sparql query generation / execution part into
`DsgSparqlExecutor`, `DsgSparqlExecutorImpl` and `DsgSparqlExecutionUtils`.
`DatasetGraphSparql` accepts a `DsgSparqlExecutor` instance as an argument.
This is an attempt to make it possible evolve/exchange query generation
strategies independent from `DatasetGraphSparql`. For example, it is now
possible to choose whether graph removal should be implemented as `DROP SILENT
:g` or `DELETE WHERE { GRAPH :g { ?s ?p ?o } }`.
* The class `GraphLevelDelete` is already gone again - it is now part of
`DsgSparqlExecutorImpl`.
* `DatasetGraphOverRDFLink` now has a builder, such that its constructor can
be evolved in a non-breaking way.
> I tried running with deferred=false but all tests continue to pass.
`TestSparqlAdapterSystem` was missing the registration with `TS_ExecSPARQL`
and was therefore not run during the `mvn test`. Fixed.
> I presume this is primarily motivated by jena-serviceenhancer.
Not really. In my experience, different SPARQL engines have different quirks
(especially experimental ones), so the motivation was to make the query
generation more flexible - without breaking `DatasetGraphSparql`.
--
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]