【问题标题】:d3.sparql - How to query SPARQL endpoints directly from D3js?d3.sparql - 如何直接从 D3js 查询 SPARQL 端点?
【发布时间】:2013-03-08 15:58:43
【问题描述】:

我喜欢从 SPARQL 端点获取基于 RDF 数据的视觉效果。如果 d3 有一个额外的外部数据加载器,它可以通过发出 SPARQL 查询来提取数据,那将是一个很好的补充。

已经有人在做这样的事情了吗?对这样的企业有什么建议吗?还是我确实忽略了一个完全显而易见的解决方案?

【问题讨论】:

    标签: d3.js sparql


    【解决方案1】:

    实际上有一个 d3sparql 项目可以根据 SPARQL 查询的结果创建 d3 可视化。

    这是它的自我描述方式:

    JavaScript 自然适合查询 SPARQL 端点,该端点提供 REST 服务以 JSON 格式返回结果。 d3sparql.js 库提供了通过 Ajax 调用 (XMLHttpRequest) 执行 SPARQL 查询并通过 D3 库显示结果的函数。基本上,这个库将 SPARQL 查询结果 JSON 格式(又名 application/sparql-results+json)转换为主要 D3 布局可以接受的几种 JSON 格式。许多示例是从 bl.ocks.org 和 bost.ocks.org 借来的。

    首页:http://biohackathon.org/d3sparql/

    源码:https://github.com/ktym/d3sparql

    【讨论】:

    • 太棒了!关于时间。 (-,
    【解决方案2】:

    首先,我也是!我绝对希望在 d3 中看到 SPARQL 查询功能(实际上是任何 RDF 或 SPARQL 功能)。 据我所知,不存在这样的情况。

    所以现在:看看this question,了解如何使用 jQuery 访问 SPARQL 端点

    另外,您可能想详细了解同源政策以及如何使用 JSONP 规避它。这个article at IBM developerWorks 是一个很好的介绍。

    而且看看sgvizler.js (source) 的实现可能会很有趣。

    【讨论】:

    • 我目前使用 sgvizler.js 来完成工作。效果不错,除了 d3 脚本等到 SPARQL 端点回答。将 sgvizler SPARQL 查询代码直接导入 d3 会很棒。
    • 我明白了!有趣的。抱歉,我认为您网站上的知识/经验较少。你在做什么样的项目?我们可以在某个地方看到它吗?
    【解决方案3】:

    我终于开始创建一个d3-sparql 插件,它是根据 d3 v4 插件架构构建的。 (也可以使用d3 v3 version。)

    Download 并将插件添加到您的项目中:

    <script src="d3-sparql.min.js"></script>
    

    指定 endpoint 和 *query" 以获取准备用于 d3 可视化的数据

    d3.sparql(endpoint, query, function (error, data) {
      console.log(data);
    }
    

    该插件还在 JavaScript 等效项 Date()Number() 中转换 RDF 数据类型。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-30
    • 2023-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多