This is part of a possible solution to SolidarityEconomyAssociation/open-data-and-maps-outreach#89.
Current situation
The CSV is effectively the 'master'. To publish LOD, we
create LOD from CSV
clear out any existing triples from the named graph in the triplestore
use the newly created LOD to bulk-update the triplestore
Proposal with triplestore as 'master'
Allow highly-granular operations to update the triplestore directly. For example:
Change the object of one existing triple (subject, and predicate already exist)
Add a new triple (regardless of existence of subject and predicate)
Delete a triple
Replace all triples related to an sse-initiative with a new set. This begs the question: what do we mean here by 'related to'? Further investigation needed. For a start, look at the concept of Linked Data Platform Containers in the Linked Data Platform .
Delete an sse-initiative including all its related triples. Again this begs the same question as above: What do we mean here by 'related'?
Add more triples to an existing sse-initiative
Implementation
This is a big question! The 'obvious' (?) mechanism is to use SPARQL 1.1 UPDATE operations.
Linked Data Platform (LDP) defines a set of rules for HTTP operations on web resources, some based on RDF, to provide an architecture for read-write Linked Data on the web.
This is part of a possible solution to SolidarityEconomyAssociation/open-data-and-maps-outreach#89.
Current situation
The CSV is effectively the 'master'. To publish LOD, we
Proposal with triplestore as 'master'
Allow highly-granular operations to update the triplestore directly. For example:
Implementation
This is a big question! The 'obvious' (?) mechanism is to use SPARQL 1.1 UPDATE operations.
Things to look at:
Authentication
A key (no pun intended!) part of allowing updates directly to the triplestore is authentication of those making the updates.