Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wikidata SPARQL查询在筛选英文标签后返回不同的结果_Sparql_Wikidata - Fatal编程技术网

Wikidata SPARQL查询在筛选英文标签后返回不同的结果

Wikidata SPARQL查询在筛选英文标签后返回不同的结果,sparql,wikidata,Sparql,Wikidata,我对Wikidata SPARQL查询的理解是,您可以在中筛选英文标签的结果 添加服务wikibase:label{bd:serviceParam wikibase:language“en”}以调用标签服务;或 为每个输出标签添加?thing rdfs:label?thingLabel过滤器(lang(?thingLabel)=“en”) 我正在运行一个查询,试图以英语获取实体的所有属性。我遵循了一个原则,提出了两个问题 查询1:获取返回的47结果 SELECT?itemLabel?propLa

我对Wikidata SPARQL查询的理解是,您可以在中筛选英文标签的结果

  • 添加
    服务wikibase:label{bd:serviceParam wikibase:language“en”}
    以调用标签服务;或
  • 为每个输出标签添加
    ?thing rdfs:label?thingLabel过滤器(lang(?thingLabel)=“en”)
  • 我正在运行一个查询,试图以英语获取实体的所有属性。我遵循了一个原则,提出了两个问题

    查询1:获取返回的47结果

    SELECT?itemLabel?propLabel?语句\u属性\u对象标签
    在哪里{
    值(?项){(wd:Q24)}
    项目属性[?声明属性?声明属性对象]。
    ?道具维基库:索赔?财产。
    ?prop wikibase:statementProperty?语句属性。
    #呼叫标签服务。
    服务wikibase:标签{bd:serviceParam wikibase:语言“en”}
    }订购人?propLabel
    
    查询2:返回35个结果

    SELECT?itemLabel?propLabel?语句\u属性\u对象标签
    在哪里{
    值(?项){(wd:Q24)}
    项目属性[?声明属性?声明属性对象]。
    ?道具维基库:索赔?财产。
    ?prop wikibase:statementProperty?语句属性。
    #为每个标签调用标签服务。
    ?项目rdfs:label?项目标签过滤器(lang(?itemLabel)=“en”)。
    语句属性对象rdfs:标签?语句属性对象过滤器(lang(?语句属性对象过滤器)=“en”)。
    ?PropRDFS:label?propLabel过滤器(lang(?propLabel)=“en”)。
    }订购人?propLabel
    

    为什么第二个查询返回的行更少?感谢您的帮助。

    我认为原因是
    wikibase:label
    服务返回
    ?statement\u property\u obj
    任何值的标签结果,即使该值没有定义实际的
    rdfs:label
    (它似乎只返回
    ?statement\u property\u obj
    本身的实际值)

    例如,请参见查询1中的第一个结果,其中
    ?statement\u property\u objLabel
    绑定到
    主题/Jack\u Bauer
    。这不是数据中实际的
    rdfs:label
    属性的值,而是标签服务提供的“回退”值。因此,明确查询
    rdfs:label
    属性的查询2不会返回这个(和类似的)结果