A Semantic Mediawiki extension to display and combine multiple #ask queries in a single visualization output

2.0.0 2019-01-28 13:45 UTC


Build Status Code Coverage Scrutinizer Code Quality Latest Stable Version Packagist download count

Semantic Compound Queries (a.k.a. SCQ) is a Semantic Mediawiki extension that defines the #compound_query parser function which can display results of multiple #ask queries (as compound construct) at the same time.



The recommended way to install Semantic Compound Queries is using Composer with MediaWiki's built-in support for Composer.

Note that the required extension Semantic MediaWiki must be installed first according to the installation instructions provided.

Step 1

Change to the base directory of your MediaWiki installation. This is where the "LocalSettings.php" file is located. If you have not yet installed Composer do it now by running the following command in your shell:


Step 2

If you do not have a "composer.local.json" file yet, create one and add the following content to it:

	"require": {
		"mediawiki/semantic-compound-queries": "~2.0"

If you already have a "composer.local.json" file add the following line to the end of the "require" section in your file:

"mediawiki/semantic-compound-queries": "~2.0"

Remember to add a comma to the end of the preceding line in this section.

Step 3

Run the following command in your shell:

php composer.phar update --no-dev

Note if you have Git installed on your system add the --prefer-source flag to the above command. Also note that it may be necessary to run this command twice. If unsure do it twice right away.

Step 4

Add the following line to the end of your "LocalSettings.php" file:

wfLoadExtension( 'SemanticCompoundQueries' );

Verify installation success

As final step, you can verify SCI got installed by looking at the "Special:Version" page on your wiki and check that it is listed in the semantic extensions section.


The syntax of #compound_query resembles that of #ask, but with more than one query, and with the elements of each sub-query delimited by semicolons instead of pipes. Elements that are common across all sub-queries, like format= and width= (for maps) should be placed after all sub-queries.


A sample call to #compound query, which retrieves both biographies, along with their subject; and fiction books, along with their author; is:

  [[Has genre::Biography]]
  ;?Covers subject=Subject
  [[Has genre::Fiction]]
  ;?Has author=Author

For more information, see the extension's homepage at

Contribution and support

Original author: Yaron Koren (Version 0.4.1)

If you want to contribute work to the project please subscribe to the developers mailing list and have a look at the contribution guideline.


This extension provides unit and integration tests that are run by a continues integration platform but can also be executed using composer phpunit from the extension base directory.


GNU General Public License, version 2 or later.