-
Notifications
You must be signed in to change notification settings - Fork 10
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
refactoring the schema to provide always "valid" models #204
Comments
I just filed #205 at the same time as this. Which do you think is better? |
@jwodder - i tried to highlight use-cases here: type vs requirement validation, asynchronicity of information filling a model, and missingness of information for various reasons (including asynchronicity). perhaps both are complementary. if we were to make every attribute |
Type validation is part of requirement validation.
I think both of those can be addressed without an overhaul to what the models accept.
I would say that separate classes are a good idea, as it would allow consumers of the library to construct a "published metadata" instance once, after which the type system (such as it is in Python) would ensure that any further code that needed valid published data was receiving it. In contrast, if we just had |
yes, but not the other way around.
i agree this makes it messy. we could write one time properties, deal with dirty states, etc., to address the mess. however, i don't fully see how the end user/scripter gets around this through classes. they still have to do
Currently we have the question is whether we categorize state/stage as classes or properties or functions. states of assets will not go away as asset modification is an inherent feature of the system till the asset is published. |
there has been a lot of discussion in relation to how to accept and serve valid models. let's use this issue to discuss details:
None
as a catch all. and different systems encode missing versus explicit use ofNone
in different ways. we should become consistent and i suggest we come up with a plan that distinguishesNone
fromMISSING
and further subcategorizeMISSING
with more specific elements from some ontology. this will also allow for valid dandisets where we impose new requirements, but someone could say the information wasMISSING
,NOT ACQUIRED
,RESTRICTED
. allowing us to encode sensitive fields as well.@jwodder @yarikoptic @AlmightyYakob @CodyCBakerPhD @candleindark
related issues: #127 #182
The text was updated successfully, but these errors were encountered: