Welcome to yEd Q&A!
Here you can ask questions and receive answers from other members of the community and yEd developers. And you can tell us your most wanted feature requests.

All keys defined for a node are displayed in the "properties data" even if node has no attributes

0 votes
If I have a grapmml file with all the "keys" declared for the attributes and I then create a node with no data when I import to yed and look at the "properties -> data" for the node I see a list of all possible attributes.

In my case I have 100 or so attributes so this list is huge but only a few are set and I have to scroll through them

Is there a way for yEd to only show the attributes that are set on the node rather than all possible values ? Or is there a way in graphml to scope the keys to only the related node ?

This graphml file when I load it I see that node n4 and n5 still show color as the data even though it's not set.

<?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="d0" for="node" attr.name="color" attr.type="string">
  </key>
  <key id="d1" for="edge" attr.name="weight" attr.type="double"/>
  <graph id="G" edgedefault="undirected">
    <node id="n0">
      <data key="d0">green</data>
    </node>
    <node id="n1"/>
    <node id="n2">
      <data key="d0">blue</data>
    </node>
    <node id="n3">
      <data key="d0">red</data>
    </node>
    <node id="n4"/>
    <node id="n5">
    </node>
    <edge id="e0" source="n0" target="n2">
      <data key="d1">1.0</data>
    </edge>
    <edge id="e1" source="n0" target="n1">
      <data key="d1">1.0</data>
    </edge>
    <edge id="e2" source="n1" target="n3">
      <data key="d1">2.0</data>
    </edge>
    <edge id="e3" source="n3" target="n2"/>
    <edge id="e4" source="n2" target="n4"/>
    <edge id="e5" source="n3" target="n5"/>
    <edge id="e6" source="n5" target="n4">
      <data key="d1">1.1</data>
    </edge>
  </graph>
</graphml>
asked Jun 13 in Help by bwessels (120 points)

1 Answer

0 votes
Unfortunately it is not possible to hide properties without values in yEd. (Strictly speaking, there is no such thing as a property without value - if you did not explicitly specify a value, the property value is the corresponding default value.)

Neither is it possible to scope keys to a subset of nodes (or edges) in GraphML.
answered Jun 14 by thomas.behr [yWorks] (112,940 points)
Imprint | Privacy Policy