Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I outsourced the validation of graphml files to
GraphML
and added a test against a correct graphml file.GraphML
is a file I pulled from rustworkx which is a rust re-write of the networkx library that we use in our python cli. I did need to slightly modify the file in a couple ways: to accept "False" and "True" as boolean and improve some error handling and reporting.Regarding validation itself, I looks to me like the validation in the python cli mostly happens at the xml/graphml level, meaning that validation occurs against the key declarations within the xml file itself for nodes and against the declaration of edges for edges. This means that I couldn't find much in the way of validation against the json schema file itself, especially for the edges.