qlever 0.3.8__py3-none-any.whl → 0.4.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of qlever might be problematic. Click here for more details.

qlever/config.py CHANGED
@@ -125,6 +125,7 @@ class QleverConfig:
125
125
  f"want to use it, disable this warning as follows:"
126
126
  f"\n\n"
127
127
  f"export QLEVER_ARGCOMPLETE_CHECK_OFF")
128
+ log.info("")
128
129
 
129
130
  # Create a temporary parser only to parse the `--qleverfile` option, in
130
131
  # case it is given, and to determine whether a command was given that
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: qlever
3
- Version: 0.3.8
3
+ Version: 0.4.0
4
4
  Summary: Script for using the QLever SPARQL engine.
5
5
  Author-email: Hannah Bast <bast@cs.uni-freiburg.de>
6
6
  License: Apache License
@@ -215,13 +215,25 @@ License-File: LICENSE
215
215
  Requires-Dist: psutil
216
216
  Requires-Dist: termcolor
217
217
 
218
- # QLever Control
218
+ # QLever
219
219
 
220
- This is a small repository, which provides a script `qlever` that can control
221
- everything that QLever does. The script is supposed to be very easy to use and
222
- pretty much self-explanatory as you use it. If you use Docker, you don't even
223
- have to download any QLever code (Docker will pull the required images) and the
224
- script is all you need.
220
+ QLever is a very fast SPARQL engine, much faster than most existing engines. It
221
+ can handle graphs with more than hundred billion triples on a single machine
222
+ with moderate resources. See https://qlever.cs.uni-freiburg.de for more
223
+ information and many public SPARQL endpoints that use QLever
224
+
225
+ This project provides a Python script that can control everything that QLever
226
+ does, in particular, creating SPARQL endpoints for arbitrary RDF datasets. It
227
+ is supposed to be very easy to use and self-explanatory as you use it. In
228
+ particular, the tool provides context-sensitive autocompletion of all its
229
+ commands and options. If you use a container system (like Docker or Podman),
230
+ you don't even have to download any QLever code, but the script will download
231
+ the required image for you.
232
+
233
+ NOTE: There has been a major update on 24.03.2024, which changed some of the
234
+ Qleverfile variables and command-line options (all for the better, of course).
235
+ If you encounter any problems, please contact us by opening an issue on
236
+ https://github.com/ad-freiburg/qlever-control/issues.
225
237
 
226
238
  # Installation
227
239
 
@@ -231,17 +243,18 @@ that is not the case and tell you what to do.
231
243
 
232
244
  # Usage
233
245
 
234
- First, create an empty directory, with a name corresponding to the dataset you
235
- want to work with. For the following example, take `olympics`. Go to that
236
- directory, and do the following:
246
+ Create an empty directory, with a name corresponding to the dataset you want to
247
+ work with. For the following example, take `olympics`. Go to that directory
248
+ and do the following. After the first call, `qlever` will tell you how to
249
+ activate autocompletion for all its commands and options (it's very easy, but
250
+ `pip` cannot do that automatically).
237
251
 
238
252
  ```
239
- qlever # Basic help + lists of available pre-configs
240
- qlever setup-config olympics # Get examplary Qleverfile (config file)
241
- qlever get-data # Download the dataset (see below)
253
+ qlever setup-config olympics # Get Qleverfile (config file) for this dataset
254
+ qlever get-data # Download the dataset
242
255
  qlever index # Build index data structures for this dataset
243
256
  qlever start # Start a QLever server using that index
244
- qlever test-query # Launch a test query
257
+ qlever example-queries # Launch some example queries
245
258
  qlever ui # Launch the QLever UI
246
259
  ```
247
260
 
@@ -254,25 +267,34 @@ seconds.
254
267
  Each command will also show you the command line it uses. That way you can
255
268
  learn, on the side, how QLever works internally. If you just want to know the
256
269
  command line for a particular command, without executing it, you can append
257
- "show" like this:
270
+ `--show` like this:
258
271
 
259
272
  ```
260
- qlever index show
273
+ qlever index --show
261
274
  ```
262
275
 
263
- There are many more commands and options, see `qlever --help`. The script
264
- supports autocompletion for all its commands and options. You can (and should)
265
- activate it following the instructions given when you just type `qlever`
266
- without any arguments.
276
+ There are many more commands and options, see `qlever --help` for general help,
277
+ `qlever <command> --help` for help on a specific command, or just the
278
+ autocompletion.
267
279
 
268
280
  # For developers
269
281
 
270
282
  The (Python) code for the script is in the `*.py` files in `src/qlever`. The
271
283
  preconfigured Qleverfiles are in `src/qlever/Qleverfiles`.
272
284
 
