-1

我正在尝试用 SGvizler 制作一张桌子。但是,当我尝试创建表时,出现以下错误:

3.084s: loadGVizScript: loading packages: sgvizler.js:952 
3.087s: loadGVizScript: loading packages: table sgvizler.js:952 
4.742s: Error: A 'parsererror' occurred in Query.saveQueryResults() sgvizler.js:952 
5.049s: loadGVizScript: packages LOADED: sgvizler.js:952 
5.052s: loadGVizScript: packages LOADED: table

我使用的代码如下:

  <script>
  var boatValue;
  $("#res").click(function() {
  var boat = document.getElementById('boat');
  if (boat.checked)
  {
  boatValue = boat.value;
  }
  else
  {
  boatValue = "speedboat";
  }
  console.log(boatValue)

  $("#query").click(function() 
  {var Q = new sgvizler.Query();
  Q.query(`SELECT ?boat WHERE { ?boat s:BoatorNoat s:`+boatValue+` .}`)                                              
  .endpointURL("http://localhost/query/")                                                 
  .endpointOutputFormat("json")                                                 
  .chartFunction("google.visualization.Table")
  .draw("myElementID");
</script>

我重复了 varboatValue 几次,所以浏览器的内存/使用可能存在问题,但不幸的是我对此并不熟悉。希望有人能告诉我如何解决这个问题。

干杯!

4

2 回答 2

0

根据我能找到的文档,您的语法在这里看起来不正确:

Q.query(`SELECT ?boat WHERE { ?boat s:BoatorNoat s:`+boatValue+` .}`)

我认为你需要使用这样的双引号:

Q.query("SELECT ?boat WHERE { ?boat s:BoatorNoat s:" + boatValue + ".}")

在下面添加了一些我认为会有所帮助的代码。由于没有发布 HTML,因此不确定您拥有的所有点击处理程序是什么:

$("#query").click(function() {
  var boat = document.getElementById('boat');
  if (boat.checked) {
    boatValue = boat.value;
  } else {
    boatValue = "speedboat";
  }

  var query = "SELECT ?boat WHERE { ?boat s:BoatorNoat s:" +
    boatValue + ".}";

  console.log(query);
  /*Plug into your code below*/
  /*var Q = new sgvizler.Query();
  Q.query(query)
    .endpointURL("http://localhost/query/")
    .endpointOutputFormat("json")
    .chartFunction("google.visualization.Table")
    .draw("myElementID");*/


});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" id="boat" value="someOtherKindOfBoat">
<input type="button" id="query" value="See Query">

于 2017-10-23T19:42:54.907 回答
0

前缀“s:”未定义。这是 SPARQL 中的解析错误。

于 2017-10-24T10:59:02.590 回答