-
Notifications
You must be signed in to change notification settings - Fork 19
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
Ontology nodes in PropertyValueList or NumericalProperty/StringProperty #514
Comments
This sounds like a good idea to me. |
I also like the idea. We have used two properties previously that relate to ontologies - I see 2 options that could solve this. Option 1Add a new property where users can add the corresponding ontology terms. The category
Option 2Instead of allowing free-text for the
@openMetadataInitiative/openminds-admins & @openMetadataInitiative/openminds-developers What do you think? |
From the perspective of a project that is trying to adopt as much of openMINDS as we can but that is not completely compatible yet, I think both of these options work easily. It's my impression that keywords are Best |
Yes, they are flat objects. You can look at the documentation for the controlledTerms schemas for the full list of properties. They either allow free text fields or IRIs to external resources (e.g., ontology ID) but they do not have further links to any other schemas within openMINDS. The TermSuggestion schema has one further link but only to give users the chance to state which existing terminology a new term belongs to ( Let's see what the others think (especially @lzehl), and then I can make the changes to the schemas. |
I don't think Option 2 works, it takes away too much flexibility/adds too much overhead. For many use cases I don't think it will make sense to use a controlled term as the key. Option 1 is quite nice, but the property should probably be something like "controlledVocabularyTerm" rather than "relatedOntologyTerm", if its value is anything in the "keyword" category. There's also Option 0, which is essentially Steve's suggestion, and which I prefer:
If we want an ontology term for the value, then we should add a new schema alongside |
Dear all, sorry for being quite so far. I agree with @apdavison that option 2 is not flexible enough to follow the logic we had that StringProperty and NumericalProperty are fully user defined (without any instance request necessary). One could imagine the full flexibility in the following options: {
"_type": "https://openminds.ebrains.eu/core/StringProperty",
"required": [
"name",
"value"
],
"properties": {
"name": {
"type": "string",
"_instruction": "Enter a descriptive name for this property."
},
"nameOntologyIdentifier": {
"type": "string",
"_formats": [
"iri"
],
"_instruction": "Enter the internationalized resource identifier (IRI) pointing to an ontological term for the property name."
},
"value": {
"type": "string",
"_instruction": "Enter the text value that is described by this string property."
},
"valueOntologyIdentifier": {
"type": "string",
"_formats": [
"iri"
],
"_instruction": "Enter the internationalized resource identifier (IRI) pointing to an ontological term for the property value."
},
}
} Which then also applies to NumericalProperty: {
"_type": "https://openminds.ebrains.eu/core/NumericalProperty",
"required": [
"name",
"value"
],
"properties": {
"name": {
"type": "string",
"_instruction": "Enter a descriptive name for this numerical property."
},
"nameOntologyIdentifier": {
"type": "string",
"_formats": [
"iri"
],
"_instruction": "Enter the internationalized resource identifier (IRI) pointing to an ontological term for the property name."
},
"value": {
"type": "array",
"minItems": 1,
"_instruction": "Enter all quantitative values that are described by this numerical property.",
"_embeddedTypes": [
"https://openminds.ebrains.eu/core/QuantitativeValue",
"https://openminds.ebrains.eu/core/QuantitativeValueRange"
]
}
}
} @stevevanhooser generally this is a very good suggestion. We just need to decide on how we integrate it 😄 |
Works for me. NDI Cloud might insist on ontology terms but we can apply that beyond what is strictly required for a valid openMinds document. Thanks!via mobileOn Oct 21, 2024, at 11:37 AM, Lyuba Zehl ***@***.***> wrote:
Dear all, sorry for being quite so far. I agree with @apdavison [github.com] that option 2 is not flexible enough to follow the logic we had that StringProperty and NumericalProperty are fully user defined.
One could imagine the full flexibility in the following options:
Option 3:
{
"_type": "https://openminds.ebrains.eu/core/StringProperty [openminds.ebrains.eu]",
"required": [
"name",
"value"
],
"properties": {
"name": {
"type": "string",
"_instruction": "Enter a descriptive name for this property."
},
"nameOntologyIdentifier": {
"type": "string",
"_formats": [
"iri"
],
"_instruction": "Enter the internationalized resource identifier (IRI) pointing to an ontological term for the property name."
},
"value": {
"type": "string",
"_instruction": "Enter the text value that is described by this string property."
},
"valueOntologyIdentifier": {
"type": "string",
"_formats": [
"iri"
],
"_instruction": "Enter the internationalized resource identifier (IRI) pointing to an ontological term for the property value."
},
}
}
Which then also applies to NumericalProperty:
{
"_type": "https://openminds.ebrains.eu/core/NumericalProperty [openminds.ebrains.eu]",
"required": [
"name",
"value"
],
"properties": {
"name": {
"type": "string",
"_instruction": "Enter a descriptive name for this numerical property."
},
"nameOntologyIdentifier": {
"type": "string",
"_formats": [
"iri"
],
"_instruction": "Enter the internationalized resource identifier (IRI) pointing to an ontological term for the property name."
},
"value": {
"type": "array",
"minItems": 1,
"_instruction": "Enter all quantitative values that are described by this numerical property.",
"_embeddedTypes": [
"https://openminds.ebrains.eu/core/QuantitativeValue [openminds.ebrains.eu]",
"https://openminds.ebrains.eu/core/QuantitativeValueRange [openminds.ebrains.eu]"
]
}
}
}
@stevevanhooser [github.com] generally this is a very good suggestion. We just need to decide on how we integrate it 😄
—Reply to this email directly, view it on GitHub [github.com], or unsubscribe [github.com].You are receiving this because you were mentioned.Message ID: ***@***.***>
|
@apdavison @UlrikeS91 we need to pick this discussion up again. we lost a bit track of it. |
Hi @lzehl et al -
We'd like to represent name / value pairs where the name is rooted in an ontology instead of just a free-text / uncontrolled name.
As an example, suppose, for a visual stimulus, we wanted to store that the stimulus properties were
[Table format: Ontology, local name, value, units]
[email protected] tFrequency 1.0 Hz
[email protected] sFrequency 1.0 cycles/degree_visual_angle
This would allow many parameters to be rooted in ontologies.
In a meeting this morning, we supposed it could be implemented in openMINDS if
NumericalProperty
andStringProperty
each had anontologyIdentifier
field.Best
Steve
The text was updated successfully, but these errors were encountered: