Jump to: navigation, search
Explains various common problems when running Semantic MediaWiki and how to fix them.
Table of Contents

This page explains various common problems when running Semantic MediaWiki and how to fix them. Problems that are not in this list may be solved by SMW's support facilities or may be software bugs that you may wish to report.

Database errors: "unknown/nonexistent table"

  • Previewing or storing articles with semantic properties causes database errors.
Most likely, your database was not initialized properly. Go to the special page "Special:SMWAdmin" on your wiki for instructions. If all fails, run the maintenance script
php rebuildData.php -vfp
followed by
php rebuildData.php -v
in case you already stored annotations.

Database errors: "illegal collation"

  • When issuing semantic queries, I receive database errors that talk about some "illegal collation". Otherwise storing of annotations seems to work.
Your database tables for MediaWiki and SMW have been generated with different settings. To fix the problem, first try to run the maintenance script
php rebuildData.php -vfp
followed by
php rebuildData.php -v
If this does not help, you need to investigate the collation/character set settings of your DB. To do that, use a DB frontend tool or the SQL command
Look up the collation/charset of, e.g., the table "categorylinks" and change the default collation/charset of your DB to these settings as described in the MySQL manual. Finally, run the aforementioned maintenance scripts again.

Database errors: "Error: 5 Out of memory"

  • When trying to edit a page, I receive MediaWiki errors 'Exception encountered, of type "RuntimeException"'

This is an issue with the MySQL database backend. This issue cannot be solved by Semantic MediaWiki where the DB back-end itself is refusing (or better is incapable to answer) the request due to technical limitations. It is suggested to consult the MySQL documentation to see whether increasing the "buffer_size" can help mitigate the encounter issue or not.1

Wrong or incomplete data

  • Data has been entered and shows up in the factbox, but it is not shown when using special page "Special:Browse".
  • Semantic queries do not return the expected results.

It is possible that the data used by SMW is not in synch with the page contents in your wiki. To check this, edit a page that is affected and use Special:Browse to see if its data is now correct. To fix all pages automatically, read the help page on repairing SMW's data. If this was not your problem have a look at the next item on this page.

Missing data on custom namespaces

  • Data entered on pages in my custom namespace (e.g. "Portal:") is ignored, and queries do not show any pages of my custom namespace.

Make sure your custom namespace is listed in configuration parameter $smwgNamespacesWithSemanticLinksDefines for which namespaces the semantic links and annotations are to be evaluated. If this fails, check whether you have restricted queries to certain namespaces using $smwgNamespacesWithSemanticLinks.

Non-English language fails

  • In my non-English installation, properties don't work even when I follow the examples.

Although SMW normally provides English aliases, you may need to use the localised names for special properties and namespaces. The translated strings and aliases for each language are in the languages subdirectory.

Adding the following to the "LocalSettings.php" file may help:

setlocale( LC_ALL, "en_US.UTF-8" );

Blank or incomplete pages

  • After installing SMW, some or all pages are not displayed at all, or just incompletely.

This is usually due to the restrictive memory default settings on some sites, and is not directly caused by SMW (any additional extension code might cause this). Add the line

$wgMemoryLimit = "64M";

in the "LocalSettings.php" file and possibly adjust the value to your needs. MediaWiki's standard value is 50M and values more than 100M are hardly useful.

Large queries break for no obvious reason

  • In case I try to run queries with a lot of printout statements (> 7) Special:Ask abandons the entries I have made.

Most likely you are working in an environment that only supports small URL length limits using Suhosin. This means that in case a URL exceeds this limit, the request is split up and thus causes the query to break. To solve this problem you have to set the variable "suhosin.get.max_value_length" to a value of 1024 or higher in the "php.ini" file on your server.

See also