Jump to content

Wikibase/FAQ

From mediawiki.org
This list of frequently asked questions about Wikibase is a living document. Community members are welcome to contribute. See the corresponding FAQ entry for more information.

General

What is the difference between Wikibase and Wikidata?

Wikibase is a suite of knowledge-base software for managing linked open data, originally written for and still used by the Wikidata project.

Wikidata is the largest instance of Wikibase, a free knowledge base that anyone can edit. Its data is used by Wikipedia, by its sister projects and by anyone else who wants to make use of a large amount of open general-purpose data.

Is there a list of Wikibase instances?

Although there’s no single canonical list, on our Showcase page we highlight several notable instances. For more comprehensive information you can check out the voluntary Wikibase registry and this list of federated query endpoints.

Installing

How can I install Wikibase on my own system?

There are currently three options for installing Wikibase.

Features

What's installed on my Wikibase instance?

Depending on whether you installed Wikibase using our Docker images, or if you're using wikibase.cloud, the extensions and templates installed on your Wikibase can differ significantly. Your best bet is to take a look for yourself:

  • Installed templates: <your Wikibase URL>/wiki/Special:AllPages?from=&to=&namespace=10
  • Installed extensions: <your Wikibase URL>/wiki/Special:Version#mw-version-ext

Where can I find more info about the query service?

Here’s Wikidata’s query service manual and some SPARQL examples.

How does federation work?

Check out our federation page.

Does Wikibase ship with a web API (like api.php) for remote access?

Wikibase extends the standard MediaWiki action API with modules such as action=wbsetsitelink and query modules such as action=query&prop=pageterms. You access these modules via api.php like the rest of the API and you can use d:Special:ApiSandbox to explore the API. Some Wikimedia wikis run only the Wikibase client, while wikidata.org runs the full software.

Import

How can I get data into Wikibase?

Check out our import tools page.

QuickStatements isn’t meeting our needs. What other import tools exist?

First of all, Wikimedia Deutschland is acutely aware of the need for reliable and robust import tooling for Wikibase.

Because Wikimedia Deutschland didn’t develop QuickStatements and doesn’t maintain it, we’re not in a position to address any issues or supplement its functionality. (QuickStatements was developed and is maintained by a community member, Magnus Manske.)

For an up-to-date and more thorough list, check out the import tools page. However, it’s worth noting the existence of a few more community tools:

Data modeling

How do metaclasses work on Wikidata? How do metaclasses influence the SPARQL query service?

Some tools make a distinction between descriptors themselves and descriptors of those descriptors, but not Wikibase. Wikibase simply describes things, and the code makes no distinction between metaclasses and other classes. This is also true for SPARQL.

The practical upshot of this for your Wikibase instance is that you should stick to modelling your items and constructing your queries using "instance of" and "subclass of".

For a deep dive into such philosophical questions, check out WikiProject Ontology.

How do I set up constraints in Wikibase?

With the Wikibase Quality Constraints extension, you can add quality constraints when creating a property in Wikibase. For instance, for the image property (P18 over in Wikidata), you can constrain the image format (e.g., JPG, PNG, GIF -- here’s an example).

The instructions for setting up the extension as well as for adding and importing constraints are on our GitHub mirror. You’re free to add and alter constraints to suit your particular data set. You can also import Wikidata’s own quality constraints.

Should I always make reciprocal relationships clear in Wikibase?

That’s entirely up to you. You should base this decision entirely on the needs of your own data. There’s no downside to omitting a constraint that’s not needed; you may wish to avoid situations where a statement that’s fundamentally okay triggers an off-putting amount of constraint violations.

Why should a Wikibase’s first property be "SameAs"?

When you create a Wikibase instance, we recommend you create the "SameAs" property with the "URL" datatype as your first property (or one of the first). Then, when creating properties in your Wikibase, you’ll use the SameAs property in a statement to indicate that the property in question is the same as a property used in a different vocabulary elsewhere, such as in Wikidata, SKOS or OWL.

Example: the property you use to communicate the title of a work in your own Wikibase instance might have a "SameAs" statement that links to the equivalent property in Wikidata (P1476).

So: Why? Connecting different vocabularies by saying that property X in database A is the equivalent of property Y in database B makes exchanging data between these different databases much easier. You can ask questions of separate databases that use different vocabularies, linking the data together in spite of their differing vocabularies instead of hiding it all in a silo.

Is a Wikibase instance a knowledge graph?

The formal answer to this question is not as simple as yes or no. The Wikibase repository extension is not a knowledge graph in the semantic-web sense: it lacks queryable RDF. Wikibase instead stores data internally as JSON and makes that data available in various formats including, but not limited to, RDF.

Wikibase stores data in JSON instead of RDF because Wikibase’s data model is considerably more complex than a simple triple -- users may add references, qualifiers and ranks.

However, the suite of tools that support Wikibase does make Wikibase a knowledge graph, because tools such as the SPARQL query service constitute an RDF-based graph store.

Wikibase users can design their own data model. Are there downsides to this?

