我喜欢从 SPARQL 端点获取基于 RDF 数据的视觉效果。获得一个额外的外部数据加载器将是对 d3 的一个很好的补充,它可以通过发出 SPARQL 查询来提取数据。
已经有人在做这样的事情了吗?对这样的企业有什么建议吗?还是我忽略的一个完全明显的解决方案?
There is the d3sparql project that actually enables to create d3 visualizations from the results of a SPARQL query.
Here is how it self-describes:
JavaScript natually fits for querying a SPARQL endpoint which provides a REST service returning the result in the JSON format. The d3sparql.js library provides functions executing a SPARQL query by Ajax call (XMLHttpRequest) and visulaizing results by the D3 library. Basically, this library transforms the SPARQL Query Results JSON Format (aka. application/sparql-results+json) into several JSON formats which major D3 layouts can accept. Many of the examples are borrowed from bl.ocks.org and bost.ocks.org.
Home page: http://biohackathon.org/d3sparql/
Source code: https://github.com/ktym/d3sparql
首先,我也是!我绝对希望在 d3 中看到 SPARQL 查询功能(实际上是任何 RDF 或 SPARQL 功能)。据我所知,不存在这样的情况。
所以现在:看一下这个问题,了解如何使用 jQuery 访问 SPARQL 端点。
此外,您可能想了解更多关于同源策略以及如何使用 JSONP 规避它的信息。IBM developerWorks 上的这篇文章是一个很好的介绍。
我终于开始创建一个d3-sparql插件,它是根据 d3 v4 插件架构构建的。(也提供d3 v3 版本。)
下载插件并将其添加到您的项目中:
<script src="d3-sparql.min.js"></script>
指定端点和 *query" 以获取准备用于 d3 可视化的数据:
d3.sparql(endpoint, query, function (error, data) {
console.log(data);
}
该插件还确实将 RDF 数据类型转换为 JavaScript 等效项Date()
和Number()
.