Hope to look at this get back with any feedback during next week or so 
(having some deadlines this weekend) ...

Regards
Samuel

On 09/24/2010 12:27 PM, Markus Krötzsch wrote:
> This email is about how to integrate RDF store bindings into SMW on a
> coarse architectural level.
>
>   From looking at the various extensions' code and at the previous
> emails, we seem to agree that we need some common interface to
> read/write RDF stores. Different bindings could then be done by
> implementing this interface.
>
> Here is my proposal for the classes that will help to do this in the end
> (inspired by the existing code):
>
> == SMWStore ==
>
> SMW as such interacts with an object that implements the "SMWStore"
> interface. This interface will be extended with functions needed to do
> SPARQL queries. Details depend on how the mapping to SMWQueryResult
> objects will work and remain to be decided.
>
> == SMWExternalStore ==
>
> An SMWStore that has bindings to an external RDF store still uses the
> MySQL database backend for some of the data. Some requests are answered
> with the database, others are forwarded to the external store.
>
> So any SMWExternalStore uses two backends: one RDF store binding and one
> (database-based) SMWStore class. In existing implementations, this is
> often realised by sub-classing SMWSQLStore2. But I think it would
> usually be better to use SMWSQLStoreLight.
>
> To preserve the choice, SMWExternalStore could simply take two objects
> on initilaisation: one SMWStore object that is used for the basic
> storage tasks, and one RDFStore object that allows us to access the RDF
> store. Implementers would not have to change SMWExternalStore, but only
> adapt the RDFStore binding to a new RDF backend.
>
> == RDFStore ==
>
> This would be the backend to access RDF stores. It is similar to the
> SparqlTools static class in LinkedWiki. I propose to make it non-static,
> so that the endpoint and graph can be part of the object instance
> instead of being passed with each call.
>
> The big question is, which functions are needed in the interface of
> RDFStore. I will send another email about this.
>
> == Other RDF store bindings ==
>
> For implementing bindings to RDF stores, it would be enough to implement
> the interface of RDFStore (hopefully just a few methods). So we could
> have a few rather small files for different backends.
>
>
> Summary: To define an SMWStore backend that uses an RDF store, one only
> has to implement a new RDFStore subclass "MyRDFStore" that can
> communicate with the store. One then creates a new SMWStore as an
> instance of SMWExternalStore that is initialised with two objects: basic
> SMWStore (e.g. SMWSQLStoreLight) object and a MySQLStore object. The
> MySQLStore object would possibly need information about the service
> endpoint and graph name for initialisation (but this depends on the
> implementation; some stores do not support graph names, and others are
> not accessed by a service endpoint).
>
>
> -- Markus
>
> ------------------------------------------------------------------------------
> Nokia and AT&T present the 2010 Calling All Innovators-North America contest
> Create new apps&  games for the Nokia N8 for consumers in  U.S. and Canada
> $10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing
> Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store
> http://p.sf.net/sfu/nokia-dev2dev
> _______________________________________________
> Semediawiki-devel mailing list
> Semediawiki-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/semediawiki-devel
>
>


-- 
Samuel Lampa
---------------------------------------
      Student @ Uppsala University
    Blog: http://saml.rilspace.org
---------------------------------------

------------------------------------------------------------------------------
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
_______________________________________________
Semediawiki-devel mailing list
Semediawiki-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/semediawiki-devel

Reply via email to