fast & efficient analysis
Conquery is a powerful web-based tool to compose and execute queries against large event-like data sets.
Event data sets typically associate events with a certain subject (i.e. a person or a physical object). One common use case for the data is to identify groups of similar subjects based on the assumption that they share similar events in a given time frame.
Conquery supplies a powerful interface to group event types in a hierarchical concept tree structure. Elements of this tree represent a group of similar subjects. Those subjects can be composed into a powerful query that runs against the data set.
- Maven 3 (optional for building)
- Java JDK 11
- Node.js 18
- curl (to import the test data)
This repository includes the Conquery frontend along with a non-functional backend. It provides a set of example concept trees to demonstrate the capabilities of the UI: The example's use case is to search for groups of actors who appeared in movies of the same genre or received the same award.
Check the README in /frontend
for details.
To test frontend and backend together you can start the setup that is used for end-to-end tests.
First build the backend using conquery/scripts/build_backend_version.sh
or download a JAR from
the release page and place it in conquery/executable/target/
.
Build the frontend by running:
cd frontend
cp .env.example .env
npm install
npm run build
You can then run conquery/scripts/run_e2e_all.sh
to start frontend and backend, and also load the test data required
by cypress end-to-end test or you can run conquery/scripts/run_e2e_backend.sh
and conquery/scripts/run_e2e_frontend.sh
separately without loading any data.
After that, you can visit http://localhost:8081/admin-ui and explore the Admin Panel.
The frontend is accessible at http://localhost:8000 as the default "superuser" implicitly. Since the backend uses a development authentication, you can switch users by passing another users "UserId" as the access token in the query string when accessing the frontend, e.g.: http://localhost:8000/?access_token=user.user2.
The configuration options for the backend are based on Java classes which reside under this package . Usually you provide configuration with in a JSON file that is referenced by the start command:
java -jar conquery.jar standalone config.json
This config.json
represents
configuration root class
.
We continuously improve and extend the documentation on these classes and will provide dedicated articles on specific configurations, such as:
Apart from separate frontend and backend tests, the project also contains end-to-end tests powered by cypress.
To run the end-to-end test locally:
- Make sure you installed all requirements
- From the repo root folder run
conquery/scripts/run_e2e_all.sh
- Wait until the output:
Node server listening on port: 8000
appears - To install cypress and it's dependencies, run
npm install
from an other terminal in theconquery/
folder - Then run
npx cypress open
to start cypress - Then chose a test suite and start it.
For further informations on this and other tests, please refer to the corresponding CI configuration.
To make you own data (in form of CSVs) availiable to conquery some steps are necessary:
- Describe your data table structure with meta data, by generating Import- and Table-JSONs.
- Describe your data content as Concept-JSON to provide query functionallity.
- Preprocess your data from CSV to CQPP.
- Upload everything.
To get a better impression of the single steps, take a look at the Tutorials
It is possible to extend the analytic capabilities by adding custom forms. Custom forms provide an easy way for a user to perform standardized analyses. For more informations, take a look at the guide
This platform was created by InGef – Institut für angewandte Gesundheitsforschung Berlin GmbH in cooperation with bakdata GmbH and Kai Rollmann.