sounds interesting. What is an "Optimized SemanticMediaWiki"?
There's a "query optimizer" patch that
a) makes identical subqueries to be executed only once (for example, in
<q>a OR b</q> <q>c OR d <q>a OR b</q></q> the «a OR b» part will be
executed once)
b) and makes identical terms to be removed from conjunctions/disjunctions
(«a AND a», «a OR a» == just a).
There also exist other patches (copy-paste from wiki.4intra.net page):
* Conjunction-of-disjunctions execution bug fixed: in the original SMW,
«(a OR b) AND (c OR d)» query was not executed at all! (test case: {{#ask:
<q>[[A::B]] OR [[C::D]]</q> <q>[[E::F]] OR [[G::H]]</q> | format=debug
}}). Patch sent to github:
https://github.com/SemanticMediaWiki/SemanticMediaWiki/pull/19
* Negation operator support: syntax is {{#ask: [[prop::val]]
!<q>...subquery...</q> }} or just {{#ask: [[prop::val]] ![[prop2::val2]]
}}. Patch sent to github:
https://github.com/SemanticMediaWiki/SemanticMediaWiki/pull/20
* Disable forced type-named properties: in the original SMW, data type
aliases also have an unpleasant side-effect: if a property name matches
the alias of some data type (for example «Telephone number») — the
property will have that data type forced and you cannot override it. Patch
sent to github:
https://github.com/SemanticMediaWiki/SemanticMediaWiki/pull/21
* Automatic refresh of all pages with semantic queries on any property
update — in the original SMW you have to manually refresh it every time.
Of course this can lead to frequent cache flushes — even the queries that
don’t use the updated property are flushed — but at least the user always
gets correct query results.
And also there are read permission checks implemented in {{#ask}} results.
Nice to see that Wiki4Intra now includes SMW! I'm also curious about
your semantic optimizations, it seems that the list is here:
http://wiki.4intra.net/SemanticMediaWiki . What do you think about
proposing them to SMW upstream?
I've posted some pull requests on github (#19, #20, #21), #21 is the
simplest of them ("disable forced type-named properties") :) but there are
some concerns:
1) As usual with MediaWiki, code review seems a hard and long process to
me, i.e. it's definitely possible, but it takes a lot of time and makes me
upset, so I don't feel too much desire of doing it :(
2) It seems SMW got some big refactoring with DI/IoC stuff everywhere in
1.9/master (for unit tests bla-bla-bla...), so the patches should be also
refactored before being submitted...
3) Automatic refresh works, but in fact it's more of a quick fix than a
properly designed feature, so I think I won't even submit it...
--
With best regards,
Vitaliy Filippov
_______________________________________________
Mediawiki-enterprise mailing list
Mediawiki-enterprise@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-enterprise