如何使用维基数据 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 代码并使用模拟用户操作获取文件将是实现它的最快方法。
如果我运行这个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 代码并使用模拟用户操作获取文件将是实现它的最快方法。