Sgvizler:为空结果创建空 table
Sgvizler: Create empty table for empty result
当我使用 Sgvizler 0.6 创建 sgvizler.visualization.Table
并且 SPARQL 查询没有结果时,Sgvizler 不绘制任何东西,甚至 table header 也不绘制。这可能会使用户感到困惑,他们可能认为结果仍在计算中或脚本已崩溃。如何配置 Sgvizler 绘制 table header 即使结果为空?
最小工作示例
<!doctype html>
<html>
<head>
<meta charset="utf-8"/>
<script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/jquery/1.9.0/jquery.js"></script>
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript" src="http://mgskjaeveland.github.io/sgvizler/v/0.6/sgvizler.js"></script>
<script>
sgvizler
.defaultEndpointURL("https://dbpedia.org/sparql")
.defaultChartFunction("sgvizler.visualization.Table")
.defaultChartWidth(1000);
$(document).ready(function (){ sgvizler.containerDrawAll(); });
</script>
</head>
<body>
<h2>First Table</h2>
<div id="results"
data-sgvizler-query="
select distinct ?class
{
?class rdfs:subClassOf dbo:Animal.
}
">
</div>
<h2>Second Table</h2>
<div id="noresults"
data-sgvizler-query="
select distinct ?class
{
?class rdfs:subClassOf dbo:Unicorn.
}
">
</div>
</body>
</html>
这是解析器中的一个错误,它只查看第一行结果来构建 google.visualization.DataTable 对象接受的 JSON。
解决方案是重写解析器以检查 SPARQL 结果集的 "column headers"。
解析器在这里:https://github.com/mgskjaeveland/sgvizler/blob/master/src/parser.js
当我使用 Sgvizler 0.6 创建 sgvizler.visualization.Table
并且 SPARQL 查询没有结果时,Sgvizler 不绘制任何东西,甚至 table header 也不绘制。这可能会使用户感到困惑,他们可能认为结果仍在计算中或脚本已崩溃。如何配置 Sgvizler 绘制 table header 即使结果为空?
最小工作示例
<!doctype html>
<html>
<head>
<meta charset="utf-8"/>
<script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/jquery/1.9.0/jquery.js"></script>
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript" src="http://mgskjaeveland.github.io/sgvizler/v/0.6/sgvizler.js"></script>
<script>
sgvizler
.defaultEndpointURL("https://dbpedia.org/sparql")
.defaultChartFunction("sgvizler.visualization.Table")
.defaultChartWidth(1000);
$(document).ready(function (){ sgvizler.containerDrawAll(); });
</script>
</head>
<body>
<h2>First Table</h2>
<div id="results"
data-sgvizler-query="
select distinct ?class
{
?class rdfs:subClassOf dbo:Animal.
}
">
</div>
<h2>Second Table</h2>
<div id="noresults"
data-sgvizler-query="
select distinct ?class
{
?class rdfs:subClassOf dbo:Unicorn.
}
">
</div>
</body>
</html>
这是解析器中的一个错误,它只查看第一行结果来构建 google.visualization.DataTable 对象接受的 JSON。
解决方案是重写解析器以检查 SPARQL 结果集的 "column headers"。
解析器在这里:https://github.com/mgskjaeveland/sgvizler/blob/master/src/parser.js