gpt4 book ai didi

sparql - 如何使用 SPARQL 通过 ID 获取 Wikidata 标签?

转载 作者:行者123 更新时间:2023-12-04 13:57:44 25 4
gpt4 key购买 nike

如何使用 SPARQL 端点通过 ID 获取维基数据中英文或任何其他语言的标签?

最佳答案

假设 wd:Q146190 是您的 维基数据实体 ID

以您的特定实体 ID 的特定语言获取标签:

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> 
PREFIX wd: <http://www.wikidata.org/entity/>
SELECT *
WHERE {
wd:Q146190 rdfs:label ?label .
FILTER (langMatches( lang(?label), "EN" ) )
}
LIMIT 1
  • live example in english
  • live example in german

  • 获取您的特定实体 ID 的任何语言的所有标签:
    SELECT * WHERE {
    wd:Q146190 rdfs:label ?label
    }

    这里 the link to the live try按播放运行查询然后你可以下载一个完整的 JSON 并获得这样的响应..只有一个复制到这里的主干:
    {
    "head": {
    "vars": [
    "label"
    ]
    },
    "results": {
    "bindings": [
    {
    "label": {
    "xml:lang": "ar",
    "type": "literal",
    "value": "دوار الشمس الدرني"
    }
    },
    {
    "label": {
    "xml:lang": "az",
    "type": "literal",
    "value": "Kökyumrulu günəbaxan"
    }
    },
    ..etc,etc.

    获取具有多个 id 的响应结果集中每个实体 ID 的标签

    在这种情况下,您应该使用 Label service
  • example without labels
  • example with labels for each entity in the specified language: english
  • SELECT ?p ?pLabel ?w ?wLabel WHERE {
    wd:Q30 p:P6/ps:P6 ?p .
    ?p wdt:P26 ?w .
    SERVICE wikibase:label {
    bd:serviceParam wikibase:language "en" .
    }
    }

    使用此服务添加 Label到变量(即:对于 ?p 标签,您必须使用 ?pLabel 然后添加
       SERVICE wikibase:label {
    bd:serviceParam wikibase:language "en" .
    }

    WHERE堵塞

    关于sparql - 如何使用 SPARQL 通过 ID 获取 Wikidata 标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40268148/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com