mediawiki/semantic-media-wiki

An extension to MediaWiki that lets you store and query structured data within wiki pages

4.2.0 2024-07-18 13:31 UTC

README

CI Latest Stable Version Total Download Count codecov

Semantic MediaWiki (a.k.a. SMW) is a free, open-source extension to MediaWiki – the wiki software that powers Wikipedia – that lets you store and query data within the wiki's pages.

Semantic MediaWiki is also a full-fledged framework with many spinoff extensions that can turn a wiki into a powerful and flexible knowledge management system. All data created within SMW can easily be published via the Semantic Web, allowing other systems to use this data seamlessly.

For a better understanding of how Semantic MediaWiki works, have a look at deployed in 5 min and the Sesame, Fuseki triplestore video, or browse the wiki for a more comprehensive introduction.

Requirements

Semantic MediaWiki requires MediaWiki and its dependencies, such as PHP.

Supported MediaWiki, PHP, and database versions depend on the version of Semantic MediaWiki. See the compatibility matrix for details.

Installation

The recommended way to install Semantic MediaWiki is by using Composer. See the detailed installation guide as well as the information on compatibility.

Documentation

Most of the documentation can be found on the Semantic MediaWiki wiki. A small core of documentation also comes bundled with the software itself. This documentation is minimalistic and less explanatory than what can be found on the SMW wiki. However, It is always kept up to date and applies to the version of the code it bundles with. The most critical files are linked below.

Support

Chatroom Twitter Facebook LinkedIn YouTube Mailing lists

Primary support channels:

Contributing

Many people have contributed to SMW. A list of people who have made contributions in the past can be found here or on the wiki for Semantic MediaWiki. The overview on how to contribute provides information on the different ways available to do so.

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.

Tests

This extension is tested using GitHub Actions for Continuous Integration (CI). Each time changes are pushed to the repository, GitHub Actions automatically runs a series of tests to ensure the code remains reliable and functional.

INFO: This repository contains submodules. Make sure to clone with --recursive option in Git.

git clone --recursive <REPO>

If not done when cloning, it can be done by

git submodule init
git submodule update

Step 1: Clone the Repository

Step 2: Ensure test container is running

This repository supports "docker-compose-ci" based CI and testing for MediaWiki extensions.

The "docker-compose-ci" repository has already been integrated into the Semantic MediaWiki repository as a Git submodule. It uses "Make" as main entry point and command line interface.

Ensure, you have Make and Docker installed:

make --version
docker --version

Step 3: Run lint, phpcs and tests

make ci

For more information about

License

GNU General Public License, version 2 or later. The COPYING file explains SMW's copyright and license.