Sparql Wikidata查询服务:如何按项目进行搜索?

Sparql Wikidata查询服务:如何按项目进行搜索?,sparql,wikidata,Sparql,Wikidata,我正在使用Wikidata查询服务获取有关电影和电视节目的详细信息 我知道我可以查询下面电影查询实例中所有项目的类型,但我只想查找特定的电影 SELECT ?item ?itemLabel ?genreLabel WHERE { ?item wdt:P31 wd:Q11424 . OPTIONAL { ?item wdt:P136 ?genre } SERVICE wikibase:label { bd:serviceParam wikibase:

我正在使用Wikidata查询服务获取有关电影和电视节目的详细信息

我知道我可以查询下面电影查询实例中所有项目的类型,但我只想查找特定的电影

SELECT ?item ?itemLabel ?genreLabel
WHERE
{
    ?item wdt:P31 wd:Q11424 .
    OPTIONAL {
        ?item wdt:P136 ?genre
    }
    SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en" }
} LIMIT 10

我有一个关于电影和电视节目的Wikidata项目编号Q的列表,我想了解这些项目的属性。我需要查询这些特定的电影或电视节目。例如,如果我知道《星球大战第四集:新希望》是Wikidata中的Q17738,我如何查询它的特定属性?

是的,您可以使用QID获取属性,请参阅,使用URI过滤

项目Q17738的示例:

SELECT DISTINCT  ?item ?itemLabel ?itemDescription (SAMPLE(?article) AS ?articleSample)
WHERE
  { ?article  schema:about       ?item ;
              schema:inLanguage  "en" ;
              schema:isPartOf    <https://en.wikipedia.org/>
    FILTER ( ?item = <http://www.wikidata.org/entity/Q17738> )    
    SERVICE wikibase:label
      { bd:serviceParam
                  wikibase:language  "en"
      }
  }
GROUP BY ?item ?itemLabel ?itemDescription
看这个


另请参见。

是的,您可以使用QID获取属性,请参见,使用URI过滤

项目Q17738的示例:

SELECT DISTINCT  ?item ?itemLabel ?itemDescription (SAMPLE(?article) AS ?articleSample)
WHERE
  { ?article  schema:about       ?item ;
              schema:inLanguage  "en" ;
              schema:isPartOf    <https://en.wikipedia.org/>
    FILTER ( ?item = <http://www.wikidata.org/entity/Q17738> )    
    SERVICE wikibase:label
      { bd:serviceParam
                  wikibase:language  "en"
      }
  }
GROUP BY ?item ?itemLabel ?itemDescription
看这个


另请参见。

至少有两种方法可以在SPARQL中指定多个项

过滤器?列表中的项目…:

值?项{…列表…}:

区别在于IN只是一个函数:参数在这个列表中吗

值是向查询传递数据的一种方式。虽然我们使用了简单的表格,但您可以提供完整的表格数据:

VALUES (?x ?y) {
   (:uri1 1)
   (:uri2 UNDEF)
}

语法对于一个变量有一个特殊的情况,所以我不必写值??item{wd:Q17738 wd:Q181795}。

在SPARQL中至少有两种指定多个项的方法

过滤器?列表中的项目…:

值?项{…列表…}:

区别在于IN只是一个函数:参数在这个列表中吗

值是向查询传递数据的一种方式。虽然我们使用了简单的表格,但您可以提供完整的表格数据:

VALUES (?x ?y) {
   (:uri1 1)
   (:uri2 UNDEF)
}

语法对于一个变量有一个特殊的情况,所以我不必写值??项{wd:Q17738 wd:Q181795}。

您可以从SPARQL端点获取给定实体的属性,但查询Wikidata API模块可能更好

例:


另请参见:

您可以从SPARQL端点获取有关给定实体的属性,但最好查询Wikidata API模块

例:

另见: