snapquery 0.2.1__tar.gz → 0.2.2__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.
- {snapquery-0.2.1 → snapquery-0.2.2}/PKG-INFO +1 -1
- snapquery-0.2.2/snapquery/__init__.py +1 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/snapquery/samples/endpoints.yaml +12 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/snapquery/version.py +1 -1
- snapquery-0.2.2/tests/action_stats.py +43 -0
- snapquery-0.2.2/tests/test_endpoints.py +83 -0
- snapquery-0.2.1/snapquery/__init__.py +0 -1
- snapquery-0.2.1/tests/test_endpoints.py +0 -61
- {snapquery-0.2.1 → snapquery-0.2.2}/.github/workflows/build.yml +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/.github/workflows/upload-to-pypi.yml +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/.gitignore +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/.project +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/.pydevproject +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/LICENSE +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/README.md +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/docs/index.md +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/mkdocs.yml +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/pyproject.toml +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/scripts/blackisort +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/scripts/doc +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/scripts/fixdomain +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/scripts/install +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/scripts/qlv +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/scripts/release +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/scripts/restore_db +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/scripts/test +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/scripts/test_queries +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/snapquery/authorization.py +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/snapquery/basequeryview.py +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/snapquery/ceurws.py +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/snapquery/dblp.py +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/snapquery/error_filter.py +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/snapquery/execution.py +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/snapquery/github_access.py +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/snapquery/graph.py +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/snapquery/models/__init__.py +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/snapquery/models/person.py +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/snapquery/models/sparql_components.py +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/snapquery/mwlogin.py +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/snapquery/namespace_stats_view.py +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/snapquery/orcid.py +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/snapquery/params_view.py +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/snapquery/person_selector.py +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/snapquery/pid.py +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/snapquery/pid_lookup.py +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/snapquery/prefix_merger.py +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/snapquery/qimport.py +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/snapquery/qimport_view.py +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/snapquery/qlever.py +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/snapquery/query_annotate.py +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/snapquery/query_selector.py +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/snapquery/resources/sparql_language.json +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/snapquery/samples/WikiProject_LSEThesisProject.wiki +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/snapquery/samples/ceur-ws.json +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/snapquery/samples/dblp.json +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/snapquery/samples/endpoints_optional.yaml +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/snapquery/samples/federated-query-examples.json +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/snapquery/samples/graphs.yaml +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/snapquery/samples/meta_query.yaml +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/snapquery/samples/orkg.json +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/snapquery/samples/qlever.json +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/snapquery/samples/qlever_performance.json +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/snapquery/samples/query_stats.yaml +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/snapquery/samples/scholia.json +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/snapquery/samples/snapquery.json +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/snapquery/samples/wikidata-WikidataThesisToolkit.json +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/snapquery/samples/wikidata-WikidataThesisToolkitAlt.json +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/snapquery/samples/wikidata-examples.json +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/snapquery/samples/wikidata-short-urls.json +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/snapquery/scholia.py +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/snapquery/sib_sparql_examples.py +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/snapquery/snapquery_cmd.py +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/snapquery/snapquery_core.py +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/snapquery/snapquery_view.py +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/snapquery/snapquery_webserver.py +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/snapquery/sparql_analyzer.py +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/snapquery/stats_view.py +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/snapquery/wd_page_query_extractor.py +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/snapquery/wd_short_url.py +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/snapquery.puml +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/snapquery.yaml +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/tests/__init__.py +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/tests/query_extractors/__init__.py +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/tests/query_extractors/sparql_standard_queries.py +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/tests/resources/error_messages/qlever/ask_unsupported.txt +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/tests/resources/error_messages/qlever/invalid_literal.txt +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/tests/resources/error_messages/qlever/invalid_regex_func.txt +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/tests/resources/error_messages/qlever/memory_limit.txt +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/tests/resources/error_messages/qlever/timeout.txt +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/tests/resources/error_messages/triplydb/parser_error.txt +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/tests/resources/error_messages/wdqs/duplicate_prefix.txt +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/tests/resources/error_messages/wdqs/invalid_iri_declaration.txt +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/tests/resources/error_messages/wdqs/invalid_sparql_syntax.txt +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/tests/resources/error_messages/wdqs/timeout.txt +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/tests/resources/error_messages/wdqs/undefined_prefix.txt +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/tests/test_authorization.py +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/tests/test_ceurws.py +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/tests/test_cmdline.py +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/tests/test_error_filter.py +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/tests/test_graph.py +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/tests/test_import.py +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/tests/test_namedqueries.py +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/tests/test_oauth.py +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/tests/test_orcid.py +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/tests/test_pids.py +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/tests/test_prefix_merger.py +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/tests/test_qlever.py +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/tests/test_query_annotate.py +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/tests/test_query_execution.py +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/tests/test_query_name.py +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/tests/test_restful_api.py +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/tests/test_scholia.py +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/tests/test_scholia_q.py +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/tests/test_sib_examples.py +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/tests/test_sparql_analyzer.py +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/tests/test_sparql_components.py +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/tests/test_wd_query_parsing.py +0 -0
- {snapquery-0.2.1 → snapquery-0.2.2}/tests/test_wd_short_url.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: snapquery
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.2
|
|
4
4
|
Summary: Just Query wikidata and other SPARQL endpoints by query name - a frontend to Introduce Named Queries and Named Query Middleware to wikidata and other SPARQL endpoints
|
|
5
5
|
Project-URL: Home, https://github.com/WolfgangFahl/snapquery
|
|
6
6
|
Project-URL: Documentation, https://wiki.bitplan.com/index.php/snapquery
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.2.2"
|
|
@@ -89,6 +89,18 @@ endpoints:
|
|
|
89
89
|
- wikidata
|
|
90
90
|
- commons
|
|
91
91
|
|
|
92
|
+
wikidata-triply:
|
|
93
|
+
description: TriplyDB mirror.
|
|
94
|
+
lang: sparql
|
|
95
|
+
method: POST
|
|
96
|
+
database: TriplyDB
|
|
97
|
+
endpoint: https://api.triplydb.com/datasets/wikimedia/wikidata/sparql
|
|
98
|
+
website: https://triplydb.com/wikimedia/wikidata/sparql
|
|
99
|
+
calls_per_minute: 30
|
|
100
|
+
prefix_sets:
|
|
101
|
+
- rdf
|
|
102
|
+
- wikidata
|
|
103
|
+
|
|
92
104
|
wikidata-qlever-dbis:
|
|
93
105
|
description: QLever RWTH Wikidata.
|
|
94
106
|
lang: sparql
|
|
@@ -18,7 +18,7 @@ class Version:
|
|
|
18
18
|
name = "snapquery"
|
|
19
19
|
version = snapquery.__version__
|
|
20
20
|
date = "2024-05-03"
|
|
21
|
-
updated = "2025-12-
|
|
21
|
+
updated = "2025-12-03"
|
|
22
22
|
description = "Introduce Named Queries and Named Query Middleware to wikidata"
|
|
23
23
|
|
|
24
24
|
authors = "Wolfgang Fahl"
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Created on 2025-11-23
|
|
3
|
+
|
|
4
|
+
@author: wf
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class ActionStats:
|
|
9
|
+
"""Helper class to track success rates of actions."""
|
|
10
|
+
|
|
11
|
+
def __init__(self):
|
|
12
|
+
self.success_count = 0
|
|
13
|
+
self.total_count = 0
|
|
14
|
+
self.current = None
|
|
15
|
+
|
|
16
|
+
def add(self, is_success: bool):
|
|
17
|
+
"""adds a single result."""
|
|
18
|
+
self.current = is_success
|
|
19
|
+
self.total_count += 1
|
|
20
|
+
if is_success:
|
|
21
|
+
self.success_count += 1
|
|
22
|
+
|
|
23
|
+
@property
|
|
24
|
+
def ratio(self) -> float:
|
|
25
|
+
"""Returns the success/total ratio."""
|
|
26
|
+
ratio = self.success_count / self.total_count if self.total_count > 0 else 0.0
|
|
27
|
+
return ratio
|
|
28
|
+
|
|
29
|
+
def state(self, success_msg, fail_msg) -> str:
|
|
30
|
+
"""
|
|
31
|
+
return the current state
|
|
32
|
+
"""
|
|
33
|
+
if self.current:
|
|
34
|
+
msg = f"✅{success_msg}"
|
|
35
|
+
else:
|
|
36
|
+
msg = f"❌: {fail_msg}"
|
|
37
|
+
return msg
|
|
38
|
+
|
|
39
|
+
def __str__(self):
|
|
40
|
+
"""Returns the formatted summary string."""
|
|
41
|
+
marker = "❌ " if self.success_count < self.total_count else "✅"
|
|
42
|
+
text = f"{marker}:{self.success_count}/{self.total_count} available"
|
|
43
|
+
return text
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Created on 2024-05-03
|
|
3
|
+
ActionStats integrated with Grok4 Free suppport on 2025-12-03
|
|
4
|
+
|
|
5
|
+
@author: wf
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
import requests
|
|
9
|
+
from basemkit.basetest import Basetest
|
|
10
|
+
from lodstorage.sparql import SPARQL
|
|
11
|
+
|
|
12
|
+
from snapquery.snapquery_core import NamedQueryManager
|
|
13
|
+
from tests.action_stats import ActionStats
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class TestEndpoints(Basetest):
|
|
17
|
+
"""
|
|
18
|
+
test endpoint handling according to https://github.com/WolfgangFahl/snapquery/issues/1
|
|
19
|
+
"""
|
|
20
|
+
|
|
21
|
+
def setUp(self, debug=True, profile=True):
|
|
22
|
+
Basetest.setUp(self, debug=debug, profile=profile)
|
|
23
|
+
self.nqm = NamedQueryManager()
|
|
24
|
+
self.user_agent = "snapquery-test/1.0 (https://github.com/WolfgangFahl/snapquery)"
|
|
25
|
+
self.timeout = 10
|
|
26
|
+
self.minRatio= 0.8
|
|
27
|
+
|
|
28
|
+
def testEndpoints(self):
|
|
29
|
+
"""
|
|
30
|
+
test the endpoint handling
|
|
31
|
+
"""
|
|
32
|
+
ep_names = list(self.nqm.endpoints.keys())
|
|
33
|
+
if self.debug:
|
|
34
|
+
print(ep_names)
|
|
35
|
+
self.assertGreater(len(ep_names), 0)
|
|
36
|
+
self.assertIn("wikidata", ep_names)
|
|
37
|
+
|
|
38
|
+
def test_website_availability(self):
|
|
39
|
+
"""
|
|
40
|
+
Test website availability for endpoints (HTTP 200).
|
|
41
|
+
"""
|
|
42
|
+
stats = ActionStats()
|
|
43
|
+
for ep in self.nqm.endpoints.values():
|
|
44
|
+
try:
|
|
45
|
+
self.assertTrue(hasattr(ep, "website"))
|
|
46
|
+
resp = requests.get(ep.website, headers={"User-Agent": self.user_agent}, timeout=self.timeout)
|
|
47
|
+
is_success = (resp.status_code == 200)
|
|
48
|
+
stats.add(is_success)
|
|
49
|
+
if self.debug:
|
|
50
|
+
if is_success:
|
|
51
|
+
print(f"✅ {ep.name} website OK: {ep.website}")
|
|
52
|
+
else:
|
|
53
|
+
print(f"❌ {ep.name} website failed: {ep.website} (status: {resp.status_code})")
|
|
54
|
+
except Exception as e:
|
|
55
|
+
stats.add(False)
|
|
56
|
+
if self.debug:
|
|
57
|
+
print(f"❌ {ep.name} website exception: {str(e)}")
|
|
58
|
+
msg = f"Websites availability {stats} ({stats.ratio:.1%}), need >=60%"
|
|
59
|
+
self.assertGreaterEqual(stats.ratio, self.minRatio, msg)
|
|
60
|
+
if self.debug:
|
|
61
|
+
print(f"SUMMARY websites: {stats}")
|
|
62
|
+
|
|
63
|
+
def test_sparql_availability(self):
|
|
64
|
+
"""
|
|
65
|
+
Test SPARQL endpoint availability with dummy query: SELECT * WHERE {?s ?p ?o} LIMIT 1.
|
|
66
|
+
"""
|
|
67
|
+
dummy_query = "SELECT * WHERE { ?s ?p ?o. } LIMIT 1"
|
|
68
|
+
stats = ActionStats()
|
|
69
|
+
for ep in self.nqm.endpoints.values():
|
|
70
|
+
try:
|
|
71
|
+
sparql = SPARQL.fromEndpointConf(ep)
|
|
72
|
+
lod = sparql.queryAsListOfDicts(dummy_query)
|
|
73
|
+
stats.add(True)
|
|
74
|
+
if self.debug:
|
|
75
|
+
print(f"✅ {ep.name} SPARQL OK: {len(lod)} rows from {ep.endpoint}")
|
|
76
|
+
except Exception as e:
|
|
77
|
+
stats.add(False)
|
|
78
|
+
if self.debug:
|
|
79
|
+
print(f"❌ {ep.name} SPARQL failed: {ep.endpoint} ({str(e)})")
|
|
80
|
+
msg = f"SPARQL availability {stats} ({stats.ratio:.1%}), need >=60%"
|
|
81
|
+
self.assertGreaterEqual(stats.ratio, self.minRatio, msg)
|
|
82
|
+
if self.debug:
|
|
83
|
+
print(f"SUMMARY SPARQL: {stats}")
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.2.1"
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
"""
|
|
2
|
-
Created on 2024-05-03
|
|
3
|
-
|
|
4
|
-
@author: wf
|
|
5
|
-
"""
|
|
6
|
-
|
|
7
|
-
import requests
|
|
8
|
-
from basemkit.basetest import Basetest
|
|
9
|
-
from lodstorage.sparql import SPARQL
|
|
10
|
-
|
|
11
|
-
from snapquery.snapquery_core import NamedQueryManager
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
class TestEndpoints(Basetest):
|
|
15
|
-
"""
|
|
16
|
-
test endpoint handling according to https://github.com/WolfgangFahl/snapquery/issues/1
|
|
17
|
-
"""
|
|
18
|
-
|
|
19
|
-
def setUp(self, debug=True, profile=True):
|
|
20
|
-
Basetest.setUp(self, debug=debug, profile=profile)
|
|
21
|
-
self.nqm = NamedQueryManager()
|
|
22
|
-
self.user_agent = "snapquery-test/1.0 (https://github.com/WolfgangFahl/snapquery)"
|
|
23
|
-
self.timeout = 10
|
|
24
|
-
|
|
25
|
-
def testEndpoints(self):
|
|
26
|
-
"""
|
|
27
|
-
test the endpoint handling
|
|
28
|
-
"""
|
|
29
|
-
ep_names = self.nqm.endpoints.keys()
|
|
30
|
-
if self.debug:
|
|
31
|
-
print(ep_names)
|
|
32
|
-
self.assertTrue("wikidata" in ep_names)
|
|
33
|
-
pass
|
|
34
|
-
|
|
35
|
-
def test_website_availability(self):
|
|
36
|
-
"""
|
|
37
|
-
Test website availability forendpoints (HTTP 200).
|
|
38
|
-
"""
|
|
39
|
-
for ep in self.nqm.endpoints.values():
|
|
40
|
-
self.assertTrue(hasattr(ep, "website"))
|
|
41
|
-
resp = requests.get(ep.website, headers={"User-Agent": self.user_agent}, timeout=self.timeout)
|
|
42
|
-
self.assertEqual(
|
|
43
|
-
resp.status_code, 200, f"Website {ep.website} for {ep.name} unavailable (status: {resp.status_code})"
|
|
44
|
-
)
|
|
45
|
-
if self.debug:
|
|
46
|
-
print(f"✅ {ep.name} website OK: {ep.website}")
|
|
47
|
-
|
|
48
|
-
def test_sparql_availability(self):
|
|
49
|
-
"""
|
|
50
|
-
Test SPARQL endpoint availability with dummy query: SELECT * WHERE {?s ?p ?o} LIMIT 1.
|
|
51
|
-
"""
|
|
52
|
-
dummy_query = "SELECT * WHERE { ?s ?p ?o. } LIMIT 1"
|
|
53
|
-
for ep in self.nqm.endpoints.values():
|
|
54
|
-
try:
|
|
55
|
-
sparql = SPARQL.fromEndpointConf(ep)
|
|
56
|
-
lod = sparql.queryAsListOfDicts(dummy_query)
|
|
57
|
-
self.assertGreaterEqual(len(lod), 0, f"SPARQL {ep.endpoint} for {ep.name} returned no results")
|
|
58
|
-
if self.debug:
|
|
59
|
-
print(f"✅ {ep.name} SPARQL OK: {len(lod)} rows from {ep.endpoint}")
|
|
60
|
-
except Exception as e:
|
|
61
|
-
self.fail(f"SPARQL check failed for {ep.name}: {str(e)}")
|
|
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
|
|
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
|
{snapquery-0.2.1 → snapquery-0.2.2}/snapquery/samples/wikidata-WikidataThesisToolkitAlt.json
RENAMED
|
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
|
{snapquery-0.2.1 → snapquery-0.2.2}/tests/resources/error_messages/qlever/ask_unsupported.txt
RENAMED
|
File without changes
|
{snapquery-0.2.1 → snapquery-0.2.2}/tests/resources/error_messages/qlever/invalid_literal.txt
RENAMED
|
File without changes
|
{snapquery-0.2.1 → snapquery-0.2.2}/tests/resources/error_messages/qlever/invalid_regex_func.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{snapquery-0.2.1 → snapquery-0.2.2}/tests/resources/error_messages/triplydb/parser_error.txt
RENAMED
|
File without changes
|
{snapquery-0.2.1 → snapquery-0.2.2}/tests/resources/error_messages/wdqs/duplicate_prefix.txt
RENAMED
|
File without changes
|
{snapquery-0.2.1 → snapquery-0.2.2}/tests/resources/error_messages/wdqs/invalid_iri_declaration.txt
RENAMED
|
File without changes
|
{snapquery-0.2.1 → snapquery-0.2.2}/tests/resources/error_messages/wdqs/invalid_sparql_syntax.txt
RENAMED
|
File without changes
|
|
File without changes
|
{snapquery-0.2.1 → snapquery-0.2.2}/tests/resources/error_messages/wdqs/undefined_prefix.txt
RENAMED
|
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
|