gpt4 book ai didi

netlogo - 如何加载带有 Netlogo NW 扩展名的 graphml 文件

转载 作者:行者123 更新时间:2023-12-02 15:34:54 26 4
gpt4 key购买 nike

我认为 nw:load-graphml 的工作方式存在错误。

采用此 graphml 文件,其中包含无向品种“parentals”的 3 个节点和 3 个链接以及有向品种“diffusions”的 2 个链接:

<?xml version="1.0" encoding="UTF-8"?>
<graphml xmlns="http://graphml.graphdrawing.org/xmlns"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns
http://graphml.graphdrawing.org/xmlns/1.0/graphml.xsd">
<!-- Created by igraph -->
<key id="e_breed" for="edge" attr.name="breed" attr.type="string"/>
<graph id="G" edgedefault="undirected">
<node id="n0">
</node>
<node id="n1">
</node>
<node id="n2">
</node>
<edge source="n0" target="n1">
<data key="e_breed">parentals</data>
</edge>
<edge source="n0" target="n2">
<data key="e_breed">parentals</data>
</edge>
<edge source="n1" target="n2">
<data key="e_breed">diffusions</data>
</edge>
<edge source="n0" target="n1">
<data key="e_breed">diffusions</data>
</edge>
</graph>
</graphml>

当您使用 nw:load-graphml 加载文件时,会创建所有“parentals”链接,而“diffusions”仅部分创建:仅涉及尚未由parental 链接链接的节点的“diffusions”链接创建,而其他则被跳过...这是一个错误还是 load-graphml 原语中的预期行为?

这是一个简短的网络 Logo 代码来演示:

extensions [nw]

undirected-link-breed [parentals parental]
directed-link-breed [diffusions diffusion]

to setup
ca
nw:load-graphml "prova.graphml"
layout-circle turtles 10
end

最佳答案

在您的 NetLogo 代码中,“扩散”链接是定向的。在 prova.graphml 文件中的扩散链接中添加 direct = "true"属性:

<edge source="n0" target="n1">
<data key="e_breed">parentals</data>
</edge>
<edge source="n0" target="n2">
<data key="e_breed">parentals</data>
</edge>
<edge directed="true" source="n1" target="n2">
<data key="e_breed">diffusions</data>
</edge>
<edge directed="true" source="n0" target="n1">
<data key="e_breed">diffusions</data>
</edge>

我尝试了更正后的文件,我认为链接现在可以了:

ask links [show self]

结果:

(diffusion 2 1): (diffusion 2 1)
(diffusion 0 2): (diffusion 0 2)
(parental 0 1): (parental 0 1)
(parental 0 2): (parental 0 2)

编辑:

在当前版本的 NW 扩展中有一些 open issuesload-graphml 函数中。我认为在导入文件后添加一些验证以检查链接的一致性是个好主意。也许使用 is-directed-link? 记者为每个“定向”链接面包,并计算链接并比较预期的链接数量。

关于netlogo - 如何加载带有 Netlogo NW 扩展名的 graphml 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28517208/

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