Sgvizler:为空结果创建空表

时间:2017-06-07 14:30:14

标签: sgvizler

当我使用Sgvizler 0.6创建sgvizler.visualization.Table并且SPARQL查询没有结果时,Sgvizler不绘制任何内容,甚至不绘制表头。这可能会使可能认为结果仍在计算或脚本崩溃的用户感到困惑。即使结果为空,如何配置Sgvizler来绘制表头?

最低工作示例

    <!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>

1 个答案:

答案 0 :(得分:1)

这是解析器中的一个错误,它只查看第一行结果,以构建google.visualization.DataTable对象接受的JSON。

解决方案是重写解析器以检查SPARQL结果集的“列标题”。

解析器位于:https://github.com/mgskjaeveland/sgvizler/blob/master/src/parser.js