Skip to content

A new set of DataPack interfaces to add/get/delete entries without class objects #881

@mylibrar

Description

@mylibrar

Is your feature request related to a problem? Please describe.
Now that we have introduced DataStore into Forte, DataPack is no longer required to handle or maintain entry class objects. However, the current interface still require users to handle entry objects (e.g., delete_entry, add_entry, get_entry). We should design a new set of interfaces to add/get/delete entries and they should interact with entry data with only consists of primitive types and built-in list/dict.

Describe the solution you'd like

  • DataPack should accept onto_file_path and be able to parse it using DataStore. This can eliminate the needs for users to import all the entry classes.
  • Design schema for a more user-friendly representation of entry data. Currently we store entry as list of attributes in DataStore, which is not very convenient for users to use.
  • Implement DataPack.add_entry_raw, DataPack.get_entry_raw, DataPack.delete_entry_raw, etc. These new interfaces only interact with the new entry representation that you designed in last step.

Describe alternatives you've considered
We can compare and discuss the trade-offs of different designs.

Additional context
This is blocked by #874

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions