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

标签 sparql wikidata wikidata-api

如何使用 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/

    相关文章:

    java - 遍历耶拿的匿名/空白节点

    scala - 从文本中高效提取 WikiData 实体

    python-2.7 - 如何从 Wikidata Id 获取 Wikipedia 页面?

    sparql - 从哪里获取所有欧洲城市、村庄的数据?

    java - 远程端点上的自定义 jena 过滤器功能?

    validation - 如何克隆或复制 Jena-Ontology-Model (OntModel) 以应用临时更改?

    sparql - 如何仅从 Wikidata 属性中获取最新值?

    sparql - 如何使用 SPARQL 查询获取特定维基数据 ID 的信息?

    schema.org - schema.org 数据集和维基数据之间是否存在映射?

    wikidata - 来自名称的Wikidata实体值