如何使用维基数据SPARQL查询并获取图表的SVG图像的URL

时间:2017-09-22 01:36:26

标签: sparql wikidata

如果我运行此SPARQL查询

#defaultView:BubbleChart
#TEMPLATE={"template":"Overall causes of death ranking of ?thing ","variables":{"?thing": {"query":"SELECT ?id  (COUNT(?id) AS ?count) WHERE {  ?sub wdt:P509 ?y.  ?sub wdt:P31 ?id. } GROUP BY ?id "} } }
SELECT ?cid ?cause (COUNT(*) AS ?count) WHERE {
  BIND(wd:Q5 AS ?thing)
  ?pid wdt:P31 ?thing.
  ?pid wdt:P509 ?cid.
  OPTIONAL {
    ?cid rdfs:label ?cause.
    FILTER((LANG(?cause)) = "en")
  }
}
GROUP BY ?cid ?cause
ORDER BY DESC(?count) ?cause
LIMIT 50
Wikidata Query Editor中的

,我可以选择使用菜单Download>下载气泡图作为SVG文件。 SVG图像

Resulting bubble chart of the SPARQL query

当我以编程方式执行相同的SPARQL脚本时,我正在寻找生成或检索此SVG文件的URL的方法。在这种情况下,只返回原始数据(作为JSON)。

  

{" head" :{       "瓦尔" :[" cid","原因","计数" ]},"结果" :{       "绑定" :[{         " CID" :{           "类型" :" uri",           "值" :" http://www.wikidata.org/entity/Q12152"         },         "原因" :{           " XML:郎" :" en",           "类型" :" literal",           "值" :"心肌梗塞"         },         "计数" :{           "数据类型" :" http://www.w3.org/2001/XMLSchema#integer",           "类型" :" literal",           "值" :" 5837"         }       },{         " CID" :{           "类型" :" uri",           "值" :" http://www.wikidata.org/entity/Q12192"         },         "原因" :{           " XML:郎" :" en",           "类型" :" literal",           "值" :"肺炎"         },         "计数" :{           "数据类型" :" http://www.w3.org/2001/XMLSchema#integer",           "类型" :" literal",           "值" :" 2177"         ......等等。

1 个答案:

答案 0 :(得分:1)

该SVG没有URL,因为它是由检索JSON结果后在浏览器中运行的Javascript生成的。如果您想以编程方式获取它,我认为使用浏览器自动化来运行Javascript代码并使用模拟的用户操作获取文件是实现它的最快方法。