qlever 0.5.28__tar.gz → 0.5.31__tar.gz
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-0.5.28/src/qlever.egg-info → qlever-0.5.31}/PKG-INFO +1 -1
- {qlever-0.5.28 → qlever-0.5.31}/pyproject.toml +1 -1
- {qlever-0.5.28 → qlever-0.5.31}/src/qlever/Qleverfiles/Qleverfile.dblp +2 -1
- {qlever-0.5.28 → qlever-0.5.31}/src/qlever/Qleverfiles/Qleverfile.ohm-planet +1 -1
- {qlever-0.5.28 → qlever-0.5.31}/src/qlever/Qleverfiles/Qleverfile.osm-country +2 -2
- {qlever-0.5.28 → qlever-0.5.31}/src/qlever/Qleverfiles/Qleverfile.osm-planet +5 -5
- qlever-0.5.31/src/qlever/Qleverfiles/Qleverfile.osm-planet-from-pbf +42 -0
- {qlever-0.5.28 → qlever-0.5.31}/src/qlever/Qleverfiles/Qleverfile.uniprot +2 -2
- {qlever-0.5.28 → qlever-0.5.31}/src/qlever/commands/benchmark_queries.py +2 -5
- {qlever-0.5.28 → qlever-0.5.31}/src/qlever/commands/index.py +2 -2
- {qlever-0.5.28 → qlever-0.5.31}/src/qlever/commands/settings.py +1 -0
- {qlever-0.5.28 → qlever-0.5.31}/src/qlever/commands/start.py +1 -1
- {qlever-0.5.28 → qlever-0.5.31}/src/qlever/qleverfile.py +13 -9
- {qlever-0.5.28 → qlever-0.5.31/src/qlever.egg-info}/PKG-INFO +1 -1
- {qlever-0.5.28 → qlever-0.5.31}/src/qlever.egg-info/SOURCES.txt +1 -0
- qlever-0.5.31/src/qlever.egg-info/top_level.txt +1 -0
- qlever-0.5.28/src/qlever.egg-info/top_level.txt +0 -6
- {qlever-0.5.28 → qlever-0.5.31}/LICENSE +0 -0
- {qlever-0.5.28 → qlever-0.5.31}/README.md +0 -0
- {qlever-0.5.28 → qlever-0.5.31}/setup.cfg +0 -0
- {qlever-0.5.28 → qlever-0.5.31}/src/qlever/Qleverfiles/Qleverfile.dblp-plus +0 -0
- {qlever-0.5.28 → qlever-0.5.31}/src/qlever/Qleverfiles/Qleverfile.dbpedia +0 -0
- {qlever-0.5.28 → qlever-0.5.31}/src/qlever/Qleverfiles/Qleverfile.default +0 -0
- {qlever-0.5.28 → qlever-0.5.31}/src/qlever/Qleverfiles/Qleverfile.dnb +0 -0
- {qlever-0.5.28 → qlever-0.5.31}/src/qlever/Qleverfiles/Qleverfile.fbeasy +0 -0
- {qlever-0.5.28 → qlever-0.5.31}/src/qlever/Qleverfiles/Qleverfile.freebase +0 -0
- {qlever-0.5.28 → qlever-0.5.31}/src/qlever/Qleverfiles/Qleverfile.imdb +0 -0
- {qlever-0.5.28 → qlever-0.5.31}/src/qlever/Qleverfiles/Qleverfile.olympics +0 -0
- {qlever-0.5.28 → qlever-0.5.31}/src/qlever/Qleverfiles/Qleverfile.orkg +0 -0
- {qlever-0.5.28 → qlever-0.5.31}/src/qlever/Qleverfiles/Qleverfile.pubchem +0 -0
- {qlever-0.5.28 → qlever-0.5.31}/src/qlever/Qleverfiles/Qleverfile.scientists +0 -0
- {qlever-0.5.28 → qlever-0.5.31}/src/qlever/Qleverfiles/Qleverfile.vvz +0 -0
- {qlever-0.5.28 → qlever-0.5.31}/src/qlever/Qleverfiles/Qleverfile.wikidata +0 -0
- {qlever-0.5.28 → qlever-0.5.31}/src/qlever/Qleverfiles/Qleverfile.wikipathways +0 -0
- {qlever-0.5.28 → qlever-0.5.31}/src/qlever/Qleverfiles/Qleverfile.yago-4 +0 -0
- {qlever-0.5.28 → qlever-0.5.31}/src/qlever/__init__.py +0 -0
- {qlever-0.5.28 → qlever-0.5.31}/src/qlever/command.py +0 -0
- {qlever-0.5.28 → qlever-0.5.31}/src/qlever/commands/__init__.py +0 -0
- {qlever-0.5.28 → qlever-0.5.31}/src/qlever/commands/add_text_index.py +0 -0
- {qlever-0.5.28 → qlever-0.5.31}/src/qlever/commands/cache_stats.py +0 -0
- {qlever-0.5.28 → qlever-0.5.31}/src/qlever/commands/clear_cache.py +0 -0
- {qlever-0.5.28 → qlever-0.5.31}/src/qlever/commands/extract_queries.py +0 -0
- {qlever-0.5.28 → qlever-0.5.31}/src/qlever/commands/get_data.py +0 -0
- {qlever-0.5.28 → qlever-0.5.31}/src/qlever/commands/index_stats.py +0 -0
- {qlever-0.5.28 → qlever-0.5.31}/src/qlever/commands/log.py +0 -0
- {qlever-0.5.28 → qlever-0.5.31}/src/qlever/commands/query.py +0 -0
- {qlever-0.5.28 → qlever-0.5.31}/src/qlever/commands/setup_config.py +0 -0
- {qlever-0.5.28 → qlever-0.5.31}/src/qlever/commands/status.py +0 -0
- {qlever-0.5.28 → qlever-0.5.31}/src/qlever/commands/stop.py +0 -0
- {qlever-0.5.28 → qlever-0.5.31}/src/qlever/commands/system_info.py +0 -0
- {qlever-0.5.28 → qlever-0.5.31}/src/qlever/commands/ui.py +0 -0
- {qlever-0.5.28 → qlever-0.5.31}/src/qlever/commands/update_wikidata.py +0 -0
- {qlever-0.5.28 → qlever-0.5.31}/src/qlever/commands/warmup.py +0 -0
- {qlever-0.5.28 → qlever-0.5.31}/src/qlever/config.py +0 -0
- {qlever-0.5.28 → qlever-0.5.31}/src/qlever/containerize.py +0 -0
- {qlever-0.5.28 → qlever-0.5.31}/src/qlever/log.py +0 -0
- {qlever-0.5.28 → qlever-0.5.31}/src/qlever/qlever_main.py +0 -0
- {qlever-0.5.28 → qlever-0.5.31}/src/qlever/util.py +0 -0
- {qlever-0.5.28 → qlever-0.5.31}/src/qlever.egg-info/dependency_links.txt +0 -0
- {qlever-0.5.28 → qlever-0.5.31}/src/qlever.egg-info/entry_points.txt +0 -0
- {qlever-0.5.28 → qlever-0.5.31}/src/qlever.egg-info/requires.txt +0 -0
|
@@ -18,7 +18,8 @@ FORMAT = ttl
|
|
|
18
18
|
[index]
|
|
19
19
|
INPUT_FILES = *.gz
|
|
20
20
|
MULTI_INPUT_JSON = { "cmd": "zcat {}", "for-each": "*.gz" }
|
|
21
|
-
SETTINGS_JSON = { "
|
|
21
|
+
SETTINGS_JSON = { "num-triples-per-batch": 5000000 }
|
|
22
|
+
STXXL_MEMORY = 5G
|
|
22
23
|
|
|
23
24
|
[server]
|
|
24
25
|
PORT = 7015
|
|
@@ -22,7 +22,7 @@ MULTI_INPUT_JSON = { "cmd": "zcat ${INPUT_FILES}", "parallel": "true" }
|
|
|
22
22
|
STXXL_MEMORY = 5G
|
|
23
23
|
PARSER_BUFFER_SIZE = 50M
|
|
24
24
|
SETTINGS_JSON = { "num-triples-per-batch": 5000000 }
|
|
25
|
-
|
|
25
|
+
ENCODE_AS_ID = https://www.openhistoricalmap.org/node/ http://www.openhistoricalmap.org/node/ https://www.openhistoricalmap.org/way/ https://www.openhistoricalmap.org/relation/ https://osm2rdf.cs.uni-freiburg.de/rdf/geom#ohmnode_tagged_ https://osm2rdf.cs.uni-freiburg.de/rdf/geom#ohmnode_untagged_ https://osm2rdf.cs.uni-freiburg.de/rdf/geom#ohmway_ https://osm2rdf.cs.uni-freiburg.de/rdf/geom#ohmrel_ https://www.openstreetmap.org/changeset/
|
|
26
26
|
|
|
27
27
|
[server]
|
|
28
28
|
PORT = 7037
|
|
@@ -25,13 +25,13 @@ INPUT_FILES = ${data:NAME}.ttl.bz2
|
|
|
25
25
|
CAT_INPUT_FILES = bzcat ${data:NAME}.ttl.bz2
|
|
26
26
|
STXXL_MEMORY = 10G
|
|
27
27
|
SETTINGS_JSON = { "num-triples-per-batch": 10000000 }
|
|
28
|
-
|
|
28
|
+
ENCODE_AS_ID = https://www.openstreetmap.org/node/ http://www.openstreetmap.org/node/ https://www.openstreetmap.org/way/ https://www.openstreetmap.org/relation/ https://osm2rdf.cs.uni-freiburg.de/rdf/geom#osmnode_tagged_ https://osm2rdf.cs.uni-freiburg.de/rdf/geom#osmnode_untagged_ https://osm2rdf.cs.uni-freiburg.de/rdf/geom#osmway_ https://osm2rdf.cs.uni-freiburg.de/rdf/geom#osmrel_ https://www.openstreetmap.org/changeset/
|
|
29
29
|
|
|
30
30
|
# Server settings
|
|
31
31
|
[server]
|
|
32
32
|
HOSTNAME = localhost
|
|
33
33
|
PORT = 7025
|
|
34
|
-
ACCESS_TOKEN = ${data:NAME}
|
|
34
|
+
ACCESS_TOKEN = ${data:NAME}
|
|
35
35
|
MEMORY_FOR_QUERIES = 20G
|
|
36
36
|
CACHE_MAX_SIZE = 10G
|
|
37
37
|
CACHE_MAX_SIZE_SINGLE_ENTRY = 5G
|
|
@@ -15,13 +15,13 @@ DESCRIPTION = OSM from ${GET_DATA_URL} (converted to RDF using osm2rdf, enhance
|
|
|
15
15
|
|
|
16
16
|
[index]
|
|
17
17
|
INPUT_FILES = ${data:NAME}.ttl.bz2
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
MULTI_INPUT_JSON = { "cmd": "lbzcat -n 2 ${INPUT_FILES}", "parallel": "true" }
|
|
19
|
+
VOCABULARY_TYPE = on-disk-compressed-geo-split
|
|
20
20
|
PARSER_BUFFER_SIZE = 100M
|
|
21
|
-
STXXL_MEMORY =
|
|
21
|
+
STXXL_MEMORY = 60G
|
|
22
22
|
SETTINGS_JSON = { "num-triples-per-batch": 10000000 }
|
|
23
|
-
ULIMIT =
|
|
24
|
-
|
|
23
|
+
ULIMIT = 50000
|
|
24
|
+
ENCODE_AS_ID = https://www.openstreetmap.org/node/ http://www.openstreetmap.org/node/ https://www.openstreetmap.org/way/ https://www.openstreetmap.org/relation/ https://osm2rdf.cs.uni-freiburg.de/rdf/geom#osmnode_ https://osm2rdf.cs.uni-freiburg.de/rdf/geom#osmway_ https://osm2rdf.cs.uni-freiburg.de/rdf/geom#osmrel_ https://www.openstreetmap.org/changeset/
|
|
25
25
|
|
|
26
26
|
[server]
|
|
27
27
|
PORT = 7007
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Qleverfile for OSM Planet, use with the QLever CLI (`pip install qlever`)
|
|
2
|
+
#
|
|
3
|
+
# qlever get-data # download ~100 GB (pbf), convert with osm2rdf, ~200B triples
|
|
4
|
+
# qlever index # ~40 hours, ~60 GB RAM, ~2.5 TB index size on disk
|
|
5
|
+
# qlever start # a few seconds, adjust MEMORY_FOR_QUERIES as needed
|
|
6
|
+
#
|
|
7
|
+
# Measured on an AMD Ryzen 9 9950X with 128 GB RAM and 4 x 8 TB NVMe (02.10.2025)
|
|
8
|
+
|
|
9
|
+
[data]
|
|
10
|
+
NAME = osm-planet
|
|
11
|
+
PLANET_PBF = planet-250929.osm.pbf
|
|
12
|
+
GET_DATA_URL = https://planet.openstreetmap.org/pbf/${PLANET_PBF}
|
|
13
|
+
GET_PBF_CMD = unbuffer wget -O ${PLANET_PBF} ${GET_DATA_URL}
|
|
14
|
+
OSM2RDF_CMD = unbuffer osm2rdf ${PLANET_PBF} -o ${NAME}.ttl --num-threads 20 --output-compression gz --cache . --store-locations disk-dense --iri-prefix-for-untagged-nodes http://www.openstreetmap.org/node/ --split-tag-key-by-semicolon ref --split-tag-key-by-semicolon service
|
|
15
|
+
GET_DATA_CMD = ${GET_PBF_CMD} && ${OSM2RDF_CMD} 2>&1 | tee ${NAME}.osm2rdf-log.txt
|
|
16
|
+
VERSION = $$(date -r ${PLANET_PBF} +%d.%m.%Y || echo "NO_DATE")
|
|
17
|
+
DESCRIPTION = OSM from ${GET_DATA_URL}, converted to RDF using osm2rdf, enhanced by GeoSPARQL triples ogc:sfContains, ogc:sfCovers, ogc:sfIntersects, ogc:sfEquals, ogc:sfTouches, ogc:sfCrosses, ogc:sfOverlaps
|
|
18
|
+
|
|
19
|
+
[index]
|
|
20
|
+
INPUT_FILES = ${data:NAME}.ttl.gz
|
|
21
|
+
MULTI_INPUT_JSON = { "cmd": "zcat ${INPUT_FILES}", "parallel": "true" }
|
|
22
|
+
VOCABULARY_TYPE = on-disk-compressed-geo-split
|
|
23
|
+
PARSER_BUFFER_SIZE = 100M
|
|
24
|
+
STXXL_MEMORY = 60G
|
|
25
|
+
SETTINGS_JSON = { "num-triples-per-batch": 10000000 }
|
|
26
|
+
ULIMIT = 50000
|
|
27
|
+
ENCODE_AS_ID = https://www.openstreetmap.org/node/ http://www.openstreetmap.org/node/ https://www.openstreetmap.org/way/ https://www.openstreetmap.org/relation/ https://osm2rdf.cs.uni-freiburg.de/rdf/geom#osmnode_tagged_ https://osm2rdf.cs.uni-freiburg.de/rdf/geom#osmnode_untagged_ https://osm2rdf.cs.uni-freiburg.de/rdf/geom#osmway_ https://osm2rdf.cs.uni-freiburg.de/rdf/geom#osmrel_ https://www.openstreetmap.org/changeset/
|
|
28
|
+
|
|
29
|
+
[server]
|
|
30
|
+
PORT = 7007
|
|
31
|
+
ACCESS_TOKEN = ${data:NAME}
|
|
32
|
+
MEMORY_FOR_QUERIES = 40G
|
|
33
|
+
CACHE_MAX_SIZE = 20G
|
|
34
|
+
CACHE_MAX_SIZE_SINGLE_ENTRY = 10G
|
|
35
|
+
TIMEOUT = 600s
|
|
36
|
+
|
|
37
|
+
[runtime]
|
|
38
|
+
SYSTEM = docker
|
|
39
|
+
IMAGE = docker.io/adfreiburg/qlever:latest
|
|
40
|
+
|
|
41
|
+
[ui]
|
|
42
|
+
UI_CONFIG = osm-planet
|
|
@@ -55,8 +55,8 @@ MULTI_INPUT_JSON = [{ "cmd": "zcat {}", "graph": "http://sparql.uniprot.org/unip
|
|
|
55
55
|
{ "cmd": "zcat ${data:TTL_DIR}/examples_uniprot.ttl.gz", "graph": "http://sparql.uniprot.org/.well-known/sparql-examples" },
|
|
56
56
|
{ "cmd": "zcat ${data:TTL_DIR}/core.ttl.gz", "graph": "http://purl.uniprot.org/core" }]
|
|
57
57
|
SETTINGS_JSON = { "languages-internal": [], "prefixes-external": [""], "locale": { "language": "en", "country": "US", "ignore-punctuation": true }, "ascii-prefixes-only": true, "num-triples-per-batch": 25000000 }
|
|
58
|
-
STXXL_MEMORY =
|
|
59
|
-
ULIMIT =
|
|
58
|
+
STXXL_MEMORY = 80G
|
|
59
|
+
ULIMIT = 50000
|
|
60
60
|
|
|
61
61
|
[server]
|
|
62
62
|
PORT = 7018
|
|
@@ -335,9 +335,7 @@ class BenchmarkQueriesCommand(QleverCommand):
|
|
|
335
335
|
)
|
|
336
336
|
return []
|
|
337
337
|
|
|
338
|
-
return [
|
|
339
|
-
(query['query'], query['sparql']) for query in data["queries"]
|
|
340
|
-
]
|
|
338
|
+
return [(query["query"], query["sparql"]) for query in data["queries"]]
|
|
341
339
|
|
|
342
340
|
def get_result_size(
|
|
343
341
|
self,
|
|
@@ -552,8 +550,7 @@ class BenchmarkQueriesCommand(QleverCommand):
|
|
|
552
550
|
|
|
553
551
|
# Show what the command will do.
|
|
554
552
|
example_queries_cmd = (
|
|
555
|
-
"curl -sv https://qlever.
|
|
556
|
-
f"api/examples/{args.ui_config}"
|
|
553
|
+
f"curl -sv https://qlever.dev/api/examples/{args.ui_config}"
|
|
557
554
|
)
|
|
558
555
|
sparql_endpoint = (
|
|
559
556
|
args.sparql_endpoint
|
|
@@ -219,8 +219,8 @@ class IndexCommand(QleverCommand):
|
|
|
219
219
|
if args.encode_as_id:
|
|
220
220
|
index_cmd += f" --encode-as-id {args.encode_as_id}"
|
|
221
221
|
if args.only_pso_and_pos_permutations:
|
|
222
|
-
index_cmd += " --only-pso-and-pos-permutations
|
|
223
|
-
if
|
|
222
|
+
index_cmd += " --only-pso-and-pos-permutations"
|
|
223
|
+
if args.use_patterns == "no":
|
|
224
224
|
index_cmd += " --no-patterns"
|
|
225
225
|
if args.text_index in [
|
|
226
226
|
"from_text_records",
|
|
@@ -34,7 +34,7 @@ def construct_command(args) -> str:
|
|
|
34
34
|
start_cmd += " --persist-updates"
|
|
35
35
|
if args.only_pso_and_pos_permutations:
|
|
36
36
|
start_cmd += " --only-pso-and-pos-permutations"
|
|
37
|
-
if
|
|
37
|
+
if args.use_patterns == "no":
|
|
38
38
|
start_cmd += " --no-patterns"
|
|
39
39
|
if args.use_text_index == "yes":
|
|
40
40
|
start_cmd += " -t"
|
|
@@ -61,7 +61,7 @@ class Qleverfile:
|
|
|
61
61
|
"--text-description",
|
|
62
62
|
type=str,
|
|
63
63
|
default=None,
|
|
64
|
-
help="A concise description of the additional text data
|
|
64
|
+
help="A concise description of the additional text data if any",
|
|
65
65
|
)
|
|
66
66
|
data_args["format"] = arg(
|
|
67
67
|
"--format",
|
|
@@ -167,10 +167,10 @@ class Qleverfile:
|
|
|
167
167
|
)
|
|
168
168
|
index_args["use_patterns"] = arg(
|
|
169
169
|
"--use-patterns",
|
|
170
|
-
|
|
171
|
-
default=
|
|
172
|
-
help="
|
|
173
|
-
" of queries like SELECT ?p (COUNT(DISTINCT ?s) AS ?c) "
|
|
170
|
+
choices=["yes", "no"],
|
|
171
|
+
default="yes",
|
|
172
|
+
help="Whether to precompute the so-called patterns used for fast "
|
|
173
|
+
"processing of queries like SELECT ?p (COUNT(DISTINCT ?s) AS ?c) "
|
|
174
174
|
"WHERE { ?s ?p [] ... } GROUP BY ?p",
|
|
175
175
|
)
|
|
176
176
|
index_args["text_index"] = arg(
|
|
@@ -283,10 +283,10 @@ class Qleverfile:
|
|
|
283
283
|
)
|
|
284
284
|
server_args["use_patterns"] = arg(
|
|
285
285
|
"--use-patterns",
|
|
286
|
-
|
|
287
|
-
default=
|
|
288
|
-
help="
|
|
289
|
-
" (see `qlever index --help` for their utility)",
|
|
286
|
+
choices=["yes", "no"],
|
|
287
|
+
default="yes",
|
|
288
|
+
help="Whether to use the patterns precomputed during the index "
|
|
289
|
+
"build (see `qlever index --help` for their utility)",
|
|
290
290
|
)
|
|
291
291
|
server_args["use_text_index"] = arg(
|
|
292
292
|
"--use-text-index",
|
|
@@ -438,6 +438,10 @@ class Qleverfile:
|
|
|
438
438
|
server = config["server"]
|
|
439
439
|
if index.get("text_index", "none") != "none":
|
|
440
440
|
server["use_text_index"] = "yes"
|
|
441
|
+
if index.get("only_pso_and_pos_permutations", "false") == "true":
|
|
442
|
+
index["use_patterns"] = "no"
|
|
443
|
+
if index.get("use_patterns", None) == "no":
|
|
444
|
+
server["use_patterns"] = "no"
|
|
441
445
|
|
|
442
446
|
# Add other non-trivial default values.
|
|
443
447
|
try:
|
|
@@ -28,6 +28,7 @@ src/qlever/Qleverfiles/Qleverfile.olympics
|
|
|
28
28
|
src/qlever/Qleverfiles/Qleverfile.orkg
|
|
29
29
|
src/qlever/Qleverfiles/Qleverfile.osm-country
|
|
30
30
|
src/qlever/Qleverfiles/Qleverfile.osm-planet
|
|
31
|
+
src/qlever/Qleverfiles/Qleverfile.osm-planet-from-pbf
|
|
31
32
|
src/qlever/Qleverfiles/Qleverfile.pubchem
|
|
32
33
|
src/qlever/Qleverfiles/Qleverfile.scientists
|
|
33
34
|
src/qlever/Qleverfiles/Qleverfile.uniprot
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
qlever
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|