summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandre Flament <alex@al-f.net>2022-06-11 11:03:55 +0200
committerAlexandre Flament <alex@al-f.net>2022-06-11 11:09:21 +0200
commitcd2dd5dd55e765b3ddd894119e2a8957c6c407e7 (patch)
treed6fc586d542261a497f36133d087f4dad11386f5
parentd068b67a7193780787a7cc166a1dd208cf5eb9b2 (diff)
downloadsearxng-cd2dd5dd55e765b3ddd894119e2a8957c6c407e7.tar.gz
searxng-cd2dd5dd55e765b3ddd894119e2a8957c6c407e7.zip
Wikidata engine: ignore dummy entities
Close #641
-rw-r--r--searx/engines/wikidata.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/searx/engines/wikidata.py b/searx/engines/wikidata.py
index b93cfd223..d828f4be8 100644
--- a/searx/engines/wikidata.py
+++ b/searx/engines/wikidata.py
@@ -94,6 +94,12 @@ WHERE {
}
"""
+# see the property "dummy value" of https://www.wikidata.org/wiki/Q2013 (Wikidata)
+# hard coded here to avoid to an additional SPARQL request when the server starts
+DUMMY_ENTITY_URLS = set(
+ "http://www.wikidata.org/entity/" + wid for wid in ("Q4115189", "Q13406268", "Q15397819", "Q17339402")
+)
+
# https://www.w3.org/TR/sparql11-query/#rSTRING_LITERAL1
# https://lists.w3.org/Archives/Public/public-rdf-dawg/2011OctDec/0175.html
@@ -178,7 +184,7 @@ def response(resp):
for result in jsonresponse.get('results', {}).get('bindings', []):
attribute_result = {key: value['value'] for key, value in result.items()}
entity_url = attribute_result['item']
- if entity_url not in seen_entities:
+ if entity_url not in seen_entities and entity_url not in DUMMY_ENTITY_URLS:
seen_entities.add(entity_url)
results += get_results(attribute_result, attributes, language)
else: