如何在NetLogo中加载定向图形文件?

如何在NetLogo中加载定向图形文件?,netlogo,Netlogo,我使用了nw:load graphml“filename.graphml”在NetLogo中加载有向图,但它正在加载无向图。是否有其他命令可以在NetLogo中加载定向图形文件 下面是我用来加载GraphML文件的代码。我已经尝试了下面给出的load graph和load-graph1过程 我还为graphml文件中的链接添加了directed=“true”属性,例如: edge directed=“true”id=“2”source=“14341”target=“8312” 然而,仍然网络加载

我使用了nw:load graphml“filename.graphml”在NetLogo中加载有向图,但它正在加载无向图。是否有其他命令可以在NetLogo中加载定向图形文件

下面是我用来加载GraphML文件的代码。我已经尝试了下面给出的load graph和load-graph1过程

我还为graphml文件中的链接添加了directed=“true”属性,例如: edge directed=“true”id=“2”source=“14341”target=“8312” 然而,仍然网络加载是无方向的

    to load-graph
      let filename user-file
      if (filename != false) [
        nw:load-graphml filename [
          set shape "circle"
          set size 1
        ]
        nw:set-context turtles links
      ]
    end

    to load-graph1
      nw:load-graphml "myfile.graphml"
    end
图形文件:

    <?xml version="1.0" encoding="UTF-8"?><graphml xmlns="http://graphml.graphdrawing.org/xmlns">
    <key attr.name="label" attr.type="string" for="node" id="label"/>
    <key attr.name="Edge Label" attr.type="string" for="edge" id="edgelabel"/>
    <key attr.name="weight" attr.type="double" for="edge" id="weight"/>
    <key attr.name="r" attr.type="int" for="node" id="r"/>
    <key attr.name="g" attr.type="int" for="node" id="g"/>
    <key attr.name="b" attr.type="int" for="node" id="b"/>
    <key attr.name="x" attr.type="float" for="node" id="x"/>
    <key attr.name="y" attr.type="float" for="node" id="y"/>
    <key attr.name="size" attr.type="float" for="node" id="size"/>
    <graph edgedefault="directed">
    <node id="16">
    <data key="label">v16</data>
    <data key="size">100.0</data>
    <data key="r">0</data>
    <data key="g">0</data>
    <data key="b">0</data>
    <data key="x">4.917384E-7</data>
    <data key="y">48.0</data>
    </node>
    <node id="15">
    <data key="label">v15</data>
    <data key="size">97.648</data>
    <data key="r">0</data>
    <data key="g">0</data>
    <data key="b">0</data>
    <data key="x">14.832003</data>
    <data key="y">45.648003</data>
    </node>
    <node id="17">
    <data key="label">v17</data>
    <data key="size">97.648</data>
    <data key="r">0</data>
    <data key="g">0</data>
    <data key="b">0</data>
    <data key="x">-14.832001</data>
    <data key="y">45.648003</data>
    </node>
    <node id="14">
    <data key="label">v14</data>
    <data key="size">90.832</data>
    <data key="r">0</data>
    <data key="g">0</data>
    <data key="b">0</data>
    <data key="x">28.211998</data>
    <data key="y">38.832</data>
    </node>
    <node id="18">
    <data key="label">v18</data>
    <data key="size">90.832</data>
    <data key="r">0</data>
    <data key="g">0</data>
    <data key="b">0</data>
    <data key="x">-28.212002</data>
    <data key="y">38.832</data>
    </node>
    <node id="13">
    <data key="label">v13</data>
    <data key="size">80.212</data>
    <data key="r">0</data>
    <data key="g">0</data>
    <data key="b">0</data>
    <data key="x">38.832</data>
    <data key="y">28.211998</data>
    </node>
    <node id="19">
    <data key="label">v19</data>
    <data key="size">80.212</data>
    <data key="r">0</data>
    <data key="g">0</data>
    <data key="b">0</data>
    <data key="x">-38.832</data>
    <data key="y">28.211998</data>
    </node>
    <node id="12">
    <data key="label">v12</data>
    <data key="size">66.832</data>
    <data key="r">0</data>
    <data key="g">0</data>
    <data key="b">0</data>
    <data key="x">45.648003</data>
    <data key="y">14.832003</data>
    </node>
    <node id="20">
    <data key="label">v20</data>
    <data key="size">66.832</data>
    <data key="r">0</data>
    <data key="g">0</data>
    <data key="b">0</data>
    <data key="x">-45.648003</data>
    <data key="y">14.832003</data>
    </node>
    <node id="1">
    <data key="label">v1</data>
    <data key="size">52.000004</data>
    <data key="r">0</data>
    <data key="g">0</data>
    <data key="b">0</data>
    <data key="x">-48.000004</data>
    <data key="y">4.917384E-7</data>
    </node>
    <node id="11">
    <data key="label">v11</data>
    <data key="size">52.000004</data>
    <data key="r">0</data>
    <data key="g">0</data>
    <data key="b">0</data>
    <data key="x">48.0</data>
    <data key="y">4.917384E-7</data>
    </node>
    <node id="2">
    <data key="label">v2</data>
    <data key="size">37.168003</data>
    <data key="r">0</data>
    <data key="g">0</data>
    <data key="b">0</data>
    <data key="x">-45.648003</data>
    <data key="y">-14.832001</data>
    </node>
    <node id="10">
    <data key="label">v10</data>
    <data key="size">37.168003</data>
    <data key="r">0</data>
    <data key="g">0</data>
    <data key="b">0</data>
    <data key="x">45.648003</data>
    <data key="y">-14.832001</data>
    </node>
    <node id="3">
    <data key="label">v3</data>
    <data key="size">23.788002</data>
    <data key="r">0</data>
    <data key="g">0</data>
    <data key="b">0</data>
    <data key="x">-38.832</data>
    <data key="y">-28.212002</data>
    </node>
    <node id="9">
    <data key="label">v9</data>
    <data key="size">23.788002</data>
    <data key="r">0</data>
    <data key="g">0</data>
    <data key="b">0</data>
    <data key="x">38.832</data>
    <data key="y">-28.212002</data>
    </node>
    <node id="4">
    <data key="label">v4</data>
    <data key="size">13.168001</data>
    <data key="r">0</data>
    <data key="g">0</data>
    <data key="b">0</data>
    <data key="x">-28.212002</data>
    <data key="y">-38.832</data>
    </node>
    <node id="8">
    <data key="label">v8</data>
    <data key="size">13.168001</data>
    <data key="r">0</data>
    <data key="g">0</data>
    <data key="b">0</data>
    <data key="x">28.211998</data>
    <data key="y">-38.832</data>
    </node>
    <node id="5">
    <data key="label">v5</data>
    <data key="size">6.3519998</data>
    <data key="r">0</data>
    <data key="g">0</data>
    <data key="b">0</data>
    <data key="x">-14.832001</data>
    <data key="y">-45.648003</data>
    </node>
    <node id="7">
    <data key="label">v7</data>
    <data key="size">6.3519998</data>
    <data key="r">0</data>
    <data key="g">0</data>
    <data key="b">0</data>
    <data key="x">14.832003</data>
    <data key="y">-45.648003</data>
    </node>
    <node id="6">
    <data key="label">v6</data>
    <data key="size">4.0</data>
    <data key="r">0</data>
    <data key="g">0</data>
    <data key="b">0</data>
    <data key="x">4.917384E-7</data>
    <data key="y">-48.000004</data>
    </node>
    <edge id="0" source="20" target="9">
    <data key="weight">1.0</data>
    </edge>
    <edge id="1" source="17" target="8">
    <data key="weight">1.0</data>
    </edge>
    <edge id="2" source="18" target="2">
    <data key="weight">1.0</data>
    </edge>
    <edge id="3" source="7" target="11">
    <data key="weight">1.0</data>
    </edge>
    <edge id="4" source="16" target="4">
    <data key="weight">1.0</data>
    </edge>
    <edge id="5" source="12" target="9">
    <data key="weight">1.0</data>
    </edge>
    <edge id="6" source="5" target="16">
    <data key="weight">1.0</data>
    </edge>
    <edge id="7" source="9" target="1">
    <data key="weight">1.0</data>
    </edge>
    <edge id="8" source="10" target="4">
    <data key="weight">1.0</data>
    </edge>
    <edge id="9" source="2" target="1">
    <data key="weight">1.0</data>
    </edge>
    <edge id="10" source="18" target="15">
    <data key="weight">1.0</data>
    </edge>
    <edge id="11" source="4" target="11">
    <data key="weight">1.0</data>
    </edge>
    <edge id="12" source="4" target="2">
    <data key="weight">1.0</data>
    </edge>
    <edge id="13" source="9" target="8">
    <data key="weight">1.0</data>
    </edge>
    <edge id="14" source="6" target="8">
    <data key="weight">1.0</data>
    </edge>
    <edge id="15" source="4" target="1">
    <data key="weight">1.0</data>
    </edge>
    <edge id="16" source="2" target="18">
    <data key="weight">1.0</data>
    </edge>
    <edge id="17" source="19" target="6">
    <data key="weight">1.0</data>
    </edge>
    <edge id="18" source="1" target="6">
    <data key="weight">1.0</data>
    </edge>
    <edge id="19" source="8" target="9">
    <data key="weight">1.0</data>
    </edge>
    <edge id="20" source="10" target="3">
    <data key="weight">1.0</data>
    </edge>
    <edge id="21" source="12" target="19">
    <data key="weight">1.0</data>
    </edge>
    <edge id="22" source="11" target="4">
    <data key="weight">1.0</data>
    </edge>
    <edge id="23" source="3" target="18">
    <data key="weight">1.0</data>
    </edge>
    <edge id="24" source="13" target="14">
    <data key="weight">1.0</data>
    </edge>
    <edge id="25" source="10" target="2">
    <data key="weight">1.0</data>
    </edge>
    <edge id="26" source="17" target="6">
    <data key="weight">1.0</data>
    </edge>
    <edge id="27" source="6" target="7">
    <data key="weight">1.0</data>
    </edge>
    <edge id="28" source="12" target="16">
    <data key="weight">1.0</data>
    </edge>
    <edge id="29" source="20" target="3">
    <data key="weight">1.0</data>
    </edge>
    <edge id="30" source="13" target="5">
    <data key="weight">1.0</data>
    </edge>
    <edge id="31" source="20" target="11">
    <data key="weight">1.0</data>
    </edge>
    <edge id="32" source="11" target="15">
    <data key="weight">1.0</data>
    </edge>
    <edge id="33" source="20" target="15">
    <data key="weight">1.0</data>
    </edge>
    <edge id="34" source="15" target="17">
    <data key="weight">1.0</data>
    </edge>
    <edge id="35" source="10" target="8">
    <data key="weight">1.0</data>
    </edge>
    <edge id="36" source="14" target="7">
    <data key="weight">1.0</data>
    </edge>
    <edge id="37" source="8" target="2">
    <data key="weight">1.0</data>
    </edge>
    <edge id="38" source="16" target="7">
    <data key="weight">1.0</data>
    </edge>
    <edge id="39" source="1" target="19">
    <data key="weight">1.0</data>
    </edge>
    <edge id="40" source="5" target="13">
    <data key="weight">1.0</data>
    </edge>
    <edge id="41" source="1" target="20">
    <data key="weight">1.0</data>
    </edge>
    <edge id="42" source="17" target="4">
    <data key="weight">1.0</data>
    </edge>
    <edge id="43" source="13" target="9">
    <data key="weight">1.0</data>
    </edge>
    <edge id="44" source="14" target="12">
    <data key="weight">1.0</data>
    </edge>
    <edge id="45" source="8" target="13">
    <data key="weight">1.0</data>
    </edge>
    <edge id="46" source="8" target="1">
    <data key="weight">1.0</data>
    </edge>
    <edge id="47" source="9" target="2">
    <data key="weight">1.0</data>
    </edge>
    <edge id="48" source="5" target="14">
    <data key="weight">1.0</data>
    </edge>
    <edge id="49" source="16" target="11">
    <data key="weight">1.0</data>
    </edge>
    <edge id="50" source="4" target="9">
    <data key="weight">1.0</data>
    </edge>
    <edge id="51" source="1" target="8">
    <data key="weight">1.0</data>
    </edge>
    <edge id="52" source="7" target="12">
    <data key="weight">1.0</data>
    </edge>
    <edge id="53" source="20" target="16">
    <data key="weight">1.0</data>
    </edge>
    </graph>
    </graphml>

