sgVizler - 删除基础 URL

sgVizler - Remove Base URL

//Initialize sgvizler Query for actors
var A = new sgvizler.Query();

A.query(" PREFIX dc: <http://purl.org/dc/terms/> PREFIX am: <http://data.linkedmdb.org/resource/movie/actor_name> SELECT ?actorName ?actorLink  WHERE { ?actorLink am: 'Christian Bale' . ?actorLink am: ?actorName . } ")
  .endpointURL("http://data.linkedmdb.org/sparql")
  .endpointOutputFormat("jsonp")
  .chartFunction("sgvizler.visualization.Table")
  .draw("searchResults");
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://www.google.com/jsapi"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/2.10.0/d3.v2.min.js"></script>
<script src="https://mgskjaeveland.github.io/sgvizler/v/0.6/sgvizler.js"></script>


<div id="searchResults"> </div>

我正在使用 Sgvizler 0.6 来可视化一些 SPARQL 查询,但由于某种原因,当返回 link 时,我尝试单击它 baseURL + 真正的 URL 被返回。有什么方法可以删除 baseURL 并只将 URL 留给实际的网页吗?

我用 Sgvizler2 测试过。我在 javascript 控制台日志中有一条错误消息:

No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'https://bordercloud.github.io' is therefore not allowed access.

您需要配置您的 SPARQL 服务以允许另一个来源,它将与 Sgvizler 一起工作。

可能是,您的问题与 Jetty 服务器的配置有关:How to add Access-Control-Allow-Origin to jetty server

代码中存在错误,返回的不是处理 href 的函数,而是函数的名称。为了解决这个问题,上传了新版本的代码。将脚本源更改为 <script src="https://mgskjaeveland.github.io/sgvizler/v/0.7/sgvizler.js"></script> 可解决问题。