Skip to content

SemanticMediaWiki/SemanticCompoundQueries

Repository files navigation

Semantic Compound Queries

Build Status Code Coverage 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.

Requirements

Installation

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. 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.2"
	}
}

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.2"

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

Step 2

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.

Step 3

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

wfLoadExtension( 'SemanticCompoundQueries' );

Usage

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.

Example

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

{{#compound_query:
  [[Category:Books]]
  [[Has genre::Biography]]
  ;?Covers subject=Subject
  |
  [[Category:Books]]
  [[Has genre::Fiction]]
  ;?Has author=Author
  |format=list
}}

For more information, see the extension's homepage at MediaWiki.org.

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.

Tests

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.

License

GNU General Public License, version 2 or later.