gpt4 book ai didi

javascript - 将 JSON-LD 转换为 d3.js Node/链接格式?

转载 作者:太空宇宙 更新时间:2023-11-04 02:22:16 25 4
gpt4 key购买 nike

我正在尝试对 OWL 本体进行可视化。我已将其转换为 JSON-LD,但现在需要将其转换为 D3 的 Node/链接格式?作为引用,格式如下:

{
"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}
]
}

我知道我可以使用 d3.json 打开一个 json 文件,但我不确定如何从 JSON-LD 转换为上述格式。有什么解决办法吗?谢谢。

编辑:

我的 owl 本体可在此处的 Pastebin 上找到(采用 json-ld 格式):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 数据后,通过您将编写的转换函数对其进行处理:

  1. 循环@graph数组

在这个循环中,保留每个 Node 的记录,以及每个链接的记录。对于 Node ,请确保使用对象,以便获得唯一的 Node 。

  • 循环 Node 对象,并基于它创建“Node ”数组

  • 通过查找 Node 数组中每个 Node 的索引来创建“链接”数组...

  • 您可能想看看 d3.js 邮件列表的文件,有些人已经问过与您类似的问题。

    关于javascript - 将 JSON-LD 转换为 d3.js Node/链接格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32676248/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com