标签: wikidata

计数时如何获取 SPARQL 查询的默认返回值

我有一个查询,我用年份分组来计算。在某些年份中,没有可计算的项目,因此没有结果。我想让 SPARQL 在这些年中返回零计数。

我正在使用 Wikidata 查询服务https://query.wikidata.org,我目前的解决方案是制作一系列值并与实际查询进行联合。对我来说看起来有点笨拙。有没有更好的办法?

#defaultView:BarChart
select ?year ?number_of_pages ?work_label where {
  {
    select ?year (sample(?pages) as ?number_of_pages) ?work_label       
    where {
      {
        select * where {
          values (?year ?pages ?work_label) {
            ("2000" "0"^^xsd:integer "_") 
            ("2001" "0"^^xsd:integer "_") 
            ("2002" "0"^^xsd:integer "_") 
            ("2003" "0"^^xsd:integer "_") 
            ("2004" "0"^^xsd:integer "_") 
            ("2005" "0"^^xsd:integer "_") 
            ("2006" "0"^^xsd:integer "_") 
            ("2007" "0"^^xsd:integer "_") 
            ("2008" "0"^^xsd:integer "_") 
            ("2009" "0"^^xsd:integer "_") 
            ("2010" "0"^^xsd:integer "_") 
            ("2011" "0"^^xsd:integer "_")
            ("2012" "0"^^xsd:integer "_")
            ("2013" "0"^^xsd:integer "_")
            ("2014" "0"^^xsd:integer "_")
            ("2015" …
Run Code Online (Sandbox Code Playgroud)

sparql wikidata

1
推荐指数
1
解决办法
1414
查看次数

如何在维基数据SPARQL中获取电影成本货币?

我知道如何获得指定电影的费用:

PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT ?item (GROUP_CONCAT( ?_cost; SEPARATOR = "~~~") AS ?budget) 
WHERE {
VALUES ?selectedMovies { wd:Q24515019 wd:Q20762698 }
?item wdt:P31/wdt:P279* wd:Q11424 filter (?item = ?selectedMovies).
OPTIONAL {
?item wdt:P2130 ?_cost.
}
}
GROUP BY ?item
Run Code Online (Sandbox Code Playgroud)

但是当我尝试以成本换取货币时,我什么也没得到:

PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT ?item (GROUP_CONCAT( ?_cost; SEPARATOR = "~~~") AS ?budget) 
(GROUP_CONCAT( ?_currency; SEPARATOR = "~~~") AS ?_currency)
WHERE {
VALUES ?selectedMovies { wd:Q24515019 wd:Q20762698 }
?item wdt:P31/wdt:P279* wd:Q11424 filter (?item = ?selectedMovies).
OPTIONAL {
?item wdt:P2130 ?_cost.
?_cost wdt:P2237 …
Run Code Online (Sandbox Code Playgroud)

sparql wikidata

1
推荐指数
1
解决办法
340
查看次数

Wikidata Sparql如何从人们那里获得奖励时间和工作

自Freebase关闭以来,我尝试将基于Freebase的测验生成器改编为Wikidata。我这样做很麻烦,现在我陷入了一个简单的问题:

我如何获得获奖日期以及从人民开始?

例如:我想有2016The RevenantLeonardo Dicaprio。我尝试了几次这样的请求:

SELECT ?id ?idLabel ?date ?forWork
WHERE {
  wd:Q38111 wdt:P166 ?id .
  ?id wdt:P585 ?date .
  ?id wdt:1411 ?forWork .
  SERVICE wikibase:label { bd:serviceParam wikibase:language "fr" }
}
Run Code Online (Sandbox Code Playgroud)

问题在于日期(wdt:P58)与获得的奖励(P166)相关联,而与Leonardo DiCaprionor无关Academy Award for Best Actor

这些信息可在Leonardo DiCaprio页面上获得(作为所获得奖项的一部分)

我的另一个问题是Leonardo从他的名字访问的所有数据都是字符串而不是id。

如果有人可以帮助我,那就太好了!

sparql wikidata wikidata-api

0
推荐指数
1
解决办法
267
查看次数

如何通过API获取维基百科文章长度?

如果我有文章 URL,如何获取文章元数据?特别是长度、类别和儿子上?我正在开发 Java 应用程序。

wikipedia wikipedia-api wikidata wikidata-api

0
推荐指数
1
解决办法
1156
查看次数

维基数据 SPARQL - 获取公司实体及其总部位置

我在提取公司总部的位置属性时遇到问题。

我的查询:查找所有公司或子类,并返回一些基本属性,例如 ISIN 和 URL 以及总部位置。

我尝试使用此示例来扩展查询的 Headquarter 部分,以返回位置信息,例如城市、国家以及坐标 latitude 和 longitude。然而,我陷入了坚持价值观或标签的困境。

谢谢

SELECT
  ?item ?itemLabel ?web ?isin ?hq ?hqloc ?inception

# valueLabel is only useful for properties with item-datatype
WHERE 
{
  ?item p:P31/ps:P31/wdt:P279* wd:Q783794.

  OPTIONAL{?item wdt:P856 ?web.} # get item
  OPTIONAL{?item wdt:P946 ?isin.} # get item
  OPTIONAL{?item wdt:P571 ?inception.} # get item
  OPTIONAL{?item wdt:P159 ?hq.}  

  OPTIONAL{?item p:P159 ?hqItem. # get property
           ?hqItem ps:P159 wd:Q515. # get property-statement wikidata-entity
           ?hqItem pq:P17 ?hqloc. # get …
Run Code Online (Sandbox Code Playgroud)

sparql wikidata

0
推荐指数
1
解决办法
1483
查看次数

反转SPARQL中的字符串

是否可以在SPARQL中反转字符串,所以“ abc”变为“ cba”。可替代地,可以基于相反的字符串排序。

我对在Wikidata Query Service上可以使用的解决方案特别感兴趣。

string sparql wikidata

0
推荐指数
1
解决办法
349
查看次数