mirror of
https://github.com/searxng/searxng.git
synced 2024-11-10 15:10:10 +01:00
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%".
|
mwapi:language "%LANGUAGE%".
|
||||||
?item wikibase:apiOutputItem mwapi:item.
|
?item wikibase:apiOutputItem mwapi:item.
|
||||||
}
|
}
|
||||||
|
hint:Prior hint:runFirst "true".
|
||||||
|
|
||||||
%WHERE%
|
%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://www.w3.org/TR/sparql11-query/#rSTRING_LITERAL1
|
||||||
# https://lists.w3.org/Archives/Public/public-rdf-dawg/2011OctDec/0175.html
|
# 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', []):
|
for result in jsonresponse.get('results', {}).get('bindings', []):
|
||||||
attribute_result = {key: value['value'] for key, value in result.items()}
|
attribute_result = {key: value['value'] for key, value in result.items()}
|
||||||
entity_url = attribute_result['item']
|
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)
|
seen_entities.add(entity_url)
|
||||||
results += get_results(attribute_result, attributes, language)
|
results += get_results(attribute_result, attributes, language)
|
||||||
else:
|
else:
|
||||||
|
Loading…
Reference in New Issue
Block a user