d3sparql强制图 - 未连接的节点

时间:2016-06-27 07:02:42

标签: d3.js graph sparql ontology

我一直在尝试使用d3sparql根据我的本体生成强制导向图。 我有这个数据,我试图在图表中显示:

---------------------------------------------------
scname              |      pname       | author   |
---------------------------------------------------
Prunus Serrulata    | Sheraton Cherry  | John Doe |
Ailanthus Altissima | Chinese Sumac    | Jane Doe |
Acca Sellowiana     | Pineapple Guava  | John Doe |
---------------------------------------------------

正如我们所看到的,有两个实例具有相同的作者John Doe。

但是在图中,两个节点都没有相互链接。虽然应该有3个scname,pname和author节点,但是在图中只有pname和author的节点。

screenshot

编辑:我想做的是这样的事情:

example

是否与我的owl文件有关,因为所有3个实例都有自己的数据属性? 为什么图表只显示2个节点而不是所有3个节点?

编辑:

这是我的代码:

<!DOCTYPE html>
<meta charset="utf-8">
<html>
  <head>
    <link rel="stylesheet" type="text/css" href="bootstrap.css"/>
    <script src="//d3js.org/d3.v3.min.js"></script>
    <script src="d3sparql.js"></script>
    <script>
    function exec() {
      var endpoint = d3.select("#endpoint").property("value")
      var sparql = d3.select("#sparql").property("value")
      d3sparql.query(endpoint, sparql, render)
    }
    function render(json) {
      var config = {
        "charge": -500,
        "distance": 50,
        "width": 1000,
        "height": 750,
        "selector": "#result"
      }
      d3sparql.forcegraph(json, config)
    }
    function toggle() {
      d3sparql.toggle()
    }
    </script>
  </head>
  <body>
    <div id="query" style="margin: 10px">
      <h1>d3forcegraph</h1>
      <form class="form-inline">
        <label>SPARQL endpoint:</label>
        <div class="input-append">
          <input id="endpoint" class="span5" value="http://localhost:3030/plantont/query" type="text">
          <button class="btn" type="button" onclick="exec()">Query</button>
          <button class="btn" type="button" onclick="toggle()"><i id="button" class="icon-chevron-up"></i></button>
        </div>
      </form>
      <textarea id="sparql" class="span9" rows=15>

        PREFIX podb: <http://localhost:8080/plantdb/ontology/plantont#>
        PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
        PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>

        SELECT  ?scname ?pname ?author
        WHERE
             { ?sub podb:scientificName ?scname .
               ?sub podb:plantName ?pname .
               ?sub podb:hasTaxon ?tax .
               ?tax podb:scientificNameAuthorship ?author

  }

      </textarea>
    </div>
    <div id="result"></div>
  </body>
</html>

0 个答案:

没有答案