mediawiki / semantic-compound-queries
A Semantic Mediawiki extension to display and combine multiple #ask queries in a single visualization output
Fund package maintenance!
Open Collective
www.semantic-mediawiki.org/wiki/Sponsorship
Installs: 93 967
Dependents: 1
Suggesters: 0
Security: 0
Stars: 6
Watchers: 12
Forks: 6
Open Issues: 1
Type:mediawiki-extension
Requires
- php: >=7.4
- composer/installers: ^2|^1.0.1
Requires (Dev)
- mediawiki/semantic-media-wiki: @dev
- phpmd/phpmd: ~2.1
- squizlabs/php_codesniffer: ~2.1
This package is auto-updated.
Last update: 2025-04-24 14:55:10 UTC
README
Semantic Compound Queries (a.k.a. SCQ) is a Semantic Mediawiki extension that defines the
#compound_query
parser function, which can display the results of multiple #ask
queries
(as compound constructs) at the same time.
Requirements
- PHP 7.3 or later
- MediaWiki 1.31 or later
- Semantic MediaWiki 3.0 or later
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 that if you have Git installed on your system, you can 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 the elements
of each sub-query delimited by semicolons instead of pipes. Elements 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 developer's mailing list and have a look at the contribution guidelines.
- File an issue
- Submit a pull request
- Ask a question on the mailing list
Tests
This extension provides unit and integration tests and is run by a continuous integration platform
but can also be executed locally using the shortcut command composer phpunit
from the extension base directory.