jeroen / query-engine
Answers Ask queries against a collection of Wikibase entities
Requires
- php: >=5.5.0
- ask/ask: ~1.0
- data-values/data-values: ~1.0|~0.1
- data-values/geo: ~1.1
- data-values/iri: ~0.1
- data-values/number: ~0.6
- data-values/time: ~0.8
- doctrine/dbal: ~2.5
- jeroen/wikibase-data-fixtures: @stable
- psr/log: ~1.0
- wikibase/data-model: ~4.0
Requires (Dev)
- ext-sqlite3: *
- symfony/console: ~2.4
Suggests
- ext-pcntl: Allows graceful interruption of the entities importer
- symfony/console: Allows use of the command line interface
README
On Packagist:
Wikibase QueryEngine is a library that supports running Ask queries against a collection of Wikibase entities.
Recent changes can be found in the release notes.
Note that this is a fork of the original Wikibase Query Engine, which has the wikibase/query-engine
package name. This version is ahead of the original, which is no longer actively developed by its
original maintainer: Wikimedia Deutchland.
Installation
You can use Composer to download and install this package as well as its dependencies. Alternatively you can simply clone the git repository and take care of loading yourself.
Composer
To add this package as a local, per-project dependency to your project, simply add a
dependency on jeroen/query-engine
to your project's composer.json
file.
Here is a minimal example of a composer.json
file that just defines a dependency on
Wikibase QueryEngine 1.x:
{ "require": { "jeroen/query-engine": "~1.0" } }
Manual
Get the Wikibase QueryEngine code, either via git, or some other means. Also get all dependencies. You can find a list of the dependencies in the "require" section of the composer.json file. Load all dependencies and the load the Wikibase QueryEngine library by including its entry point: WikibaseQueryEngine.php.
Running the tests
For tests only
composer test
For style checks only
composer cs
For a full CI run
composer ci
Usage
CLI
To get a list of available CLI commands, execute this in the root directory:
php queryengine
SQLStore internal structure
Table: entities
- id, string: serialization of the entities id
- type, string: type of the entity
Snak tables
All snak tables have the following fields:
- row_id, int
- subject_id, string
- subject_type, string
- property_id, string
- statement_rank, int
The schema definition is dynamically build in StoreSchema.php.
Value snak tables
There is a value snak table per type of data value the store is configured to support.
All data value tables have a set of additional fields that are specific to the type of data value they store. For the types of data value natively supported by the store.
Valueless snak tables
Additional fields:
- snak_type, int: type of the snak, ie "no value"
Authors
Wikibase QueryEngine has been written by Jeroen De Dauw, and by the Wikidata team for the Wikidata project.
Links
- Wikibase QueryEngine on Packagist
- Wikibase QueryEngine on Ohloh
- Wikibase QueryEngine on GitHub
- TravisCI build status