Embedded query updates

From semantic-mediawiki.org
Embedded query updates
Embedded query updates allow to track and store dependencies of embedded queries
Table of Contents

The embedded query update feature provided by "QueryDependencyLinksStore" was added with Semantic MediaWiki 2.3.0Released on 29 October 2015 and compatible with MW 1.19.0 - 1.25.x. as part of the query management to track and store dependencies of embedded queries (a.k.a. inline queries).1

The mechanism of how query dependency updates are done was refactored and changed with Semantic MediaWiki 3.1.0Released on 23 September 2019 and compatible with MW 1.31.0 - 1.33.x..2 For current information on this see also the related README file 3 and for information on how the mechanism used to work in earlier versions see this revision of the documentation.


To enable this feature it is required to:

  1. Set configuration parameter $smwgEnabledQueryDependencyLinksStoreSets whether tracking and storing of dependencies of embedded queries may be used to "true"
  2. Run maintenance script "update.php" (MediaWiki.org) followed by
  3. Run maintenance script "updateQueryDependencies.php"Allows to update all entities that hold embedded queries (≥ SMW 3.1.0) or maintenance script "rebuildData.php"Allows to rebuild all the semantic data for a selected data backend/store (< SMW 3.1.0)

Features and limitations[edit]

  • Dependencies are resolved for properties, categories, concepts (non cached) and hierarchies
  • Namespace queries, e.g. [[Help:+]] are not tracked as this would significantly impact update performance for when a single namespace dependency is altered
  • Queries with arbitrary conditions, e.g. [[~Issue/*]] can not be tracked as they are not distinguishable in terms of an object description
  • Disabling query limits setting the "limit" option to "0" (|limit=0) are not tracked as they return an empty result list and only represent a simple link to special page "Ask"Provides an interface that assists users with creating and executing semantic queries
  • Queries via special page "Ask"Provides an interface that assists users with creating and executing semantic queries are not tracked since those are not embedded on pages
  • An invalidation of the parser cache happens on viewing pages
  • Configuration parameter $smwgQueryDependencyPropertyExemptionListSets special properties that should be exempted from embedded queries updates contains property keys that are excluded from detection, by default special property "Modification date"Holds a fixed value that corresponds to the date of the last modification of each page, special property "Has subobject"Holds the subobjects set on a page and special property "Query duration"Holds the value of the duration a query took to execute


See also[edit]

Specific information
Information on configuration parameters
General information
Technical background information
  • Issue #1117 contains the implementation details of the "QueryDependencyLinksStore"
  • Issue #1261 discussion about the "HTTP/1.1 301 Moved Permanently" return


  1. ^  Semantic MediaWiki: GitHub pull request gh:smw:1117
  2. ^  Semantic MediaWiki: GitHub pull request gh:smw:3644
  3. ^  README on query dependency