Add ability to import and export data in container object format #399
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.
This resolves #390.
Currently, the
getDataObjects
andloadDataObjects
methods provide and accept arrays of objects. For various reasons, when working in the LinkML ecosystem we often want those arrays to be wrapped in a top-level or "container" object. That is:As opposed to:
[ . . . ]
In the above example,
items
would be referred to as the "index slot" of the container object. In many cases the name of the index slot can be inferred.These changes allow
getDataObjects
andloadDataObjects
to work with both arrays (as they currently do) and arrays wrapped in a container object.On the exporting side, I've added some interface elements to the Toolbar's "Save As" menu which allows you to choose whether you want to save as an array or an object and, for objects, provide an index slot name (the inferred one will be populated if possible). These values are then passed to new options on the
getDataObjects
method.On the loading side,
loadDataObjects
now detects if an object is provided and if so attempts pick the actual grid data out of the right key.cc: @turbomam