v16
100
0
0
0
4.917384E-7
48
v15
97.648
0
0
0
14.832003
45.648003
v17
97.648
0
0
0
-14.832001
45.648003
v14
90.832
0
0
0
28.211998
38.832
v18
90.832
0
0
0
-28.212002
38.832
v13
80.212
0
0
0
38.832
28.211998
v19
80.212
0
0
0
-38.832
28.211998
v12
66.832
0
0
0
45.648003
14.832003
v20
66.832
0
0
0
-45.648003
14.832003
v1
52.000004
0
0
0
-48.000004
4.917384E-7
v11
52.000004
0
0
0
48
4.917384E-7
v2
37.168003
0
0
0
-45.648003
-14.832001
v10
37.168003
0
0
0
45.648003
-14.832001
v3
23.788002
0
0
0
-38.832
-28.212002
v9
23.788002
0
0
0
38.832
-28.212002
v4
13.168001
0
0
0
-28.212002
-38.832
v8
13.168001
0
0
0
28.211998
-38.832
v5
6.3519998
0
0
0
-14.832001
-45.648003
v7
6.3519998
0
0
0
14.832003
-45.648003
v6
4
0
0
0
4.917384E-7
-48.000004
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

nw:load graphml
可以加载定向图

确保为图形文件中的
元素设置了
edgedfault=“directed”
。另外,如果您使用链接品种,请确保该品种定义为NetLogo内部的定向品种

如果仍然不起作用,您将不得不向我们展示一个示例GraphML文件以及加载该文件所使用的确切代码

编辑

我已经做了进一步的调查,我认为这可能是
nw
加载带有无种子链接的GraphML文件时出现的一个错误

解决这个问题的优雅方法是创建一系列定向链接,并在GraphML文件中使用
breed
属性来设置链接的种类

解决此问题的一种更快捷、更黑客的方法是在加载网络之前添加以下内容:

let dummies []
create-turtles 2 [
  create-links-to other turtles
  set dummies fput self dummies
]
foreach dummies [ t -> ask t [ die ] ]
然后,在加载网络后:

let dummies []
create-turtles 2 [
  create-links-to other turtles
  set dummies fput self dummies
]
foreach dummies [ t -> ask t [ die ] ]
这取决于NetLogo的无种子链接可以是定向的,也可以是无向的,但不能两者兼而有之。通过在网络加载之前创建虚拟定向链接,我们强制NetLogo按照定向创建所有其他链接


我已经在GitHub上发布了一个关于该问题的问题,并将进一步调查。在那之前,这项技术应该可以拯救你。

尼古拉斯·帕耶特,非常感谢你,它奏效了。再次感谢。GitHub问题的URL是什么。。。?