Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

deprecate type slot #248

Closed
wdduncan opened this issue Jan 26, 2022 · 4 comments · Fixed by #261 or #271
Closed

deprecate type slot #248

wdduncan opened this issue Jan 26, 2022 · 4 comments · Fixed by #261 or #271
Assignees

Comments

@wdduncan
Copy link
Contributor

During the January release, we encountered problems due the type slot not have a value.

Kitware reads the values of the type slot when populating the the postgres tables. The type slot is also required for change sheets to work.

So, make the type slot required.

Also, create enums to constrain the range of the type slot.

cc @dehays @turbomam @sujaypatil96

@wdduncan wdduncan self-assigned this Jan 26, 2022
@wdduncan
Copy link
Contributor Author

Think about this a bit ... we could use the pattern attribute to constrain the values.

@wdduncan
Copy link
Contributor Author

wdduncan commented Feb 2, 2022

Per meeting today:
We are not going to require slots, but we should create enums for the range of the type slot.

@wdduncan
Copy link
Contributor Author

wdduncan commented Feb 9, 2022

mistakenly closed

@wdduncan wdduncan reopened this Feb 9, 2022
@wdduncan
Copy link
Contributor Author

After discussing this more with @dehays, we think it is best to deprecate the type slot. The reason is there is inconsistent usage and confusion about what the values should be.

Originally, the type slot was used to capture the information about the python class used to create the instance data. This allowed me to reference the type of python object that was used to create a JSON record.

When a linkml schema (such as the nmdc-schema) is converted into python, the linkml class names are convert into python classes with named changed into PascalCase and prefixed with nmdc. For example, the nom analysis activity class in the nmdc-schema is converted into NomAnalysisActivity in the nmdc.py file. In the type field, this is class is then represented as nmdc:NomAnalyisActivity in order to make it explicit that the class comes from the nmdc namespace. However, this usage seems to be causing confusion.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
1 participant