This PR refactors the node key construction to use fields defined in the keying section of schema.json. Instead of indexing nodes by the entire id, the key is now built from selected fields, improving flexibility for matching nodes to attributes.
Key Changes:
Key Construction from Schema:
Added construct_node_key_from_schema to build node keys using fields listed in keying.fields and keying.delimiter from schema.json.
Nodes are now indexed by these constructed keys, rather than the full id.
Schema-Defined Keying:
Key fields (e.g., document_uid and lab_seq) and a delimiter are now specified in schema.json under the keying section:
Summary:
This PR refactors the node key construction to use fields defined in the
keying
section ofschema.json
. Instead of indexing nodes by the entireid
, the key is now built from selected fields, improving flexibility for matching nodes to attributes.Key Changes:
Key Construction from Schema:
construct_node_key_from_schema
to build node keys using fields listed inkeying.fields
andkeying.delimiter
fromschema.json
.id
.Schema-Defined Keying:
document_uid
andlab_seq
) and a delimiter are now specified inschema.json
under thekeying
section:Updated Node Matching:
network_json
are matched by the key constructed from the specified fields rather than the fullid
.Backward Compatibility:
ehars_uid
) if nokeying
fields are specified in the schema.Why:
id
.Testing: