Help:Change propagation

Locked category on a change to its hierarchy awaiting job execution
Shows information about the property change propagation progress
Special page "Browse" showing the content of special property "Change propagation"

This page describes how changes are propagated (Change Propagation) especially those that affect entity pools related to property declaration or category hierarchy modifications.

In Semantic MediaWiki, certain declarative properties (see configuration parameter $smwgChangePropagationWatchlistSets the properties that are relevant for property change propagation) will trigger a propagation event when a change to its value occurs.

Dispatching a change[edit]

After a propagation event has been triggered, a change propagation property will be added temporarily to store required information before the actual change takes place and the smw.changePropagationDispatch job can dispatch necessary updates related to subjects of a property or category.

The change propagation is set to an "in waiting" state for as long as the dispatch job is only queued (i.e. the dispatch job hasn't been executed) with corresponding property or category pages being locked (see configuration parameter $smwgChangePropagationProtectionSets whether property pages are protected from editing while a property change propagation is being processed1) to avoid having competing declarations to create inconsistencies about the characteristics of a property or category declaration while the dispatch process is on-going.

Types of changes[edit]

MediaWiki and Semantic MediaWiki work with different kinds of change propagations and includes things like:

Job queue[edit]

The job queue is essential because of the potential size of required updates caused by a change to a property or category where recomputing and reassigning of annotation values becomes necessary. The past showed that attempting to update those entities online (i.e. within the same transaction request) may render a system unresponsive hereby making the propagation process infeasible2 therefore relying on the job queue has been seen as the only scalable method to postpone updates while avoiding hogging system resources.

See also[edit]


  1. ^  Semantic MediaWiki: GitHub issue gh:smw:2494
  2. ^  Semantic MediaWiki: GitHub issue gh:smw:948