Semantic MediaWiki offers a number of configuration options that site administrators may modify according to the particular needs of their wiki. This page explains all options of Semantic MediaWiki 1.6.0 until Semantic MediaWiki 1.6.2. All available options can also be found in the file SMW_Settings.php of your current version. To change any configuration setting, copy the according assignment into your LocalSettings.php, after including SMW as described in installation. Do not change SMW_Settings.php directly, as your changes would be overwritten in software upgrades.

into your LocalSettings.php before including SemanticMediaWiki.php (formerly SMW_Settings.php). The number ??? must
be the smallest even namespace number that is not in use yet. However, it
must not be smaller than 100.

SMW defers some tasks until after a page was edited by using the MediaWiki job queueing system (see http://www.mediawiki.org/wiki/Manual:Job_queue). For example, when the type of a property is changed, all affected pages will be scheduled for (later) update. If a wiki generates too many jobs in this way (Special:Statistics and "showJobs.php" can be used to check that), the following setting can be used to disable jobs. Note that this will cause some parts of the semantic data to get out of date, so that manual modifications or the use of SMW_refreshData.php might be needed.

Should SMW accept inputs like [[property::Some [[link]] in value]]? If enabled, this may lead to PHP crashes (!) when very long texts are used as values. This is due to limitations in the library PCRE that PHP uses for pattern matching. The provoked PHP crashes will prevent requests from being completed – usually clients will receive server errors ("invalid response") or be offered to download "index.php". It might be okay to enable this if such problems are not observed in your wiki.

Should SMW consider MediaWiki's subcategory hierarchy in querying? If set to true, subcategories will always be interpreted like subclasses. For example, if A is a subcategory of B then a query for all elements of B will also yield all elements of A. If this setting is disabled, then subclass relationships can still be given explicitly by using the property Property:subcategory of on some category page. Only if the setting is false will such annotations be shown in the Factbox (if enabled).

Should category pages that use some [[Category:Foo]] statement be treated as elements of the category Foo? If disabled, then it is not possible to make category pages elements of other categories. See also the above setting $smwgUseCategoryHierarchy.

Overwriting the following array, you can define for which namespaces the semantic links and annotations are to be evaluated. On other pages, annotations can be given but are silently ignored. This is useful since, e.g., talk pages usually do not have attributes and the like. In fact, is is not obvious what a meaningful attribute of a talk page could be. Pages without annotations will also be ignored during full OWL/RDF export, unless they are referred to from another article.

This setting allows you to select in which cases you want to have a factbox appear below an article. Note that the Magic Words __SHOWFACTBOX__ and __NOFACTBOX__ can be used to control Factbox display for individual pages. Other options for this setting include:

$smwgShowFactbox = SMW_FACTBOX_NONEMPTY; show only those factboxes that have some content

$smwgShowFactbox = SMW_FACTBOX_SPECIAL; show only if special properties were set

$smwgShowFactbox = SMW_FACTBOX_HIDDEN; hide always

$smwgShowFactbox = SMW_FACTBOX_SHOWN; show always, buggy and not recommended

Should the toolbox of each content page show a link to browse the properties of that page using Special:Browse? This is a useful way to access properties and it is somewhat more subtle than showing a Factbox on every page.

Number of values that are shown for each page in the listing on property pages. If increased to higher values, it might be useful to reduce $smwgPropertyPagingLimit to avoid performance impacts when showing property pages.

The maximal number that SMW will normally display without using scientific exp notation. The default is rather large since some users have problems understanding exponents. Scientific applications may prefer a smaller value for concise display.

Settings for inline queries and for semantic queries in general. This can especially be used to prevent overly high server-load by complex queries. The following settings affect all queries, wherever they occur.

Should redirects between page names be considered as equality between the described objects? This is usually appropriate for cases where data is given for a page at all. Possible values are:

SMW_EQ_FULL Evaluate redirects as equality between page names in all cases.

SMW_EQ_SOME Evaluate redirects as equality between page names, with possible performance-relevant restrictions depending on the storage engine. This is equivalent to SMW_EQ_FULL for the default storage engine of SMW 1.2 and above!

SMW_EQ_NONE Never evaluate redirects as equality between page names.

Note that changing this option may only take effect after recreating all data in the database. See Repairing SMW for details.

The following settings affect inline queries and querying special pages, in particular Special:Ask. Essentially they should mirror the kind of queries that should immediately be answered by the wiki, using whatever computations are needed.

Further settings for queries. The following settings affect queries that are part of concept pages. These are usually chosen to be less restricted than inline queries, since there are two other means for controlling their use:

Concept queries that would not be allowed as normal queries will not be executed directly, but can use pre-computed results instead. This is the default. See Concept caching for details on how to exploit this.

The whole Concept: namespace can be restricted (using some suitable MediaWiki extension) to an experienced user group that may create more complex queries resonably. Other users can employ thus defined concepts in their queries.

This setting defines the cache life time in minutes. If a concept cache exists but is older than this, SMW tries to recompute it, and will only use the cache if this is not allowed due to settings above.

This setting contains an array of all query result formats that the wiki supports. It is normally extended automatically by extensions that supply additional formats. However, it is also possible to set this array manually, e.g. to disable some formats. To disable a format, do unset($smwgResultFormats['template']); Disabled formats will be treated like if the format parameter had been omitted. The formats 'table' and 'list' are defaults that cannot be disabled. The format 'broadtable' should not be disabled either in order not to break Special:Ask.

The URI-namespace of exported URIs. Will be set automatically if nothing is given, using the base URL provided to enableSemantics(). But in order to make pretty URIs you will need to set this to something nice and adapt your Apache configuration appropriately. This is done, e.g., on semanticweb.org, where URIs are of the form http://semanticweb.org/id/FOAF. An example setting would be

Default property type. Undefined properties (those without pages or whose pages have no "has type" statement) will be assumed to be of this type. This is an internal type id. See the file languages/SMW_LanguageXX.php to find what IDs to use for datatpyes in your language. The default corresponds to "Type:Page".

Configure SPARQL database connection for Semantic MediaWiki. This is used when SPARQL-based features are enabled. Endpoint (service URL) for queries (reading queries like SELECT). This endpoint is neccessary.

Configure SPARQL database connection for Semantic MediaWiki. This is used when SPARQL-based features are enabled. Endpoint (service URL) for updates (SPARQL Update queries). Can be omitted if not supported.

Configure SPARQL database connection for Semantic MediaWiki. This is used when SPARQL-based features are enabled. Endpoint (service URL) for data (SPARQL HTTP Protocol for Graph Management) Can be omitted if not supported.