Wikibase’s flexibility gives users the ability and freedom to model their data collection in any way that suits their needs. But because Wikibase lacks a preexisting ontology (e.g., CIDOC-CRM, Bibframe or any other of the many existing options), interoperability becomes more difficult. By “interoperability” we mean the ability for separate systems and data collections to interact with one another.

So while every Wikibase user is free to employ their own domain-relevant model, there’s no guarantee that that model will have any cross-domain interoperability, making querying across instances of Wikibase more difficult.

However, Wikibase instances that use the Wikibase Manifest extension make it possible at least for users of other Wikibases to discover the mappings of that instance and providing some hope and clues as to how to interoperate.

Source code

Where can I find the source code?

Check out our developer resources.

Who maintains Wikibase?

The Wikibase extension is primarily maintained by the engineering teams of Wikimedia Deutschland.

Wikibase/Suite and Wikibase/Docker provide a software suite including not only the Wikibase extension to MediaWiki but also accompanying software like Elasticsearch, QuickStatements and the Wikidata Query Service. Other than Wikibase and the WDQS front end, Wikimedia Deutschland doesn't maintain any of these components.

Why hasn't a particular bugfix been applied to Wikibase?

Wikimedia Deutschland is dedicated to providing critical security fixes to all the Wikibase Suite components as they become available. But due to limited resources, Wikimedia Deutschland can't commit to adding any given new functionality or applying fixes to non-critical bugs in the software we don't maintain. Requests of that kind are best directed to the maintainers of each software component.

How should I report security issues in Wikibase?

Follow the instructions on the Reporting security bugs page.

Administration

How do permissions work in Wikibase?

See Wikibase/Permissions for a detailed explanation and a helpful table.

How can I customize the logo?

You can add your own logo by adding a $wgLogo line to your LocalSettings.php. For specific instructions, check out the corresponding entry in the MediaWiki FAQ.

While Wikibase doesn’t yet offer this functionality natively, there’s a community-developed extension that allows linking to local media in statements instead of media files on Wikimedia Commons. As with all community code, WMDE can’t provide official support for this extension. We hope someday to include similar functionality in the Wikibase core software.

No, Wikibase currently offers no feature allowing users to hide particular items or properties.

A possible workaround would be to set up and maintain two separate Wikibase instances, one that holds the data that can be made public, and a second that holds the data that must remain private.

Technical issues

We cover many technical topics in our maintenance guide, the GitHub repository for our Docker images and our manual install documentation. Below you'll find help on some specific issues reported by users of Wikibase.

Docker

View open issues in our issue tracker:

Query service

Why doesn't the query service update?

Background

Wikibase's WDQS updater will refuse to ingest updates older than 30 days.

But when you start Wikibase's WDQS updater for the first time, the timestamp of the most recent edit is set to 30 days. So if you start a new instance of Wikibase with the query service and its updater, and you then stop the updater without making an edit, you guarantee that the updater will never again ingest an update.

Avoiding the problem

To avoid this problem, simply make a trivial edit after starting your query service & updater for the first time; also avoid gaps in updates longer than 30 days.

Fixing the problem

But if you find yourself in this situation already, you can fix it by stopping the updater and restarting it with the following flag: --start YYYYMMDDHHMMSS (that's four-digit year, two-digit month and day, and hours, minutes and seconds on a 24-hour clock)

The complete invocation should look something like this:

docker exec cluster_name_wdqs_1 bash -c '/wdqs/runUpdate.sh -h http://${WDQS_HOST}:${WDQS_PORT} -- --wikibaseUrl ${WIKIBASE_SCHEME}://${WIKIBASE_HOST} --conceptUri ${WIKIBASE_SCHEME}://${WIKIBASE_HOST} --entityNamespaces ${WDQS_ENTITY_NAMESPACES} --init --start 20210315120000'

See this Phabricator ticket and this Blazegraph thread for more detail.

A less manual solution is underway; see this Phabricator ticket for more.

There are very few languages I can set labels for in a new item.

Make sure you have installed Extension:UniversalLanguageSelector .

What measures can I take to protect my Wikibase instance against spam?

In particular:

Further help

How can I ask more detailed questions about Wikibase?

Join the mailing list or seek help on the community Telegram group.

Where can I report issues or problems with Wikibase?

You’re welcome to raise an issue on our Phabricator instance, where you can log in with your Wikimedia unified account or a Wikitech developer account.

For issues with the Docker install, tag your issue with Wikibase release strategy for optimal visibility.

Before you do, you may want to review the bug report guidelines.

How can I get third-party technical support for my Wikibase instance?

Take a look at the third-party consultants list. (This is a public wiki page; inclusion of a given provider doesn’t constitute an official endorsement by the Wikibase team.)

How can I get more questions and answers added to this FAQ?

If you have a question and answer that you think other Wikibase users might benefit from seeing here, please add it - just as you would edit any wiki page. (You may see further edits from one or more technical writers who will be keeping the page tidy and its categories and style consistent, but don't let that deter you!)

To begin a discussion about a question (and answer) that's not yet ready for print, visit the talk page.

If you have a question that is still seeking an answer, see the previous entries in this very Further help section.