Details
-
Improvement
-
Status: Open
-
Trivial
-
Resolution: Unresolved
-
3.0.2-incubating
-
None
-
None
Description
Looking at the code of GraphMLReader I see that it doesn't support default values of attributes, which are allowed by the GraphML spec. This is a bit annoying especially if the input defines default values for attributes which are used for mandatory data, e.g. edge labels.
One small example is the sample graph at [1]. "d_e" is the label attribute with a default value. There're <edge .. /> elements w/o body later in the document and reading those will throw a "java.lang.IllegalArgumentException: Label can not be null" exception (if the vendor considers edge labels mandatory).
I'd personaly squash both keyIdMap and keyTypesMap into a single String -> AttrInfo map, where AttrInfo would contain information about the data attribute name, type, and the default value.
[1] http://www.eecs.wsu.edu/~yyao/DirectedStudyI/Datasets/AS/sample.graphml