Как я могу заставить NetLogo распознавать породы при импорте файла graphml?
Я указал атрибуты породы в файле graphml и назвал породы в NetLogo. При импорте в NetLogo с использованием nw:load-graphml
я считаю, что NetLogo должен назначить breed
на links
, прочитав атрибут breed
в файле graphml. Как описано в документации NetLogo :
... nw:load-graphml
попытается присвоить значения атрибутов, определенные в файле GraphML, переменным агента NetLogo с такими же именами (это не учитывает регистр). Первый, который он пытается установить, это breed
, если он там есть, поэтому черепаха или звено получат правильную породу и, следовательно, правильные переменные породы.
Однако, несмотря на указание типов ссылок в NetLogo и файле graphml, ссылкам присваиваются общие породы "ссылок" при импорте.
Пример файла graphml:
<?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">
<key id="v_name" for="node" attr.name="name" attr.type="string"/>
<key id="e_breed" for="edge" attr.name="breed" attr.type="string"/>
<graph id="G" edgedefault="undirected">
<node id="n0">
<data key="v_name">1</data>
</node>
<node id="n1">
<data key="v_name">2</data>
</node>
<node id="n2">
<data key="v_name">3</data>
</node>
<node id="n3">
<data key="v_name">4</data>
</node>
<node id="n4">
<data key="v_name">5</data>
</node>
<edge source="n1" target="n2">
<data key="e_breed">ftf-tie</data>
</edge>
<edge source="n0" target="n3">
<data key="e_breed">ftf-tie</data>
</edge>
<edge source="n0" target="n4">
<data key="e_breed">ftf-tie</data>
</edge>
<edge source="n1" target="n4">
<data key="e_breed">ftf-tie</data>
</edge>
<edge source="n1" target="n4">
<data key="e_breed">sns-tie</data>
</edge>
</graph>
</graphml>
Код импорта NetLogo:
extensions [ nw ]
undirected-link-breed [ ftf-ties ftf-tie ]
undirected-link-breed [ sns-ties sns-tie ]
to setup
clear-all
nw:load-graphml "test.graphml"
repeat 30 [ layout-spring turtles links 0.2 5 1 ]
end
Спасибо!