Closed kevinschaper closed 2 years ago
The "don't write an empty edge file" part can be handled by an "if edge_properties is empty" check. I'll try to identify an ingest without edge_properties for testing.
Rather than using a write(Entity)
method, we should maybe just call our separate write_node
and write_edge
methods.
Should we identify our own set of "core" properties? Especially now that we have our own order_{edge, node}_columns
static methods?
In the writer, properties must be specified in the node_properties or edge_properties list in the source config to be written to the kgx file - but it would be very easy to populate an attribute that isn't specified - and then it won't be written.
Instead of silently failing to write properties, we should check each node or edge that goes into the writer to confirm that all properties on the entity are in the node_properties or edge_properties (whichever is appropriate) list.
Rather than a warning, this should halt as a full on error.