From: Max - M. <ma...@mi...> - 2014-01-31 16:01:25
|
Hi Rob and everyone, First I wish you all a happy new year and the best for 2014 (on the dead-line as usual ;)). As I told Rob, I've been working on RDF access control and business rules issues for a while and as I worked and searched for useful tips/recommandations, SPIN rose as an evidence. So I'm submitting (yet as a pull request) a first implementation of a SPIN processing engine for dotNetRDF. As stated in the pull request message : The first issues that are addressed within this pull request are : > > - the capability to work on a dataset with any non-SPIN-capable > storage provider that supports SPARQL 1.1 (including Leviathan processed > datasets wrapped within an InMemoryManager instance) > > > - complete isolation level with other API clients (inferred triples > included) while SPIN processing is performed and until the dataset changes > are flushed, > > > - the capability to monitor updates on the dataset's graphs for > subsequent SPIN constructors/rules/constraints checks processing (only > supported yet or INSERT/DELETE DATA commands) > > The main things that remain to be done are : > > - to finalize the SPARQL updates rewriting to allow for any query form > to be monitored through the triples addition/removal temporary graphs > design. > > > - to provide an implementation of the SPIN processing pipeline on > Updates. > > I would add that addressing update concurrency issues would in time be welcome if someone has any experience in this domain. Note to those who would be interested to contribute on this: the implementation is based on Jena 's SPIN library (from TopBraid) so many classes are now unused and were just ported to c# for compilation need, but they are kept in the project for reference only until equvalent features have been provided. Max. |