-
Notifications
You must be signed in to change notification settings - Fork 103
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
Add enums and label->id mappings #37
Comments
Do you want add enums under a mapping descriptor? e.g.: slots:
evidence code:
mappings:
enum:
IEA:
id: ECO:nnnn
description: ...
ISS:
id: ECO:nnn
description: ... A complication may be cases in which to say something about the all values in a field (e.g., a field hold glucoses results) , but certain values mean unknown or inconclusive (e.g., the value 9999 means unknown). |
this violates the current range constraint for mappings, but I think the same thing could be accommodated with a new field, e.g. or this could be embedded inside each enum element slots:
evidence code:
enum:
IEA:
exact_mappings:
- ECO:nnnn
ISS:
exact_mappings:
- ECO:nnn |
Referencing: We've got three components that we need to represent:
My understanding of the current I'm inclined separate the Add a fifth item to the SchemaDefinition: id: http://example.org/something
...
subsets:
...
types:
...
slots:
...
range: evidence
classes:
...
enums:
evidence:
description: Permissible values for CLUE evidence fragments
... : (Same set of metadata as classes, etc)
values_from: VD:evidence_codes
permissible_values:
IEA: Colonel Mustard was in the Ballroom
ISS:
description: Mrs. Peacock with the Dagger
meaning: CLUE:nnnn The tccm could focus on fleshing out the definition and resolution of the values_from link and we could add a validator component that verifies that all |
We may want to add another element that identifies how the permissible value could algorithmically be generated from the values_from (value domain) codes (e.g. code, URI, CURIE, ...) |
@hsolbrig Perhaps I'm not following, but your proposal seems to require a value domain before we can relate a value to its meaning. E.g.: Are you not allowing more direct relations? E.g.: The ontology "marriage_ont" would hold information about with the term (marriage_ont:single) was a member of some kind value domain/set within the ontology. Do you think requiring the value domain/set adds meaning about the meaning "s" not captured by the reference to the class marriage_ont:single? The information that marriage_ont:single is a member of some specific value domain/set seems like a different fact to capture. Do you have a use case you are wanting to model? Also, I am wondering about separating out the permissible values from the permissible meanings. It is not wrong, it is just verbose, so I am wondering about the use case here. Suppose, I have my permissible values for the marriage status field: enums:
marriage status:
permissible_values:
s:
description: single
uriorcuri: marriage_ont:nnnnn
m:
description: married
uriorcuri: marriage_ont:nnnnn
Do I also need to have a set of permissible meanings? |
I went over this this morning w/ Dazhi and will have a more complete proposal. As a quick summary:
enums:
marital status:
description: possible marriage value codes w/ optional value meanings
notes:
- note that s: single and s: \n description: single are the same
permissible_values:
s: single
m:
description: married
meaning: marriage_ont:117338
d:
description: divorced
comments:
- here so show that permissible values are `elements`, so can have all accompanying metadata
enums:
marital status:
description: codes drawn from the HL7 marital status code system
values_from: HL7:v2_marital_status
permissible_values:
1:
description: "1" means single
meaning: V2MS:s
2:
meaning: V2MS:m
3:
description: Married on even numbered days
comments: You can still add PV's that don't map
We can then define our own maps if needed: enums:
phenotype:
description: disease code
values_from: CS:HPO
tag: "devel" <---- if you need to stay with an externally tagged resource --or--
version: "~1.7" <---- The current version as long as it has a minor of "7"
permissible_values:
1:
description: aplasia/hypoplasia of extremeties
meaning: HP:0009815
2:
meaning: HP:0001218 Or define an auto mapping: enums:
relationship_code:
description: Any code in the relations ontology
values_from: CS:RO
use: CODE
disease:
description: the CURIE of any code in the scary diseases code set
values_from: NS1:scary_diseases
use: CURIE Will have a more complete proposal w/ partially running code available in a few days |
The proposal sounds great |
can we close this? |
Perhaps a little late in the game to be commenting on this, but should we use the slot name |
Interesting -- at the moment, the behavior is "permissible". If you list "A", "B, "C" as the three permissible values, "D" will be treated as an error. How do you envision this component working in tandem with "in the wild" data? |
Suppose, I have a slot
with permissible values Make sense? |
I think we can close this now? We have separate tickets for specific aspects, e.g. markdowngen, jsonschemagen |
I think it can be closed. |
We have
(aside: this is declared at the definition level, should be a slot property)
We should have the equiv for string values, i.e an enum.
e.g
it would be good to specify mappings for each of these, perhaps:
or perhaps a more expressive:
mapping to a json-ld context should be obvious
The text was updated successfully, but these errors were encountered: