Use a custom rdflib graph class
Context
RDFLib implements multiple graph classes (such as Graph, Dataset and others), and also supports multiple storage engines. Where to inject our custom download code?
Decision
Use a custom graph class.
It would be best to allow using different storage engines (in-memory, BerkeleyDB, Oxigraph, whatever) with our query engine because we basically don't care how the data in local RDF storage is stored, it's enough that we can operate with that data using SPARQL.
Best would be to inject something into SPARQL execution layer, if that's possible.
Consequences
- We'll be able to use different storage backends
- Upgrade
rdflibatiolantaproject to the latest version first