Difference between revisions of "SemanticMediaWiki"

From Wiki4Intranet
Jump to: navigation, search
(Our improvements)
Line 15: Line 15:
 
== Our improvements ==
 
== Our improvements ==
  
* Query optimizer: identical subqueries are executed only once, identical terms are removed from conjunctions/disjunctions («a AND a», «a OR a» == just a)
+
* Query optimizer: identical subqueries are executed only once (for example, in <tt><nowiki><q>a OR b</q> <q>c OR d <q>a OR b</q></q></nowiki></tt> the «a OR b» part will be executed only once), identical terms are removed from conjunctions/disjunctions («a AND a», «a OR a» == just a)
 
* Conjunction-of-disjunctions execution bug: in the original SMW, «(a OR b) AND (c OR d)» query was not executed at all! (test case: <tt><nowiki>{{#ask: <q>[[A::B]] OR [[C::D]]</q> <q>[[E::F]] OR [[G::H]]</q> | format=debug }}</nowiki></tt>). Patch sent to github: https://github.com/SemanticMediaWiki/SemanticMediaWiki/pull/19
 
* Conjunction-of-disjunctions execution bug: in the original SMW, «(a OR b) AND (c OR d)» query was not executed at all! (test case: <tt><nowiki>{{#ask: <q>[[A::B]] OR [[C::D]]</q> <q>[[E::F]] OR [[G::H]]</q> | format=debug }}</nowiki></tt>). Patch sent to github: https://github.com/SemanticMediaWiki/SemanticMediaWiki/pull/19
 
* Negation operator support: syntax is <tt><nowiki>{{#ask: [[prop::val]] !<q>...subquery...</q> }}</nowiki></tt> or just <tt><nowiki>{{#ask: [[prop::val]] ![[prop2::val2]] }}</nowiki></tt>. Patch sent to github: https://github.com/SemanticMediaWiki/SemanticMediaWiki/pull/20
 
* Negation operator support: syntax is <tt><nowiki>{{#ask: [[prop::val]] !<q>...subquery...</q> }}</nowiki></tt> or just <tt><nowiki>{{#ask: [[prop::val]] ![[prop2::val2]] }}</nowiki></tt>. 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
 
* 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.
 
* 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.

Revision as of 19:36, 14 November 2013

SemanticMediaWiki is a MediaWiki extension.

Status for Mediawiki4Intranet distribution:

  • Inclusion date: 2012-12-12
  • Included version: 2.3.x
  • Improvement status: Forked in MediaWiki4Intranet with major improvements

Our improvements

  • Query optimizer: identical subqueries are 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 only once), identical terms are removed from conjunctions/disjunctions («a AND a», «a OR a» == just a)
  • Conjunction-of-disjunctions execution bug: 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.