273
- If you want to make changes to the script, git clone this repository, make any
274
- changes you want, and run `pip install -e .`. Then you can use the script (with
275
- whatever modifications you have made), just as if you had installed it via `pip
276
- install qlever`. Note that unless you change the directory structure, you have
277
- to execute `pip install -e .` only once (this local installation will not copy
278
- your files but link to them).
285
+ If you want to make changes to the script, or add new commands, do as follows:
286
+
287
+ ```
288
+ git clone https://github.com/ad-freiburg/qlever-control
289
+ cd qlever-control
290
+ pip install -e .
291
+ ```
292
+
293
+ Then you can use `qlever` just as if you had installed it via `pip install
294
+ qlever`. Note that you don't have to rerun `pip install -e .` when you modify
295
+ any of the `*.py` files and not even when you add new commands in
296
+ `src/qlever/commands`. The exceutable created by `pip` simply links and refers
297
+ to the files in your working copy.
298
+
299
+ If you have bug fixes or new useful features or commands, please open a pull
300
+ request. If you have questions or suggestions, please open an issue.
@@ -0,0 +1,30 @@
1
+ qlever/__init__.py,sha256=IyfS1OhlVE7-rjtv6FPlL0R56VxcNsS6KS7NJQhTDIM,1367
2
+ qlever/__main__.py,sha256=MqM37bEzQeJEGUXZvuLcilIvnObZiG2eTGIkfKGpdnw,62016
3
+ qlever/command.py,sha256=yOr0Uc8D8-AM7EjwDsVzbc3KNYjPH-FVOZhIHkqO588,2749
4
+ qlever/config.py,sha256=LOVW8alFCVgZz_GAWm7vnjZVMVE7m3QTecy34lHgjGE,10017
5
+ qlever/containerize.py,sha256=p8g3O3G8a_0XLzSTzl_e5t9dqjbCQ-ippoA8vI2Z9pI,4193
6
+ qlever/log.py,sha256=k9Mq4hxQ_d2k0e-5ZVgcB2XIRhOsGMO9I3rIR7YQyDA,1376
7
+ qlever/qlever_main.py,sha256=k8vIQYK7zqObFNet11iLf--nrLdPooL5amprmlySi4k,2300
8
+ qlever/qleverfile.py,sha256=6Ll81xkzel_s2Ju9ZfBXUGlRfikaAzZM6Do-dTrdo3k,12934
9
+ qlever/util.py,sha256=WM09PMRffUoPpEse4VwK9BzUavFkaB2Bm8KfVWxC3sQ,6161
10
+ qlever/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
+ qlever/commands/add_text_index.py,sha256=dkqYtwgOhgnXiei_eyhBWYCtdAiQUEmjWoa3JMlMb4c,3641
12
+ qlever/commands/cache_stats.py,sha256=6JjueQstAqc8dNfgY8TP2EitFMxdUvCwrcyd7KUEb2o,4157
13
+ qlever/commands/clear_cache.py,sha256=AnE1MOoj1ZexxrRT8FGeBLlv8rtQIVV4DP8VBn5-X-s,2843
14
+ qlever/commands/example_queries.py,sha256=3jlfHyL7pw1OSTuu3fY-23XaRAPIuEdNGW8QnIY2Va8,8644
15
+ qlever/commands/get_data.py,sha256=0fGuRLDB7YofHtpqk0ctq9_de_xeuliSmSZafGXAo1A,1470
16
+ qlever/commands/index.py,sha256=lJhDnweknFZQm1czqPzNyz33EvbjIvOrS4j0wDaJ98o,5663
17
+ qlever/commands/index_stats.py,sha256=ao7_ySyz8MAjUvCbEp3Kj30PsR5x3MBM3ohgEUWdALM,11083
18
+ qlever/commands/log.py,sha256=8Krt3MsTUDapYqVw1zUu5X15SF8mV97Uj0qKOWK8jXk,1861
19
+ qlever/commands/setup_config.py,sha256=mFkEtCPZ6oeVfehjVLrcLttYcPDgtwXHrNIWWzvHOfo,2928
20
+ qlever/commands/start.py,sha256=2rOtk3NmhEs28D5csL_a1BdjSWU9VkcH6AqYT0vdww0,9285
21
+ qlever/commands/status.py,sha256=5S6EdapZEwFKV9cQZtNYcZhMbAXAY-FP6ggjIhfX8ek,1631
22
+ qlever/commands/stop.py,sha256=TZs4bxKHvujlZAU8BZmFjA5eXSZNAa6EeNzvPpEZsuI,4139
23
+ qlever/commands/ui.py,sha256=rV8u017WLbfz0zVT_c9GC4d9v1WWwrTM3kfGONbeCvQ,2499
24
+ qlever/commands/warmup.py,sha256=WOZSxeV8U_F6pEEnAb6YybXLQMxZFTRJXs4BPHUhsmc,1030
25
+ qlever-0.4.0.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
26
+ qlever-0.4.0.dist-info/METADATA,sha256=DuPh4u9Ukjt3-z31WK0mb_zj2OUV6bHnVLn1ESY7Gc0,17049
27
+ qlever-0.4.0.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
28
+ qlever-0.4.0.dist-info/entry_points.txt,sha256=s0iWBHKRUzsJ7B6nVGiyMdOJtiOS84IJMSSxgbNU6LU,85
29
+ qlever-0.4.0.dist-info/top_level.txt,sha256=kd3zsYqiFd0--Czh5XTVkfEq6XR-XgRFW35X0v0GT-c,7
30
+ qlever-0.4.0.dist-info/RECORD,,
@@ -1,34 +0,0 @@
1
- # Qleverfile for DBLP, use with https://github.com/ad-freiburg/qlever-control
2
- #
3
- # qlever get-data # downloads .gz file of size ~3 GB (as of 31.07.2022)
4
- # qlever index # takes ~30 minutes and ~20 GB RAM (on an AMD Ryzen 9 5900X)
5
- # qlever start # starts the server (takes around 2 minutes)
6
- #
7
- # Also builds a text index for fast kewyword search in literals. Without that
8
- # (WITH_TEXT_INDEX = false), the index build takes only ~10 minutes.
9
-
10
- [data]
11
- NAME = dblp
12
- GET_DATA_URL = https://dblp.org/rdf/${index:INPUT_FILES}
13
- GET_DATA_CMD = curl -LO -C - ${GET_DATA_URL}
14
- DESCRIPTION = DBLP computer science bibliography, data from ${GET_DATA_URL}
15
- TEXT_DESCRIPTION = All literals, search with FILTER KEYWORDS(?text, "...")
16
-
17
- [index]
18
- INPUT_FILES = dblp.ttl.gz
19
- CAT_INPUT_FILES = zcat ${INPUT_FILES}
20
- SETTINGS_JSON = { "ascii-prefixes-only": false, "num-triples-per-batch": 1000000 }
21
- TEXT_INDEX = from_literals
22
-
23
- [server]
24
- PORT = 7015
25
- ACCESS_TOKEN = ${data:NAME}_7643543846
26
- MEMORY_FOR_QUERIES = 30G
27
- CACHE_MAX_SIZE = 5G
28
-
29
- [runtime]
30
- SYSTEM = docker
31
- IMAGE = docker.io/adfreiburg/qlever:latest
32
-
33
- [ui]
34
- UI_CONFIG = dblp
@@ -1,33 +0,0 @@
1
- # Qleverfile for DBLP Plus, use with https://github.com/ad-freiburg/qlever-control
2
- #
3
- # qlever get-data downloads .gz file of size ~3 GB (as of 31.07.2022)
4
- # qlever index takes ~30 minutes and ~20 GB RAM (on an AMD Ryzen 9 5900X)
5
- # qlever start starts the server
6
- #
7
- # Also builds a text index for fast kewyword search in literals.
8
-
9
- [data]
10
- NAME = dblp-plus
11
- GET_DATA_CMD = wget -nc -O dblp.ttl.gz https://dblp.org/rdf/dblp.ttl.gz
12
- INDEX_DESCRIPTION = Publication data from https://dblp.org, with affiliations from https://www.wikidata.org and citations from https://opencitations.net
13
- TEXT_DESCRIPTION = All literals, search with FILTER KEYWORDS(?text, "...")
14
-
15
- [index]
16
- INPUT_FILES = dblp.ttl.gz affiliations.nt affiliations.additions.nt citations.nt
17
- CAT_INPUT_FILES = zcat -f ${RDF_FILES}
18
- SETTINGS_JSON = { "ascii-prefixes-only": false, "num-triples-per-batch": 1000000, "prefixes-external": [ "<https://w3id.org", "<https://doi.org", "<http://dx.doi.org" ] }
19
- TEXT_INDEX = from_literals
20
-
21
- [server]
22
- PORT = 7027
23
- ACCESS_TOKEN = ${data:NAME}_169238202
24
- MEMORY_FOR_QUERIES = 20G
25
- CACHE_MAX_SIZE = 10G
26
- CACHE_MAX_SIZE_SINGLE_ENTRY = 2G
27
-
28
- [runtime]
29
- SYSTEM = docker
30
- IMAGE = docker.io/adfreiburg/qlever:latest
31
-
32
- [ui]
33
- UI_CONFIG = dblp-plus
@@ -1,47 +0,0 @@
1
- # Automatically created by the "qlever" script
2
- #
3
- # Modify as you see fit. Beware that some of the values below are executed as
4
- # commands by the script.
5
- #
6
- # If you have never seen a Qleverfile before, we recommend that you look at the
7
- # pre-filled Qleverfiles on http://qlever.cs.uni-freiburg.de/qlever-control/
8
- # Qleverfiles first to get some inspiration. Or execute `qlever setup-config
9
- # <config name>` with a config name of your choice.
10
-
11
- # As a minimum, each dataset needs a name. If you want `qlever get-data` to do
12
- # something meaningful, you need to define GET_DATA_CMD. If you want to use the
13
- # QLever UI, you should define DESCRIPTION (and if you have a text index,
14
- # also TEXT_DESCRIPTION).
15
- [data]
16
- NAME =
17
- # GET_DATA_CMD =
18
- # DESCRIPTION =
19
- # TEXT_DESCRIPTION =
20
-
21
- # CAT_INPUT_FILES produces the data that is piped into QLever's index builder.
22
- # Use SETTINGS_JSON for more advanced configuration settings (see the other
23
- # Qleverfiles for examples).
24
- [index]
25
- # INPUT_FILES =
26
- # CAT_INPUT_FILES = cat ${INPUT_FILES}
27
- # SETTINGS_JSON = {}
28
-
29
- # As a minimum, you need to specify the PORT, where QLever will listen for
30
- # SPARQL queries. If you want to send priviledged commands to the server, you
31
- # need to specify an ACCESS_TOKEN (modify the random number below).
32
- [server]
33
- PORT = 7001
34
- # ACCESS_TOKEN = ${data:NAME}_1234567890
35
-
36
- # With USE_DOCKER = true, the qlever script will download the docker image for
37
- # you and run QLever inside docker containers. With USE_DOCKER = false, you need
38
- # the QLever binaries in the PATH of your sheel.
39
- [runtime]
40
- SYSTEM = true
41
- IMAGE = docker.io/adfreiburg/qlever:latest
42
-
43
- # The UI_CONFIG must be one of the slugs from http://qlever.cs.uni-freiburg.de
44
- # (see the dropdown menu on the top right, the slug is the last part of the URL).
45
- # In partiular, this determines the example queries.
46
- [ui]
47
- UI_CONFIG = default
@@ -1,37 +0,0 @@
1
- # Qleverfile for Olympics, use with https://github.com/ad-freiburg/qlever-control
2
- #
3
- # qlever get-data # takes ~ 10 min to download .nt.gz file of size ~ 8 GB
4
- # qlever index # takes ~ 20 min and ~ 5 GB RAM (on an AMD Ryzen 9 5900X)
5
- # qlever start # starts the server
6
- #
7
- # NOTE: https://data.dnb.de/opendata/ is rather confusing becase of the many
8
- # files. This Qleverfile downloads all the datasets named "Gesamtabzug", except
9
- # bib_lds.nt.gz, which contains incorrectly formatted IRIs. The file
10
- # dnb-all_ldsprov.nt.gz contains invalid floating point literals; to ignore
11
- # them, compile QLever with TurtleParserBase::invalidLiteralsAreSkipped_ = true
12
-
13
- [data]
14
- NAME = dnb
15
- BASE_URL = https://data.dnb.de/opendata
16
- GET_DATA_CMD = curl -L -C - --remote-name-all ${BASE_URL}/authorities-gnd_lds.nt.gz ${BASE_URL}/dnb-all_lds.nt.gz ${BASE_URL}/dnb-all_ldsprov.nt.gz ${BASE_URL}/zdb_lds.nt.gz
17
- DESCRIPTION = DNB data from ${BASE_ULR} (authoritities-gnd_lds, dnb_all_lds, dnb-all_ldsprov, zdb_lds)
18
- TEXT_DESCRIPTION = All literals, search with FILTER KEYWORDS(?var, "...")
19
-
20
- [index]
21
- INPUT_FILES = *.nt.gz
22
- CAT_INPUT_FILES = zcat ${FILE_NAMES}
23
- SETTINGS_JSON = { "ascii-prefixes-only": true, "num-triples-per-batch": 1000000 }
24
- TEXT_INDEX = from_literals
25
-
26
- [server]
27
- PORT = 7035
28
- ACCESS_TOKEN = ${data:NAME}_284732743
29
- MEMORY_FOR_QUERIES = 10G
30
- CACHE_MAX_SIZE = 2G
31
-
32
- [runtime]
33
- SYSTEM = true
34
- IMAGE = docker.io/adfreiburg/qlever:latest
35
-
36
- [ui]
37
- UI_CONFIG = dnb
@@ -1,29 +0,0 @@
1
- # Qleverfile for Fbeasy, use with https://github.com/ad-freiburg/qlever-control
2
- #
3
- # qlever get-data # downloads .gz file of size ~3 GB (as of 31.07.2022)
4
- # qlever index # takes ~10 minutes and ~10 GB RAM (on an AMD Ryzen 7 5900X)
5
- # qlever start # starts the server
6
-
7
- [data]
8
- NAME = fbeasy
9
- DATA_URL = https://freebase-easy.cs.uni-freiburg.de
10
- GET_DATA_CMD = wget -nc ${DATA_URL}/dump/fbeasy.nt
11
- DESCRIPTION = RDF data from ${DATA_URL}, latest version from 18.07.2019
12
- TEXT_DESCRIPTION = Sentences from Wikipedia that mention at least one Freebase entity
13
-
14
- [index]
15
- INPUT_FILES = fbeasy.nt
16
- CAT_INPUT_FILES = cat ${RDF_FILES}
17
- SETTINGS_JSON = { "ascii-prefixes-only": true, "num-triples-per-batch": 10000000 }
18
-
19
- [server]
20
- PORT = 7003
21
- ACCESS_TOKEN = ${data:NAME}_12631403
22
- MEMORY_FOR_QUERIES = 5G
23
-
24
- [runtime]
25
- SYSTEM = docker
26
- IMAGE = docker.io/adfreiburg/qlever:latest
27
-
28
- [ui]
29
- UI_CONFIG = fbeasy
@@ -1,28 +0,0 @@
1
- # Qleverfile for Freebase, use with https://github.com/ad-freiburg/qlever-control
2
- #
3
- # qlever get-data # downloads .gz file of size ~3 GB (as of 31.07.2022)
4
- # qlever index # takes ~4 hours and ~20 GB RAM (on an AMD Ryzen 7 5900X)
5
- # qlever start # starts the server
6
-
7
- [data]
8
- NAME = freebase
9
- DATA_URL = http://commondatastorage.googleapis.com/freebase-public/rdf/freebase-rdf-latest.gz
10
- GET_DATA_CMD = wget -nc ${DATA_URL}
11
- DESCRIPTION = RDF data from ${DATA_URL}, latest (and final) version from 09.08.2015
12
-
13
- [index]
14
- INPUT_FILES = freebase-rdf-latest.gz
15
- CAT_INPUT_FILES = zcat ${RDF_FILES}
16
- SETTINGS_JSON = { "languages-internal": [ "en" ], "prefixes-external": ["<"], "locale": { "language": "en", "country": "US", "ignore-punctuation": true }, "ascii-prefixes-only": false, "num-triples-per-batch": 10000000 }
17
-
18
- [server]
19
- PORT = 7002
20
- ACCESS_TOKEN = ${data:NAME}_12631403
21
- MEMORY_FOR_QUERIES = 10G
22
-
23
- [runtime]
24
- SYSTEM = docker
25
- IMAGE = docker.io/adfreiburg/qlever:latest
26
-
27
- [ui]
28
- UI_CONFIG = freebase
@@ -1,35 +0,0 @@
1
- # Qleverfile for IMDB, use with https://github.com/ad-freiburg/qlever-control
2
- #
3
- # qlever get-data # downloads "basics" and "ratings" of size ~1 GB
4
- # qlever index # takes ~5 minutes and ~5 GB RAM (on an AMD Ryzen 9 5900X)
5
- # qlever start # starts the server (takes a few seconds)
6
- #
7
- # Supports fast kewyword search in literals (WITH_TEXT_INDEX = from_literals).
8
-
9
- [data]
10
- NAME = imdb
11
- IMDB_DATA_URL = https://datasets.imdbws.com
12
- GET_PREFIXES = echo "@prefix imdb: <https://www.imdb.com/> .\n"
13
- GET_IMDB_BASICS = FILE=title.basics.tsv.gz; curl -sLO -C - ${IMDB_DATA_URL}/$${FILE}; zcat $${FILE} | sed 1d | awk -F'\t' '{ gsub("\"", "\\\"", $$3); printf "imdb:%s imdb:id \"%s\" ; imdb:type \"%s\" ; imdb:title \"%s\" .\n", $$1, $$1, $$2, $$3 }'; rm -f $${FILE}
14
- GET_IMDB_RATINGS = FILE=title.ratings.tsv.gz; curl -sLO -C - ${IMDB_DATA_URL}/$${FILE}; zcat $${FILE} | sed 1d | awk -F'\t' '{ printf "imdb:%s imdb:averageRating %s ; imdb:numVotes %s .\n", $$1, $$2, $$3 }'; rm -f $${FILE}
15
- GET_DATA_CMD = (${GET_PREFIXES}; ${GET_IMDB_BASICS}; ${GET_IMDB_RATINGS}) > ${NAME}.ttl
16
- DESCRIPTION = RDF data derived from ${IMDB_DATA_URL}
17
- TEXT_DESCRIPTION = All literals, search with FILTER CONTAINS(?var, "...")
18
-
19
- [index]
20
- INPUT_FILES = ${data:NAME}.ttl
21
- CAT_INPUT_FILES = cat ${FILE_NAMES}
22
- SETTINGS_JSON = { "ascii-prefixes-only": false, "num-triples-per-batch": 1000000 }
23
- TEXT_INDEX = from_literals
24
-
25
- [server]
26
- PORT = 7029
27
- ACCESS_TOKEN = ${data:NAME}_1234567890
28
- MEMORY_FOR_QUERIES = 5G
29
-
30
- [runtime]
31
- SYSTEM = docker
32
- IMAGE = docker.io/adfreiburg/qlever:latest
33
-
34
- [ui]
35
- UI_CONFIG = imdb
@@ -1,31 +0,0 @@
1
- # Qleverfile for Olympics, use with https://github.com/ad-freiburg/qlever-control
2
- #
3
- # qlever get-data # downloads .zip file of size 13 MB, uncompressed to 323 MB
4
- # qlever index # takes ~10 seconds and ~1 GB RAM (on an AMD Ryzen 9 5900X)
5
- # qlever start # starts the server (instant)
6
-
7
- [data]
8
- NAME = olympics
9
- BASE_URL = https://github.com/wallscope/olympics-rdf
10
- GET_DATA_CMD = curl -sLo olympics.zip -C - ${BASE_URL}/raw/master/data/olympics-nt-nodup.zip && unzip -q -o olympics.zip && rm olympics.zip
11
- DESCRIPTION = 120 Years of Olympics, data from ${BASE_URL}
12
- TEXT_DESCRIPTION = All literals, search with FILTER CONTAINS(?var, "...")
13
-
14
- [index]
15
- INPUT_FILES = olympics.nt
16
- CAT_INPUT_FILES = cat ${INPUT_FILES}
17
- SETTINGS_JSON = { "ascii-prefixes-only": false, "num-triples-per-batch": 100000 }
18
-
19
- [server]
20
- PORT = 7019
21
- ACCESS_TOKEN = ${data:NAME}_7643543846
22
- MEMORY_FOR_QUERIES = 5G
23
- CACHE_MAX_SIZE = 2G
24
- TIMEOUT = 30s
25
-
26
- [runtime]
27
- SYSTEM = docker
28
- IMAGE = docker.io/adfreiburg/qlever:latest
29
-
30
- [ui]
31
- UI_CONFIG = olympics
@@ -1,42 +0,0 @@
1
- # Qleverfile for OSM of some country, use with https://github.com/ad-freiburg/qlever-control
2
- #
3
- # qlever get-data # downloads .pbf file from Geofabrik und builds .ttl.bz2 using osm2rdf
4
- # qlever index # for example Germany takes ~30 minutes and ~10 GB RAM (on an AMD Ryzen 9 5900X)
5
- # qlever start # starts the server
6
- #
7
- # Make sure that osm2rdf is in your path. Set CONTINENT and COUNTRY such that
8
- # the link under GET_DATA_CMD exists (the names are usually the canonical
9
- # names). The time for osm2rdf is around the same as that for "qlever index".
10
-
11
- # Indexer settings
12
- CONTINENT = europe
13
- COUNTRY = switzerland
14
- DB = osm-${COUNTRY}
15
- PBF = ${DB}.pbf
16
- RDF_FILES = "${DB}.ttl.bz2"
17
- CAT_FILES = "bzcat ${RDF_FILES}"
18
- WITH_TEXT = false
19
- STXXL_MEMORY = 10
20
- SETTINGS_JSON = '{ "prefixes-external": [ "\"LINESTRING(", "\"MULTIPOLYGON(", "\"POLYGON(" ], "ascii-prefixes-only": false, "num-triples-per-batch": 1000000 }'
21
- GET_DATA_CMD = "wget -nc -O ${PBF} https://download.geofabrik.de/${CONTINENT}/${COUNTRY}-latest.osm.pbf; rm -f ${DB}.*.bz2; ( time /local/data/osm2rdf/build/apps/osm2rdf ${PBF} -o ${DB}.ttl --cache . --write-geometric-relation-statistics ) 2>&1 | tee ${DB}.osm2rdf-log.txt; rm -f spatial-*"
22
- DESCRIPTION = "OSM ${COUNTRY^}, dump from $(ls -l --time-style=+%d.%m.%Y ${PBF} 2> /dev/null | cut -d' ' -f6) with ogc:contains"
23
-
24
- # Server settings
25
- HOSTNAME = $(hostname -f)
26
- SERVER_PORT = 7025
27
- ACCESS_TOKEN = ${DB}_%RANDOM%
28
- MEMORY_FOR_QUERIES = 20G
29
- CACHE_MAX_SIZE = 10G
30
- CACHE_MAX_SIZE_SINGLE_ENTRY = 5G
31
- CACHE_MAX_NUM_ENTRIES = 100
32
-
33
- # QLever binaries
34
- QLEVER_BIN_DIR = %QLEVER_BIN_DIR%
35
- USE_DOCKER = true
36
- QLEVER_DOCKER_IMAGE = adfreiburg/qlever
37
- QLEVER_DOCKER_CONTAINER = qlever.${DB}
38
-
39
- # QLever UI
40
- QLEVERUI_PORT = 7000
41
- QLEVERUI_DIR = qlever-ui
42
- QLEVERUI_CONFIG = osm
@@ -1,36 +0,0 @@
1
- # Qleverfile for OSM Planet, use with the qlever script (pip install qlever)
2
- #
3
- # qlever get-data # takes ~50 mins to download .ttl.bz2 file of ~ 300 GB
4
- # qlever index # takes ~12 hours and ~20 GB RAM (on an AMD Ryzen 9 5900X)
5
- # qlever start # takes a few seconds
6
- #
7
- # For the OSM data of a single country, do `qlever setup-config osm-country`
8
- # and edit the Qleverfile to specify the country,
9
-
10
- [data]
11
- NAME = osm-planet
12
- DATA_URL = https://osm2rdf.cs.uni-freiburg.de/ttl/planet.osm.ttl.bz2
13
- GET_DATA_CMD = curl --location --fail --continue-at - --remote-time --output ${NAME}.ttl.bz2 ${DATA_URL}
14
- VERSION = $$(date -r ${NAME}.ttl.bz2 +"%d.%m.%Y")
15
- DESCRIPTION = OSM Planet, data from ${DATA_URL} version ${VERSION} (complete OSM data, with GeoSPARQL predicates ogc:sfContains and ogc:sfIntersects)
16
-
17
- [index]
18
- INPUT_FILES = ${data:NAME}.ttl.bz2
19
- CAT_INPUT_FILES = lbzcat -f -n 2 ${INPUT_FILES}
20
- STXXL_MEMORY = 20G
21
- SETTINGS_JSON = { "languages-internal": [], "prefixes-external": [""], "ascii-prefixes-only": false, "num-triples-per-batch": 5000000 }
22
-
23
- [server]
24
- PORT = 7007
25
- ACCESS_TOKEN = ${data:NAME}
26
- MEMORY_FOR_QUERIES = 90G
27
- CACHE_MAX_SIZE = 40G
28
- CACHE_MAX_SIZE_SINGLE_ENTRY = 30G
29
- TIMEOUT = 300s
30
-
31
- [runtime]
32
- SYSTEM = docker
33
- IMAGE = docker.io/adfreiburg/qlever:latest
34
-
35
- [ui]
36
- UI_CONFIG = osm-planet
@@ -1,66 +0,0 @@
1
- # Qleverfile for PubChem, use with https://github.com/ad-freiburg/qlever-control
2
- #
3
- # qlever get-data # downloads .gz files of total size 114 GB; see NOTES 2, 3, 4
4
- # qlever index # takes ~5 hours and ~20 GB RAM on an AMD Ryzen 9 5900X
5
- # qlever start # starts the server (a few seconds)
6
- #
7
- # IMPORTANT NOTES:
8
- #
9
- # NOTE 1: The SPARQL endpoint at https://qlever.cs.uni-freiburg.de/pubchem also
10
- # contains data from the following ontologies, which are very useful for
11
- # resolving names of IRIs like `sio:SIO_000008` or `obo:IAO_0000412`, but which
12
- # are not part of the PubChem RDF data. For the corresponding URLs, see
13
- # https://github.com/ad-freiburg/qlever/issues/711#issuecomment-1200479401 .
14
- #
15
- # bao bfo biopax-level3 chebi cheminf cito dublin_core_terms fabio go iao ncit
16
- # obi pr ro sio skos so uo
17
- #
18
- # NOTE 2: The robots.txt file from https://ftp.ncbi.nlm.nih.gov currently
19
- # disallows downloading the PubChem RDF data using `wget --recursive` as in the
20
- # GET_DATA_CMD below. As a workaround, you can write a simple Python script
21
- # (using `BeautifulSoup` and `urllib.parse`) to scrape the URLs from the HTML
22
- # pages and download the files individually. This was done for the latest
23
- # version of https://qlever.cs.uni-freiburg.de/pubchem .
24
- #
25
- # NOTE 3: Many of the TTL files have generic prefix definitions in the middle
26
- # of the file, like @prefix ns23: <http://identifiers.org/biocyc/ARACYC:> .
27
- # See https://github.com/ad-freiburg/qlever/issues/711#issuecomment-1197113953
28
- # This is allowed by the standard, but VERY unusual. For use with QLever,
29
- # convert the TTL files to NT before indexing, see GET_DATA_CMD below.
30
- #
31
- # NOTE 4: Many of the files (TTL as well as NT) contain invalid IRIs because
32
- # spaces and braces are not properly escaped. Here is a simple awk-based script
33
- # to percent-encode spaces and braces in all IRIs in the NT files:
34
- #
35
- # for NTGZ in nt.${DATE}/*.nt.gz; do echo "zcat $NTGZ | sed 's/> />\t/1; s/> />\t/1; s/ \.\$/\t./' | awk 'BEGIN{FS=OFS=\"\t\"} {for (i = 1; i <= 3; i++) if (\$i ~ /^<.*>\$/) { gsub(/ /, \"%20\", \$i); gsub(/\[/, \"%5B\", \$i); gsub(/\]/, \"%5D\", \$i); gsub(/{/, \"%7B\", \$i); gsub(/}/, \"%7D\", \$i); } print }' | sed 's/\t/ /g' | gzip -c > nt.${DATE}.FIXED/$(basename $NTGZ)"; done > fix-nt.commands.txt
36
- # cat fix-nt.commands.txt | parallel
37
-
38
-
39
- [DEFAULT]
40
- NAME = pubchem
41
- DATE = 2024-02-03
42
-
43
- [data]
44
- GET_DATA_URL = ftp://ftp.ncbi.nlm.nih.gov/pubchem/RDF
45
- MAKE_GET_DATA_CMD = curl -s ${GET_DATA_URL}/void.ttl | grep -oP '${GET_DATA_URL}/.*?\.ttl\.gz' | grep -v "nbr[23]d" | while read URL; do echo "echo \"Processing $$URL ...\"; curl --silent --remote-time --output ttl.${DATE}/$$(basename $$URL) $$URL && docker run --rm -v $$(pwd)/ttl.${DATE}:/data stain/jena turtle --output=NT /data/$$(basename $$URL) | sed 's/> />\t/1; s/> />\t/1; s/ \.\$$/\t./' | awk 'BEGIN{FS=OFS=\"\t\"} {for (i = 1; i <= 3; i++) if (\$$i ~ /^<.*>\$$/) { gsub(/ /, \"%20\", \$$i); gsub(/\[/, \"%5B\", \$$i); gsub(/\]/, \"%5D\", \$$i); gsub(/{/, \"%7B\", \$$i); gsub(/}/, \"%7D\", \$$i); } print }' | sed 's/\t/ /g' | gzip -c > nt.${DATE}/$$(basename -s .ttl.gz $$URL).nt.gz"; done > pubchem.get-data-cmds.txt
46
- GET_DATA_CMD = mkdir -p ttl.${DATE} && mkdir -p nt.${DATE} && ${MAKE_GET_DATA_CMD} && cat pubchem.get-data-cmds.txt | parallel --line-buffer
47
- DESCRIPTION = PubChem RDF from ${GET_DATA_URL}, version ${DATE} (all folders except nbr2d and nbr3d)
48
-
49
- [index]
50
- INPUT_FILES = pubchem.additional-ontologies.nt.gz nt.${DATE}/*.nt.gz
51
- CAT_INPUT_FILES = zcat ${FILE_NAMES}
52
- SETTINGS_JSON = { "languages-internal": [], "prefixes-external": [""], "ascii-prefixes-only": false, "num-triples-per-batch": 1000000 }
53
- STXXL_MEMORY = 10G
54
-
55
- [server]
56
- PORT = 7023
57
- ACCESS_TOKEN = ${NAME}_310129823
58
- MEMORY_FOR_QUERIES = 20G
59
- TIMEOUT = 120s
60
-
61
- [runtime]
62
- SYSTEM = docker
63
- IMAGE = docker.io/adfreiburg/qlever:latest
64
-
65
- [ui]
66
- UI_CONFIG = pubchem
@@ -1,39 +0,0 @@
1
- # Qleverfile for Scientists, use with https://github.com/ad-freiburg/qlever-control
2
- #
3
- # qlever get-data # download .zip file of size 79 MB, uncompressed to 318 MB
4
- # qlever index # takes ~20 seconds and ~1 GB RAM (on an AMD Ryzen 9 5900X)
5
- # qlever start # starts the server (instant)
6
- #
7
- # Also builds a text index for keyword search on the literals AND keyword search
8
- # in Wikipedia sentences linked to the RDF data; see TEXT_DESCRIPTION below.
9
-
10
- # Indexer settings
11
- DB = scientists
12
- RDF_FILES = "${DB}.nt"
13
- CAT_FILES = "cat ${RDF_FILES}"
14
- WITH_TEXT_INDEX = from_text_records_and_literals
15
- STXXL_MEMORY = 1G
16
- SETTINGS_JSON = '{ "ascii-prefixes-only": true, "num-triples-per-batch": 100000 }'
17
- GET_DATA_CMD = "wget https://github.com/ad-freiburg/qlever/raw/master/e2e/scientist-collection.zip && unzip -j scientist-collection.zip && rm -f scientist-collection.zip"
18
- INDEX_DESCRIPTION = "Scientist collection from QLever's end-to-end test, see https://github.com/ad-freiburg/qlever/tree/master/e2e"
19
- TEXT_DESCRIPTION = "Literals (use FILTER CONTAINS) and Wikipedia articles (use ql:contains-entity and ql:contains-word)"
20
-
21
- # Server settings
22
- HOSTNAME = $(hostname -f)
23
- SERVER_PORT = 7020
24
- ACCESS_TOKEN = ${DB}_%RANDOM%
25
- MEMORY_FOR_QUERIES = 5G
26
- CACHE_MAX_SIZE = 2G
27
- CACHE_MAX_SIZE_SINGLE_ENTRY = 1G
28
- CACHE_MAX_NUM_ENTRIES = 100
29
-
30
- # QLever binaries
31
- QLEVER_BIN_DIR = %QLEVER_BIN_DIR%
32
- USE_DOCKER = true
33
- QLEVER_DOCKER_IMAGE = adfreiburg/qlever
34
- QLEVER_DOCKER_CONTAINER = qlever.scientists
35
-
36
- # QLever UI
37
- QLEVERUI_PORT = 7000
38
- QLEVERUI_DIR = qlever-ui
39
- QLEVERUI_CONFIG = default
@@ -1,41 +0,0 @@
1
- # Qleverfile for UniProt, use with https://github.com/ad-freiburg/qlever-control
2
- #
3
- # qlever get-data # download RDFXML and convert to NT (around 1 TB each)
4
- # qlever index # takes ~ 1.5 days and ~40 GB RAM (on an AMD Ryzen 9 5900X)
5
- # qlever start # starts the server (takes a few second)
6
- #
7
- # Install packages: sudo apt install -y libxml2-utils parallel xz-utils pv
8
- # Install manually: Apache Jena binaries (https://dlcdn.apache.org/jena/binaries)
9
- #
10
- # Set DATE to the date of the latest release
11
- #
12
- # IMPORTANT: Build on SSD, disk space required: ~ 10 T. For running the server,
13
- # the uniprot.index.???.meta files can be on HDD.
14
-
15
- [data]
16
- NAME = uniprot
17
- DATE = 2024-01-24
18
- DOWNLOAD_URL = https://ftp.uniprot.org/pub/databases/uniprot/current_release/rdf
19
- GET_RDFXML_CMD = mkdir -p rdf.${DATE} && curl -s ${DOWNLOAD_URL}/RELEASE.meta4 | sed "s/<metalink.*/<metalink>/" | xmllint --xpath "/metalink/files/file/url[@location=\"ch\"]/text()" - | while read URL; do wget --no-verbose -P rdf.${DATE} $$URL 2>&1 | tee -a uniprot.download-log; done
20
- RDFXML2NT_CMD = mkdir -p nt.${DATE} && for RDFXML in rdf.${DATE}/*.{owl,owl.xz,rdf,rdf.xz}; do echo "xzcat -f $$RDFXML | rdfxml --output=nt 2> /dev/null | xz -c > nt.${DATE}/$$(basename $$RDFXML | sed 's/\(rdf\|rdf.xz\|owl\|owl.xz\)$$/nt.xz/') && echo 'DONE converting $$RDFXML'"; done | parallel
21
- GET_DATA_CMD = rdfxml --help && date > ${NAME}.get-data.begin-date && ${GET_RDFXML_CMD} && ${RDFXML2NT_CMD} && date > ${NAME}.get-data.end-date
22
- DESCRIPTION = Complete UniProt data from ${DOWNLOAD_URL}, version ${DATE}
23
-
24
- [index]
25
- INPUT_FILES = nt.${data:DATE}/*.nt.xz
26
- CAT_INPUT_FILES = parallel --tmpdir . -j 4 'xzcat -f {}' ::: nt.${data:DATE}/*.nt.xz | pv -q -B 5G
27
- SETTINGS_JSON = { "languages-internal": [], "prefixes-external": [""], "locale": { "language": "en", "country": "US", "ignore-punctuation": true }, "ascii-prefixes-only": true, "num-triples-per-batch": 25000000 }
28
- STXXL_MEMORY = 60G
29
-
30
- [server]
31
- PORT = 7018
32
- ACCESS_TOKEN = ${data:NAME}_1369924040
33
- MEMORY_FOR_QUERIES = 20G
34
- CACHE_MAX_SIZE = 10G
35
-
36
- [runtime]
37
- SYSTEM = docker
38
- IMAGE = docker.io/adfreiburg/qlever:latest
39
-
40
- [ui]
41
- UI_CONFIG = uniprot
@@ -1,31 +0,0 @@
1
- # Qleverfile for VVZ, use with https://github.com/ad-freiburg/qlever-control
2
- #
3
- # qlever get-data # this requires a separate internal tool
4
- # qlever index # builds the index (takes a few seconds)
5
- # qlever start # starts the server (takes a few seconds)
6
- #
7
- # Also builds a text index for fast kewyword search in literals.
8
-
9
- [data]
10
- NAME = vvz
11
- GET_DATA_CMD = echo "This requires a separate tool"
12
- DESCRIPTION = VVZ Uni Freiburg, selected faculties
13
- TEXT_DESCRIPTION = All literals, search with FILTER KEYWORDS(?text, "...")
14
-
15
- [index]
16
- INPUT_FILES = vvz.ttl
17
- CAT_INPUT_FILES = cat ${FILE_NAMES}
18
- SETTINGS_JSON = { "ascii-prefixes-only": true, "num-triples-per-batch": 1000000 }
19
- TEXT_INDEX = from_literals
20
-
21
- [server]
22
- PORT = 7041
23
- ACCESS_TOKEN = ${data:NAME}_8736426534
24
- MEMORY_FOR_QUERIES = 10G
25
-
26
- [runtime]
27
- SYSTEM = docker
28
- IMAGE = docker.io/adfreiburg/qlever:latest
29
-
30
- [ui]
31
- UI_CONFIG = vvz
@@ -1,30 +0,0 @@
1
- # Qleverfile for Wikidata, use with https://github.com/ad-freiburg/qlever-control
2
- #
3
- # qlever get-data downloads two .bz2 files of total size ~100 GB
4
- # qlever index takes ~7 hours and ~40 GB RAM (on an AMD Ryzen 9 5900X)
5
- # qlever start starts the server (takes around 30 seconds)
6
-
7
- [data]
8
- NAME = wikidata
9
- GET_DATA_URL = https://dumps.wikimedia.org/wikidatawiki/entities
10
- GET_DATA_CMD = curl -LO -C - ${GET_DATA_URL}/latest-all.ttl.bz2 ${GET_DATA_URL}/latest-lexemes.ttl.bz2
11
- DESCRIPTION = "Full Wikidata dump from ${GET_DATA_URL} (latest-all.ttl.bz2 and latest-lexemes.ttl.bz2)"
12
-
13
- [index]
14
- INPUT_FILES = latest-lexemes.ttl.bz2 latest-all.ttl.bz2
15
- CAT_INPUT_FILES = bzcat ${FILE_NAMES}
16
- SETTINGS_JSON = { "languages-internal": [], "prefixes-external": [""], "locale": { "language": "en", "country": "US", "ignore-punctuation": true }, "ascii-prefixes-only": false, "num-triples-per-batch": 5000000 }
17
- STXXL_MEMORY = 10G
18
-
19
- [server]
20
- PORT = 7001
21
- ACCESS_TOKEN = ${data:NAME}_372483264
22
- MEMORY_FOR_QUERIES = 20G
23
- CACHE_MAX_SIZE = 10G
24
-
25
- [runtime]
26
- SYSTEM = docker
27
- IMAGE = docker.io/adfreiburg/qlever:latest
28
-
29
- [ui]
30
- UI_CONFIG = wikidata
@@ -1,40 +0,0 @@
1
- # Qleverfile for WikiPathways, use with https://github.com/ad-freiburg/qlever-control
2
- #
3
- # qlever get-data # downloads .gz file of size ~100 MB (as of 24.02.2024)
4
- # qlever index # takes ~20 seconds and little RAM (on an AMD Ryzen 9 5900X)
5
- # qlever start # starts the server (takes around 2 minutes)
6
- #
7
- # Limitations: does not include the ontologies (WP, GPML, ChEBI, PW, CLO, ...) yet
8
-
9
- [data]
10
- NAME = wikipathways
11
- RELEASE = 20231210
12
- GET_DATA_URL = https://data.wikipathways.org/${RELEASE}/rdf
13
- GET_DATA_CMD = wget -O wikipathways-rdf-void.ttl ${GET_DATA_URL}/wikipathways-${RELEASE}-rdf-void.ttl && \
14
- wget ${GET_DATA_URL}/wikipathways-${RELEASE}-rdf-wp.zip && \
15
- unzip -qq -c wikipathways-${RELEASE}-rdf-wp.zip -x wp/wpOntology.ttl > wikipathways-rdf-wp.ttl && \
16
- wget ${GET_DATA_URL}/wikipathways-${RELEASE}-rdf-gpml.zip &&
17
- unzip -qq -c wikipathways-${RELEASE}-rdf-gpml.zip -x gpml/gpmlOntology.ttl > wikipathways-rdf-gpml.ttl && \
18
- wget ${GET_DATA_URL}/wikipathways-${RELEASE}-rdf-authors.zip && \
19
- unzip -qq -c wikipathways-${RELEASE}-rdf-authors.zip > wikipathways-rdf-authors.ttl && \
20
- cat wikipathways-rdf-*.ttl | grep ^@prefix | tr -s ' ' | sort -u > ${NAME}.prefix-definitions
21
- DESCRIPTION = WikiPathways RDF, from ${GET_DATA_URL}
22
- TEXT_DESCRIPTION = All literals, search with FILTER KEYWORDS(?text, "...")
23
-
24
- [index]
25
- INPUT_FILES = ${data:NAME}.prefix-definitions wikipathways-rdf-wp.ttl wikipathways-rdf-gpml.ttl wikipathways-rdf-void.ttl wikipathways-rdf-authors.ttl
26
- CAT_INPUT_FILES = cat ${FILE_NAMES}
27
- SETTINGS_JSON = { "ascii-prefixes-only": false, "num-triples-per-batch": 1000000, "prefixes-external": [""] }
28
- TEXT_INDEX = from_literals
29
-
30
- [server]
31
- PORT = 7040
32
- ACCESS_TOKEN = ${data:NAME}_7643543846
33
- MEMORY_FOR_QUERIES = 5G
34
-
35
- [runtime]
36
- SYSTEM = docker
37
- IMAGE = docker.io/adfreiburg/qlever:latest
38
-
39
- [ui]
40
- UI_CONFIG = wikipathways
@@ -1,33 +0,0 @@
1
- # Qleverfile for YAGO 4, use with https://github.com/ad-freiburg/qlever-control
2
- #
3
- # qlever get-data # downloads 8 nt.gz file of size ~60 GB (as of 12.03.2020)
4
- # qlever index # takes ~4 hours and ~10 GB RAM (on an AMD Ryzen 9 5900X)
5
- # qlever start # starts the server
6
-
7
- # NOTE concerning GET_DATA_CMD: The triples from wd-annotated-facts are
8
- # contained in wd-facts. The "full types" are the YAGO types, the "simple
9
- # types" are the schema.org types. They don't interfere with each other because
10
- # they have distinct prefixes.
11
-
12
- [data]
13
- NAME = yago-4
14
- GET_DATA_CMD = curl --location --continue-at - --remote-name-all https://yago-knowledge.org/data/yago4/full/2020-02-24/yago-wd-class.nt.gz https://yago-knowledge.org/data/yago4/full/2020-02-24/yago-wd-facts.nt.gz https://yago-knowledge.org/data/yago4/full/2020-02-24/yago-wd-full-types.nt.gz https://yago-knowledge.org/data/yago4/full/2020-02-24/yago-wd-labels.nt.gz https://yago-knowledge.org/data/yago4/full/2020-02-24/yago-wd-sameAs.nt.gz https://yago-knowledge.org/data/yago4/full/2020-02-24/yago-wd-schema.nt.gz https://yago-knowledge.org/data/yago4/full/2020-02-24/yago-wd-shapes.nt.gz https://yago-knowledge.org/data/yago4/full/2020-02-24/yago-wd-simple-types.nt.gz
15
- DESCRIPTION = "Full dump from https://yago-knowledge.org/downloads/yago-4, version 12.03.2020"
16
-
17
- [index]
18
- INPUT_FILES = yago-wd-*.nt.gz
19
- CAT_INPUT_FILES = zcat ${FILE_NAMES}
20
- SETTINGS_JSON = { "languages-internal": ["en"], "locale": { "language": "en", "country": "US", "ignore-punctuation": true }, "ascii-prefixes-only": false, "num-triples-per-batch": 5000000 }
21
- STXXL_MEMORY = 10G
22
-
23
- [server]
24
- PORT = 9004
25
- ACCESS_TOKEN = ${DB}_2347348732
26
- MEMORY_FOR_QUERIES = 30G
27
-
28
- [runtime]
29
- SYSTEM = docker
30
- IMAGE = docker.io/adfreiburg/qlever:latest
31
-
32
- [ui]
33
- UI_CONFIG = yago-4
@@ -1,19 +0,0 @@
1
- #!/usr/bin/env python3
2
- # PYTHON_ARGCOMPLETE_OK
3
-
4
- import argparse
5
- import argcomplete
6
- import os
7
- import sys
8
-
9
- def main():
10
- parser = argparse.ArgumentParser()
11
- parser.add_argument('--foo', required=True, help='foo help')
12
- comp_line = os.getenv('COMP_LINE', '[not in AC mode]')
13
- print('COMP_LINE: %s' % comp_line, file=sys.stderr)
14
- argcomplete.autocomplete(parser)
15
- args = parser.parse_args()
16
- print(args.foo)
17
-
18
- if __name__ == '__main__':
19
- main()
qlever/customhelp-test.py DELETED
@@ -1,41 +0,0 @@
1
- #!/usr/bin/env python3
2
- # PYTHON_ARGCOMPLETE_OK
3
-
4
- import argparse
5
- import argcomplete
6
-
7
- # class MyHelpFormatter(argparse.HelpFormatter):
8
- # def _format_action_invocation(self, action):
9
- # if not action.option_strings:
10
- # default = self._get_default_metavar_for_positional(action)
11
- # metavar = getattr(action, 'metavar', default)
12
- # return metavar
13
- # else:
14
- # parts = []
15
- # if action.nargs == 0:
16
- # parts.extend(action.option_strings)
17
- # else:
18
- # default = self._get_default_metavar_for_optional(action)
19
- # args_string = self._format_args(action, default)
20
- # parts.extend(action.option_strings)
21
- # parts[-1] += ' ' + args_string
22
- # return ', '.join(parts)
23
- #
24
- class MyHelpAction(argparse.Action):
25
- def __call__(self, parser, namespace, values, option_string=None):
26
- parser.print_help()
27
- parser.print_help()
28
- parser.exit()
29
-
30
- def main():
31
- parser = argparse.ArgumentParser(description='This is MY script')
32
- parser.add_argument('--foo', required=True, help='foo help')
33
- # parser.add_argument('--help', action=MyHelpAction, nargs=0,
34
- # help='this is MY help message')
35
- # parser.add_argument('--help', action=MyHelpAction, help='show this help message and exit')
36
- argcomplete.autocomplete(parser)
37
- args = parser.parse_args()
38
- print(args.foo)
39
-
40
- if __name__ == '__main__':
41
- main()
qlever/test_copilot.py DELETED
@@ -1 +0,0 @@
1
- if __name__ == "
@@ -1,50 +0,0 @@
1
- qlever/__init__.py,sha256=IyfS1OhlVE7-rjtv6FPlL0R56VxcNsS6KS7NJQhTDIM,1367
2
- qlever/__main__.py,sha256=MqM37bEzQeJEGUXZvuLcilIvnObZiG2eTGIkfKGpdnw,62016
3
- qlever/argcomplete-test.py,sha256=MJosqJc313c9aiPfuGJiaI2vwCf-dwAu-SVZ2TX5Wzk,463
4
- qlever/command.py,sha256=yOr0Uc8D8-AM7EjwDsVzbc3KNYjPH-FVOZhIHkqO588,2749
5
- qlever/config.py,sha256=BuAIWKq14KFHWBWrKz5OdD7OnvIvS9RHwboxV5l20mU,9992
6
- qlever/containerize.py,sha256=p8g3O3G8a_0XLzSTzl_e5t9dqjbCQ-ippoA8vI2Z9pI,4193
7
- qlever/customhelp-test.py,sha256=fYLu-KMCHJQkQ8-XE6PtaYqPTMwI-Ew5B_EnIdHKxv4,1505
8
- qlever/log.py,sha256=k9Mq4hxQ_d2k0e-5ZVgcB2XIRhOsGMO9I3rIR7YQyDA,1376
9
- qlever/qlever_main.py,sha256=k8vIQYK7zqObFNet11iLf--nrLdPooL5amprmlySi4k,2300
10
- qlever/qleverfile.py,sha256=6Ll81xkzel_s2Ju9ZfBXUGlRfikaAzZM6Do-dTrdo3k,12934
11
- qlever/test_copilot.py,sha256=NL2YMvBY0myCyxIoppa7dgN_vr54r6Pe8Mmc41OfelI,17
12
- qlever/util.py,sha256=WM09PMRffUoPpEse4VwK9BzUavFkaB2Bm8KfVWxC3sQ,6161
13
- qlever/Qleverfiles/Qleverfile.dblp,sha256=SFjBD20aOSWod4mEQnxHSDWdInoE_EFp2nyMw7ev7ZA,1167
14
- qlever/Qleverfiles/Qleverfile.dblp-plus,sha256=Dwd9pK1vPcelKfw6sA-IuyhbZ6yIxOh6_84JgPYnB9Q,1332
15
- qlever/Qleverfiles/Qleverfile.default,sha256=mljl6I1RCkpIWOqMQwjzPZIsarYQx1R0mIlc583KuqU,1869
16
- qlever/Qleverfiles/Qleverfile.dnb,sha256=yw4MmLsDPP3P5JWPgJwgPJh66TqwkyUXbQR5lSf5oHc,1511
17
- qlever/Qleverfiles/Qleverfile.fbeasy,sha256=jeztW4gFpWL_w1nCH5qGHeZyZv2lz_kG6f1G3r3DkJ4,974
18
- qlever/Qleverfiles/Qleverfile.freebase,sha256=k6PqYrtHTBr0EydObm1Hg9QWyAAM9fXkdcjhReDg0fM,1035
19
- qlever/Qleverfiles/Qleverfile.imdb,sha256=uL5XlPwX01AmH-j6_Bc-PRm2fuPxGSIu8NaDflY525U,1623
20
- qlever/Qleverfiles/Qleverfile.olympics,sha256=5w9BOFwEBhdSzPz-0LRxwhv-7Gj6xbF539HOXr3cqD0,1088
21
- qlever/Qleverfiles/Qleverfile.osm-country,sha256=UnlkckSXJDrknZORlU-Hdj_J82U4kStl1aRctCc5n6M,1953
22
- qlever/Qleverfiles/Qleverfile.osm-planet,sha256=2RilNix0fplN3GsNNyOu3GzmUss1Pq7586WKOFAQnSs,1400
23
- qlever/Qleverfiles/Qleverfile.pubchem,sha256=bOhiJKUxzDiAm1UyXFPDQLYTqGc9jM8240fhobYLij0,3898
24
- qlever/Qleverfiles/Qleverfile.scientists,sha256=oFhzURcRFciA27GZ-ux_hsDe0esBLobWHC6h_Vf2xy8,1735
25
- qlever/Qleverfiles/Qleverfile.uniprot,sha256=FS8QLHvujbjUYyU2Ma0PRgfCWlulviaGLc_1csxpuic,2201
26
- qlever/Qleverfiles/Qleverfile.vvz,sha256=ftdMj5dCC9jAlFtNt2WR7kP30w0itT_iYtj5HoUVyWU,931
27
- qlever/Qleverfiles/Qleverfile.wikidata,sha256=fhWSChZTH3c2y14kgP1P5Duq1SsewTOK3wETf6RRmI8,1172
28
- qlever/Qleverfiles/Qleverfile.wikipathways,sha256=qWjfT-CVQCgRfN6fXPwBORMbjzXS_xsJ2DoCamQI7Rs,2045
29
- qlever/Qleverfiles/Qleverfile.yago-4,sha256=GikYPqChCtbAyZOVqszmVUwgQxSePTcgM8xw2b_21e4,1849
30
- qlever/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
31
- qlever/commands/add_text_index.py,sha256=dkqYtwgOhgnXiei_eyhBWYCtdAiQUEmjWoa3JMlMb4c,3641
32
- qlever/commands/cache_stats.py,sha256=6JjueQstAqc8dNfgY8TP2EitFMxdUvCwrcyd7KUEb2o,4157
33
- qlever/commands/clear_cache.py,sha256=AnE1MOoj1ZexxrRT8FGeBLlv8rtQIVV4DP8VBn5-X-s,2843
34
- qlever/commands/example_queries.py,sha256=3jlfHyL7pw1OSTuu3fY-23XaRAPIuEdNGW8QnIY2Va8,8644
35
- qlever/commands/get_data.py,sha256=0fGuRLDB7YofHtpqk0ctq9_de_xeuliSmSZafGXAo1A,1470
36
- qlever/commands/index.py,sha256=lJhDnweknFZQm1czqPzNyz33EvbjIvOrS4j0wDaJ98o,5663
37
- qlever/commands/index_stats.py,sha256=ao7_ySyz8MAjUvCbEp3Kj30PsR5x3MBM3ohgEUWdALM,11083
38
- qlever/commands/log.py,sha256=8Krt3MsTUDapYqVw1zUu5X15SF8mV97Uj0qKOWK8jXk,1861
39
- qlever/commands/setup_config.py,sha256=mFkEtCPZ6oeVfehjVLrcLttYcPDgtwXHrNIWWzvHOfo,2928
40
- qlever/commands/start.py,sha256=2rOtk3NmhEs28D5csL_a1BdjSWU9VkcH6AqYT0vdww0,9285
41
- qlever/commands/status.py,sha256=5S6EdapZEwFKV9cQZtNYcZhMbAXAY-FP6ggjIhfX8ek,1631
42
- qlever/commands/stop.py,sha256=TZs4bxKHvujlZAU8BZmFjA5eXSZNAa6EeNzvPpEZsuI,4139
43
- qlever/commands/ui.py,sha256=rV8u017WLbfz0zVT_c9GC4d9v1WWwrTM3kfGONbeCvQ,2499
44
- qlever/commands/warmup.py,sha256=WOZSxeV8U_F6pEEnAb6YybXLQMxZFTRJXs4BPHUhsmc,1030
45
- qlever-0.3.8.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
46
- qlever-0.3.8.dist-info/METADATA,sha256=y6kTTCztfGGJDnQvAk1rWFNeCBTOUEEhRrQpnJjiC9Y,16097
47
- qlever-0.3.8.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
48
- qlever-0.3.8.dist-info/entry_points.txt,sha256=s0iWBHKRUzsJ7B6nVGiyMdOJtiOS84IJMSSxgbNU6LU,85
49
- qlever-0.3.8.dist-info/top_level.txt,sha256=kd3zsYqiFd0--Czh5XTVkfEq6XR-XgRFW35X0v0GT-c,7
50
- qlever-0.3.8.dist-info/RECORD,,
File without changes