将JSON-LD转换为d3.js节点/链接格式
Convert JSON-LD to d3.js node/links format?
我正在尝试对OWL本体进行可视化。我已经转换为JSON-LD,但现在需要得到它的D3的节点/链接格式?作为参考,格式如下:
{
"nodes": [
{"x": 469, "y": 410},
{"x": 493, "y": 364},
{"x": 442, "y": 365},
{"x": 467, "y": 314},
{"x": 477, "y": 248},
{"x": 425, "y": 207},
{"x": 402, "y": 155},
{"x": 369, "y": 196},
{"x": 350, "y": 148},
{"x": 539, "y": 222},
{"x": 594, "y": 235},
{"x": 582, "y": 185},
{"x": 633, "y": 200}
],
"links": [
{"source": 0, "target": 1},
{"source": 1, "target": 2},
{"source": 2, "target": 0},
{"source": 1, "target": 3},
{"source": 3, "target": 2},
{"source": 3, "target": 4},
{"source": 4, "target": 5},
{"source": 5, "target": 6},
{"source": 5, "target": 7},
{"source": 6, "target": 7},
{"source": 6, "target": 8},
{"source": 7, "target": 8},
{"source": 9, "target": 4},
{"source": 9, "target": 11},
{"source": 9, "target": 10},
{"source": 10, "target": 11},
{"source": 11, "target": 12},
{"source": 12, "target": 10}
]
}
我知道我可以打开一个json文件使用d3。json,但我不确定如何从json - ld转换为上述格式。有解决方案吗?谢谢。
编辑:我的猫头鹰本体可以在pastebin上找到(json- old格式):http://pastebin.com/g7ggDyFX。如果你看一下上下文,你可以看到我正在通过"isSubClass"属性建模本体。
我知道在D3中读取json文件,我可以使用D3 .json。我不确定如何准确地转换为上述格式。
我发现这个github存储库https://github.com/uf6/ottograf说它应该能够转换成格式,但我有很多麻烦运行它,我也想保持它在javascript。任何建议/解决方案?谢谢!
假设你要做的是转换这个:
{
"@id": "schema:Person"
, "@type": "owl:Class"
, "subClassOf": {
"@id": "gr:BusinessEntity"
}
}
到
{
"nodes": [
{ "@id": "schema:Person", "@type": "owl:Class"}
{ "@id": "gr:BusinessEntity"}
]
, "links": [
{"source": 0, "target": 1}
]
}
你需要做的是:
一旦json数据被加载,通过一个转换函数处理它,你会写:
- 循环通过@graph数组
在这个循环中,保存每个节点的记录,以及每个链接的记录。对于节点,请确保使用对象,以便获得唯一的节点。
循环遍历nodes对象,并基于它创建你的"nodes"数组
通过查找nodes数组中每个节点的索引来创建你的"links"数组
你可能想看看d3.js的邮件列表,有些人已经问了类似的问题。
相关文章:
- d3使用链接的节点名称的力图
- 如果某个值在另一个节点中,我如何每秒自动单击一个链接
- 在没有 jquery 的情况下更改子节点(父节点具有 ID)中的链接文本
- Node.js如何将链接标记解析为节点模块
- 链接(通过url)到infovis(jit)树图中的特定节点
- 如何在D3Javascript中单击节点时显示和隐藏链接和节点
- 正在节点d3.js之间创建链接,当前返回Uncaught TypeError:无法读取属性'weight'
- D3Javascript中的力定向图中节点之间的链接
- 使用运行时逻辑链接节点.js流
- 在强制布局 D3.js 中保持节点之间的动态链接距离
- D3 强制图呈现节点和链接
- 有没有一种简单的方法可以在节点上双击 vis.js 创建超链接/javascript-action
- 有没有像节点.js涡轮链接这样的东西
- 如何在新窗口中打开 Arbor.js 节点链接
- d3:节点+链接,形成多代家谱;如何解析数据以绘制线条
- 如何将一个xml文件与几个节点和子节点链接起来
- 是否有可能改变现有图形的节点/链接的属性?比如我想改变链接/节点的颜色
- 将JSON-LD转换为d3.js节点/链接格式
- 删除空白文本节点/链接
- D3.js箭头有向图:添加节点/链接的飞行