Help:Change propagation



This section describes how changes are propagated especially those that affect entity pools related to property declaration or category hierarchy modifications.

In Semantic MediaWiki, certain declarative properties (see ) will trigger a propagation event when a change to its value occurs.

Dispatching a change
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  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 CiteRef::gh:smw:2494) 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
MediaWiki and Semantic MediaWiki work with different kinds of change propagations and includes things like:


 * Template and page transcluded content
 * Changes to properties
 * Changes to categories
 * Updates to queries

Job queue
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 infeasibleCiteRef::gh:smw:948 therefore relying on the job queue has been seen as the only scalable method to postpone updates while avoiding hogging system resources.