Semantic MediaWiki Test Wiki

Posting around 6 November 2015 by Jeroen De Dauw:

Hello everyone,

We are happy to announce the immediate availability of the fourth stable feature release in the Semantic MediaWiki 2.x series.

Semantic MediaWiki 2.3 is a feature release that adds several new features, brings enhancements, improves performance and fixes various issues. It does not contain any breaking changes, so upgrading is both easy and recommended.

    1. Highlight: Improved SPARQLStore support ##

SMWs SPARQLStore has now reached full feature parity with the SQLStore. On top of that, various performance improvements where made to the SPARQLStore.

The $GLOBALS['smwgSparqlQFeatures'] configuration setting now supports these additional values:

   SMW_SPARQL_QF_REDI: enable property/value redirects support in queries
   SMW_SPARQL_QF_SUBP: enable subproperty hierarchy support
   SMW_SPARQL_QF_SUBC: enable subcategory hierarchy support

If your TDB back-end does not support SPARQL 1.1, this setting needs to be set to SMW_SPARQL_QF_NONE.

   * Added preference for use of canonical identifiers to support language

agnostic category/property statements, (use $GLOBALS['smwgExportBCNonCanonicalFormUse'] = true to keep backwards compatibility until 3.x)

   * Added basic support for _geo queries to the SPARQLStore
   * Added limitation of the aux property usage in the Exporter (use

$GLOBALS['smwgExportBCAuxiliaryUse'] = true; to keep backwards compatibility until 3.x)

    1. New features and enhancements ##
   * Added progress indicator to rebuildData.php
   * Extended context help displayed on Special:Types and subsequent type


   * Improved MobileFrontend support
   * Added a CSS rule to visually distinguish subobject links from

"normal" links

   * Added $GLOBALS['smwgValueLookupCacheType'] to improve DB lookup

performance though the use of a responsive cache layer (such as redis) and buffer repeated requests either from the API or page view to the back-end.

   * It is now possible to use extra double colons in annotations. For

instance 10.1002/123::abc or 123

   * Predefined property aliases are redirected to the base property
   * The template support of #set now includes an automatically added

last-element parameter

   * Added --skip-properties flag to rebuildData.php
   * rebuildData.php now first removes items marked for deletion
   * Extended ~* search pattern for _ema and _tel to allow for searches

like ~*0123* and ~*

   * The category result format now supports columns=0, which results in

automatic column count selection

   * Added SQL EXPLAIN output to the debug result format
   * Added @category as parameter with a fixed assignment (_INST) to
  1. subobject
   * Added ~ and !~ comparator support for values of type date
   * Beta support for PHP 7

    1. New experimental features ##

These features are disabled by default and can be turned on using configuration. Additional logging happens for these features until they mature from being an experimental feature in a future release.

   * Added CachedValueLookupStore as post-cached layer to improve DB read

access ($GLOBALS['smwgValueLookupCacheType'], $GLOBALS['smwgValueLookupCacheLifetime'])

   * Added $GLOBALS['smwgValueLookupFeatures'] setting to fain grain the

cache access level, default is set to SMW_VL_SD | SMW_VL_PL | SMW_VL_PV | SMW_VL_PS;

   * Added EmbeddedQueryDependencyLinksStore to track query dependencies

and update altered queries using ParserCachePurgeJob for when $GLOBALS['smwgEnabledQueryDependencyLinksStore'] is enabled

   * Added $GLOBALS['smwgPropertyDependencyDetectionBlacklist'] to exclude

properties from dependency detection

   * Added detection of property and category hierarchy dependency in


    1. Bug fixes ##
   * Fixed RuntimeException in SQLStore caused by a DI type mismatch

during a lookup operation

   * Fixed id mismatch in SQLStore
   * Fixed syntax error in SQLStore(SQLite) for temporary tables on

disjunctive category/subcategory queries

   * Fixed PHP notice in JobBase for non-array parameters
   * Fixed Fatal error: Call to undefined method SMWDIError::getString
   * Fixed RuntimeException in UndeclaredPropertyListLookup for when a DB

prefix is used

   * Fixed call to undefined method in ConceptDescriptionInterpreter in


   * Fixed behavior for #REDIRECT to create the same data reference as


   * Fixed usage of  for SPARQLStore when Has page

is declared as page type

   * Fixed usage of (a OR b) AND (c OR d) as query pattern for the SQLStore
   * Fixed return value of the #set parser
   * Fixed duplicated error message for a _dat DataValue
   * Fixed mismatch of owl:Class for categories when used in connection

with a vocabulary import

   * Fixed error on Special:Ask when using a format provided by Semantic


   * Fixed silent annotations added by the Factbox when content contains


   * Fixed resource loading issue on Windows when using


   * Fixed disabling of


   * Fixed re-setting of smw-admin user group permission to its default
   * Fixed #set rendering of template supported output
   * Fixed inverse prefix for predefined properties that caused

misinterpret Concept queries

   * Fixed context awareness of ParserAfterTidy in connection with the

purge action

   * Fixed "duplicate key value violates unique constraint" for PostgreSQL

on conjunctive and disjunctive queries

   * Fixed further link to use the format parameter as specified by #ask
   * Fixed usage of the !~ comparator for properties that have a limited

set of allowed values

      1. Improved handling of removed entities in SQLStore ###

In previous releases it could happen that deleted entities (subject, property) reappeared in queries even though they have been removed. This release introduces several changes to eliminate some of the issues identified.

   * introduced a deletion marker on entities that got deleted, making

them no longer available to queries or special page display.

   * Added --shallow-update to rebuildData.php, to only parse those

entities that have a different last modified timestamp compared to that of the last revision. This enables to run rebuildData.php updates on deleted, redirects, and other out of sync entities.

   Solved an unconditional namespace query Help:+ would display

deleted subjects (in case those subjects were deleted)

   * Added filter to mark deleted redirect targets with


   * Added filter to mark outdated subobjects with SMW_SQL3_SMWDELETEIW
   * Added removal of unmatched "ghost" pages in the ID_TABLE

    1. Contributors ##

Code contributors

   * MWJames
   * Jeroen De Dauw
   * Karsten Hoffmeyer (kghbln)
   * Felipe de Jong (jongfeli)
   * Vitaliy Filippov (vitalif)
   * paladox
   * Amir E. Aharoni
   * Joel K. Pettersson
   * umherirrender
   * Kunal Mehta (legoktm)

We'd also like to thank

   * yoonghm
   * cicalese
   * bogota
   * plegault3397

The full list of changes be viewed at [0]. The installation procedure [1] has not changed since 1.9.0. To upgrade, you will need to get the new version of SMW, run MediaWikis update.php, and run SMWs refresh data script [2]. There is also a short video showing an upgrade from SMW 2.1.3 to 2.2 at [3]. We already started work in SMW 2.4 and welcome your contributions [4].

- The SMW development team

[0] [1] [2] [3] [4]

Semediawiki-user mailing list