Working ARC2 RDF Store connector committed

Now I have a working RDF Store connector for Semantic MediaWiki, that uses ARC2:s RDF store, rather than SMW:s built-in store. This will allow to take advantage of functionality in ARC2, such as possibility to set up a SPARQL endpoint etc.

Thanks to Alfredas Chmieliauskas for the Joseki store connector in the SparqlExtension for SMW, which this connector is heavily based upon.

The ARC2 connector implements the same amount of the SMWStore API as the JosekiStore, but I'm not yet sure if more needs to be implemented, for the things we want to do (general RDF import/export). Gotta figure that out.

The code is available in the google code repository trunk, and install instructions on the gcode wiki.

Feel free to try it out, but be warned that it has been only very briefly much tested at all yet!


What's the difference from the SparqlExtension ?

Dear Samuel,
I am sorry for the stupid question, but can you please explain me the difference between your work and Alfredas's SparqlExtension ?

I've installed the SparqlExtension and that is already a SPARQL endpoint ...

sorry but I am a novice in this field and therefore please pardon my question.

Thankyou for your feedback and advice

Somewhat different goals

Hello Luca,

Semantic web is a lot of new stuff to most of us, so no worries, and that's a justifiable question!

My extension connects to the ARC2 store instead of Jena. ARC2 is PHP based, while Jena is Java based, so using ARC2 enables to run everything on PHP only, and also to use it directly from PHP, thus having the functionality fully inside a MediaWiki extension and not requiring web service calls.

Furthermore, the goals for the work done so far, is not mainly to just provide a SPARQL endpoint, but to have a general and flexible (PHP based) RDF storage solution, as a basis for the general RDF import/export functionality I'm working on in my GSoC. (In fact I have not even had the time to make the SPARQL endpoint available yet, though it should be quite easy to implement).

Hope this clarifies a bit!

Best Regards