SkillAgentSearch skills...

Cubiql

CubiQL: A GraphQL service for querying multidimensional Linked Data Cubes

Install / Use

/learn @Swirrl/Cubiql
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

CubiQL

Build Status

CubiQL

CubiQL (formerly called graphql-qb) is a proof of concept GraphQL service for querying Linked Data Cubes that was produced as part of the OpenGovIntelligence project, funded by the European Union’s Horizon 2020 research and innovation programme under grant agreement No 693849.

The primary aim of CubiQL is to facilitate the querying of multidimensional QB datasets through GraphQL in an easier more familiar way than through SPARQL.

Running

The project is built with leiningen - after installing it you can build an uberjar with

$ lein uberjar

this will create a cubiql-version-standalone.jar file in the target/uberjar directory. The server can then be started with:

$ java -jar target/uberjar/cubiql-standalone.jar OPTIONS

The available options are:

| Name | Description | Required | Default | |---------------|-----------------------------------------|----------|---------| | port | Port to run server on | no | 8080 | | endpoint | Endpoint for datasets | yes | | | configuration | Configuration for the dataset structure | no | |

For example to run the server against a remote SPARQL endpoint on port 9000:

$ java -jar cubiql-standalone.jar --port 9000 --endpoint http://remote-endpoint/sparql/query

The endpoint can also refer to a local directory containing RDF data files. The repository contains test datasets in the data directory. When running from the root directory this repository can be specified with:

$ java -jar cubiql-standalone.jar --port 9000 --endpoint data

During development lein run can be used instead of building the uberjar:

$ lein run --endpoint data

The server hosts a GraphQL endpoint at http://localhost:PORT/graphql which follows the protocol described here.

Example Queries

The following examples expect the server to be running locally on port 8080 with the example dataset. You can run the server with

$ lein run --endpoint data

Related Skills

View on GitHub
GitHub Stars41
CategoryDevelopment
Updated1y ago
Forks2

Languages

Clojure

Security Score

80/100

Audited on May 31, 2024

No findings