List of maintenance tasks in connection with a Semantic MediaWiki instance
Table of Contents

In order to fully utilize and maintain a Semantic MediaWiki instance, certain maintenance tasks are required to help optimize the system, minimize on-wiki interventions, and keep the administrative work at a minimum.

Property annotation health (a.k.a. semantic gardening)[edit]

It is general good practice to monitor the property annotation health and if necessary improve statements or queries that cause an improper value annotation.

Cron jobs[edit]

Depending on the size (user base, articles count, annotation amount) script schedules need to be adapted according to the local needs of a wiki instance but some tasks should be run more frequent than others.

hourly .23 php runJobs.php --quiet --maxjobs=200 --maxtime=300 --memory-limit=128M
NoteNote: If you are using MediaWiki 1.27 and later as well as Semantic MediaWiki 2.4.0 and later it is recommended to run MediaWiki's "runJobs.php" maintenance script every ten minutes.
daily 7.45 php updateSpecialPages.php --quiet
NoteNote: This is only required if you set MediaWiki's configuration parameter $wgMiserMode to "true".
daily 4.15 php rebuildData.php --quiet --shallow-update
daily 5.15 php rebuildPropertyStatistics.php --quiet
daily 6.15 php rebuildConceptCache.php --quiet --update --create
weekly 7.15 php rebuildData.php --quiet -d 100
weekly 5.30 php setupStore.php --quiet --skip-import

Explanations about options selected can be found on the individual script help page.

For example, to execute a script every ten minutes add the following to your crontab (or the Windows TaskScheduler)

*/10 * * * * php runJobs.php --quiet --maxjobs=200 --maxtime=300 --memory-limit=128M


MediaWiki settings[edit]

The following settings can influence Semantic MediaWiki in how certain subjects are visible or updated due to execution (or non execution) of scripts owned by MediaWiki in terms of template, special page updates etc.

  • $wgMiserMode to disable database-intensive features, so that they can be managed/controlled separately
  • $wgJobRunRate number of jobs to perform per request


There was some discussion on the mailing list about the occasions it is required to run the "rebuildData.php" maintenance script.1

See also[edit]


  1. ^ mail:user:smw:tc5074165