wikify.py 文件源码

python
阅读 23 收藏 0 点赞 0 评论 0

项目:cnschema 作者: cnschema 项目源码 文件源码
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
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号