def wikify1(phrase, description=None):
#wikification
"""
{
searchinfo: - {
search: "birthday"
},
search: - [
- {
repository: "",
id: "P3150",
concepturi: "http://www.wikidata.org/entity/P3150",
url: "//www.wikidata.org/wiki/Property:P3150",
title: "Property:P3150",
pageid: 28754653,
datatype: "wikibase-item",
label: "birthday",
description: "item for day and month on which the subject was born. Used when full "date of birth" (P569) isn't known.",
match: - {
type: "label",
language: "en",
text: "birthday"
}
},"""
urlBase = "https://www.wikidata.org/w/api.php?action=wbsearchentities&search={}&format=json&language=en&uselang=en&type=property"
url = urlBase.format(re.sub("\s+","%20",phrase))
r = requests.get(url)
items = json.loads(r.content).get("search",[])
#logging.info(items)
ret = {}
for idx, item in enumerate(items[0:MAX_RESULT]):
if idx > 0:
prefix = "wikidata{}".format(idx+1)
else:
prefix = "wikidata"
ret["{}Id".format(prefix)] = item["id"]
ret["{}Name".format(prefix)] = item.get("label","")
ret["{}Description".format(prefix)] = item.get("description","")
ret["{}Url".format(prefix)] = item["concepturi"]
return ret
评论列表
文章目录