From: doug b. <c.d...@gm...> - 2014-01-30 18:19:47
|
Hi all, I have seen some threads lately about problems with subobjects and ask queries when a Sparql store is enabled. Folks like me have noticed that subobjects seem to disappear from #ask as soon as an external RDF store is enabled as the default DB. Yup, that's exactly what's happening. In fact there are several problems, only some of which have been patched so far. This is a known problem (at least on 1.8.x; I have not tried 1.9 yet...) BUT THERE IS HOPE! Read on! To fix this complicated issue on 1.8.x you need to do three things: 1) Download and apply a patch to your 1.8.0.5 version of SMW. 2) Set up your Sparql store and configure it in LocalSettings.php, but DO NOT make it the default database! You can simply omit or comment out the property // $smwgDefaultStore Note that you DO have to set the following properties (see the documentation). Use your own values, but I will include mine for comparison (we use 4store): $smwgSparqlDatabase = 'SMWSparqlDatabase4Store'; $smwgSparqlQueryEndpoint = 'http://172.16.211.200:8000/sparql/'; $smwgSparqlUpdateEndpoint = 'http://172.16.211.200:8000/update/'; $smwgSparqlDataEndpoint=''; //two single quotes, i.e. empty. IMPORTANT! $smwgSparqlDefaultGraph = 'http://archwiki.cogeco.com/'; //not required but nice # The Namespace of exported URIs. $smwgNamespace = "http://archwiki.cogeco.com/id/"; //also not required but nice 3) Finally, add the following code to the bottom of your LocalProperties.php. This will cause SMW to both save your subobjects (and everything else) in the MySQL database, thus making them available for #ask, AND it will invoke the Sparql store to push the page properties into the RDF store. === # Adding in an anonymous function hook to run a SparqlStore update despite # Sparql no longer being the default data store. $wgHooks['SMWStore::updateDataAfter'][] = function( SMWStore $store, SMWSemanticData $data) { $s = new SMWSparqlStore(); $s->doSparqlDataUpdate($data); return true; }; === Save LocalProperties.php and motor on! Good luck! doug |