Semantic MediaWiki vs Wikibase vs Cargo


Last updated on 2020-03-20. Written by Jeroen De Dauw


What software do you need to manage data/knowledge in your wiki? Historically this was Semantic MediaWiki. Is that still the case, and how do the alternatives stack up?

Overview

In this article we look at the features provided by Semantic MediaWiki (SMW), Wikibase and Cargo. At the end of the article we share our thoughts on when to use which software.

No one has our level of expertise when it comes to both SMW and Wikibase. We have been significantly involved in the development of both and helped many of our customers with SMW. We cannot say the same for Cargo, as we have not used it ourselves or gotten requests from customers yet.

Ecosystem

Semantic MediaWiki Wikibase Cargo
Public wikis 1000s ~10 100s
Developed for Data management Wikidata.org Data management
Primary users Organizations Wikidata.org Organizations
Complementary extensions 28 to 50+ ~7 2
Dedicated mailing list
Dedicated conference SMWCon
Commercial support Dozens of companies One company Several companies
Available since 2005 2012 2015
Main developer Community Wikimedia DE Community

Editing experience

Semantic MediaWiki Wikibase Cargo
Define data where it used
Visual editing
Programmable editing UI Forms Forms
Source editing

Data access

Semantic MediaWiki Wikibase Cargo
Inline queries
Query language SMW specific - Based on SQL
Visualizations 60+ inline External only ~25 inline
SPARQL queries
Web API
Lua API
Simple DB tables

Data model and storage

Semantic MediaWiki Wikibase Cargo
Data location Flexible Dedicated pages Flexible
Data model Flexible Complex and fixed Flexible
Data constraints Maybe via tools
Multiple items per page
Computed values
In-text data
Data types 18 17 18
Multilingual data Second class
Optional
First class
Required
?
Primary storage Wiki pages Wiki pages (JSON) Wiki pages
Primary indexing MW DB (MySQL) MW DB (MySQL) MW DB (MySQL)

Development

Semantic MediaWiki Wikibase Cargo
Main developer Community Wikimedia DE Community
Developed for Data management Wikidata.org Data management
Stable releases
Release notes
Available since 2005 2012 2015
Developed on GitHub (SMW org) Wikimedia Gerrit Wikimedia Gerrit
Contributors ~200 developers ~250 developers ~75 developers
Code changes 15k+ 30k+ ~1300
Fully open source

When to use Wikibase

Wikibase serves a different usecase than Semantic MediaWiki and Cargo. You might have noticed it is the odd one out in the above comparison. This is because unlike SMW and Cargo, Wikibase was not developed for displaying and using data within the wiki itself. It was developed for collaborative creation and maintenance of a knowledge base containing data that can be used on Wikipedia and by third parties.

This makes it great for organizations that curate data for third party consumption. For instance museums and other GLAM institutions. If on the other hand, like is done in most structured wikis, you want to present the data in your wiki itself, then Wikibase is the wrong tool for you.

There are several potential gotchas to be aware off before starting with Wikibase. Wikibase is developed by Wikimedia for Wikidata. Wikidata will always be the priority. While Wikimedia has recently started to talk about supporting third parties, the robustness of this support remains to be seen. There are also no stable releases or upgrade instructions. Depending on your level of tolerance for operational risk, this might disqualify using the Wikibase software at present.

We have contributed to the development of Wikibase and have significant expertise. If you are looking for commercial Wikibase help or advice, contract us.

When to use Cargo

Cargo was created as alternative to Semantic MediaWiki. The main motivation was to provide a simpler software, both in terms of use and in terms of codebase. We think it failed to do the latter.

Cargo ties data storage directly to templates and stores the data in database tables based on those templates. This allows querying data via SQL snippets rather than SMWs dedicated query language.

If you want to run SQL queries against the structured data stored in your wiki, either from within the wiki, or from another application, then look into Cargo. If you are fine with its smaller feature set, reduced flexibility and smaller ecosystem, then it might be the right choice for you.

When to use Semantic MediaWiki

Semantic MediaWiki is the standard software for managing data in wikis. It has been continuously developed since 2005 and has by far the biggest ecosystem and most features. There are several enterprise MediaWiki hosting companies and they all use a Semantic MediaWiki based stack.

We believe Semantic MediaWiki is the right choice for most wikis and suggest it to be your default pick.

Our fully managed enterprise wiki hosting plans all include Semantic MediaWiki and important extensions to SMW. Looking for SMW help, advice or development? Contact us.

Semantic Wikibase

We want to develop a connection between Wikibase and Semantic MediaWiki and are looking for funding.


Enjoyed our article? We don't have like buttons but you can follow Professional Wiki on Twitter or subscribe to our newsletter!