forked from zaclys/searxng
Merge pull request #1311 from dalf/wikidata-optmization
Wikidata optmizations
This commit is contained in:
commit
a029ebff01
|
@ -65,6 +65,7 @@ WHERE
|
|||
mwapi:language "%LANGUAGE%".
|
||||
?item wikibase:apiOutputItem mwapi:item.
|
||||
}
|
||||
hint:Prior hint:runFirst "true".
|
||||
|
||||
%WHERE%
|
||||
|
||||
|
@ -93,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
|
||||
|
@ -177,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:
|
||||
|
|
Loading…
Reference in New Issue