Skip to content

Validate config.yml for expected data #3

@aridyckovsky

Description

@aridyckovsky

We generally need a way to handle a configuration file that is standardized regardless of the study/project in question. This means that each file has the same format, including the same default fields, with 'optional' fields only if well-documented along with explicit handler methods for them that fail when those fields are needed for a given network family.

For instance, if using a random network, very few parameters are needed. However, a small world network, such as connected_watts_strogatz_graph, other parameters are required like tries and, adjacently, omega. This implies that tries and omega are only necessary for some network families, which needs to be reflected in validating a configuration file.

Options for implementation:

A. We handle validation on a per network basis, meaning every nx.<generator> must have it's only validation.
B. We group validation handlers per family, meaning every within-family nx.<generator> must have a common validator. Likely this means a family-level abstraction, e.g., small_world(n, k, p, method="", ... ).
C. We use an omnibus validation method that includes case-based handlers.

Not sure which is the best option at this moment. There may be a creative way to thread these together so things are more maintainable/easy to update and add new topological frameworks.

Metadata

Metadata

Assignees

Labels

feat requestRequest for a new feature

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions