Zuweisen eines Standardnamespaces in networkx.write_gexf
Geben Sie dieses Codebit, das die networkx-Bibliothek von Python als gültige GEXF-Datei generiert, an. Ich kann in den Dokumenten keine Stelle finden, an der ich xmlns: ns0 in xmlns: nämlich den GEXF-kompatiblen Namespace ändere.
<?xml version="1.0" encoding="utf-8"?><gexf xmlns:ns0="http://www.gexf.net/1.1draft/viz"
version="1.1" xmlns="http://www.gexf.net/1.1draft" xmlns:viz="http://www.gexf.net/1.1draft/viz"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3.org/2001/XMLSchema-instance">
<graph defaultedgetype="directed" mode="static">
<attributes class="node" mode="static">
<attribute id="0" title="origin" type="double" />
<attribute id="1" title="size" type="integer" />
</attributes>
<nodes>
<node id="0" label="Vijana Amani Pamoja (VAP)">
<ns0:color b="70" g="11" r="160" />
<ns0:size value="10" />
<attvalues>
<attvalue for="0" value="1.25" />
<attvalue for="1" value="10" />
</attvalues>
</node>
Irgendwo habe ich möglicherweise den VIZ-Teil des Standard-Namespaces für die write_gexf-Funktion von networkx überschrieben, aber ich weiß auch nicht, wo ich das getan habe - also frage ich hier.
networkx.write_gexf(G,f) # G is the graph and f is the file to write.
(EDITED): Die Knoten sagen ns0: ... und nicht nämlich: ... wie in den GEXF-Dokumenten gezeigt. Dies führt zu Kompatibilitätsproblemen mit anderen GEXF-Bibliotheken, die die viz-Parameter verwenden (und diese nicht finden können).