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

How to use a Wikidata SPARQL Query and get the url to SVG image of chart

如果我运行这个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 中,我可以选择使用菜单下载 > SVG 图像

将气泡图下载为 SVG 文件

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

{ "head" : { "vars" : [ "cid", "cause", "count" ] }, "results" : { "bindings" : [ { "cid" : { "type" : "uri", "value" : "http://www.wikidata.org/entity/Q12152" }, "cause" : { "xml:lang" : "en", "type" : "literal", "value" : "myocardial infarction" }, "count" : { "datatype" : "http://www.w3.org/2001/XMLSchema#integer", "type" : "literal", "value" : "5837" } }, { "cid" : { "type" : "uri", "value" : "http://www.wikidata.org/entity/Q12192" }, "cause" : { "xml:lang" : "en", "type" : "literal", "value" : "pneumonia" }, "count" : { "datatype" : "http://www.w3.org/2001/XMLSchema#integer", "type" : "literal", "value" : "2177" }.... etc

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