The core repository for the FOODON food ontology project. This holds the key classes of the ontology; larger files and the results of text-mining projects will be stored in other repos.
Creative Commons Attribution 4.0 International
183
stars
36
forks
source link
Representing vague countable amounts of material #265
Sometimes we have only a vague reference to some material, for example that a biosample consists of "some meat". Did we mean that our biosample instance is a piece of meat or that it is a collection of two or more pieces of meat? It is not hard to come up with a way to represent each case in an ontology-driven knowledge graph, but what about expressing them in a single category - say a "piece(s) of meat" class - by an axiom that is a disjunction of the cases? We have to go through this trouble so that computers and robots know exactly what one might expect in unwrapping the biosample given its description.
Setting aside the challenge of defining what a single piece of material is (i.e. "all its parts, if any, are connected, however tenuously?"), we can focus on defining plural pieces of material with respect to the singular, essentially an entity which is a group of two or more 'piece of material'".
One can write an OWL axiom to capture this:
pieces of material: equivalentTo 'has member' min 2 'piece of material'
(Technical note: we use RO intransitive object property 'has member' rather than transitive 'has part' so that the cardinality restriction can be added without raising Hermit reasoner unsatisfiability. See here for explanation/technical solution).
Now we didn't actually mention a parent class for 'pieces of material' above, but BFO 2.0 has a material entity class called object aggregate suited to this. It doesn't actually have an OWL axiom, just a plain-text axiom description which uses memberPartOfAt to state the class must have at least 2 members. Lets operate with a simpler RO 'has member' relation:
pieces of material: equivalentTo 'object aggregate' and 'has member' min 2 'piece of material' and 'has member' only 'piece of material'
Now comes the awkwardness of how to represent "piece(s) of material", i.e. one or more pieces. Do we say:
'piece of material'
or ('object aggregate'
and 'has member' min 2 'piece of material'
and 'has member' only 'piece of material')
Or perhaps we introduce a "collection", a kind of object aggregate, but it allows having just 1 member:
One advantage of the last approach is that it has an OWL-DL profile, and as well it provides a bit more consistency in structure.
A biosample model challenge remains: when a characteristic is mentioned with respect to a biosample, we intend that characteristic to pertain to the biosample as a material entity piece, OR we intend that characteristic to pertain to each member of the biosample as a collection of one or more material things. Sparql querying will have to make the distinction. Perhaps the easiest solution is to always have a biosample be a material entity collection? Pro: this solves pooled sample representation. Con: there's a level of abstraction involving 'has member'.
Sometimes we have only a vague reference to some material, for example that a biosample consists of "some meat". Did we mean that our biosample instance is a piece of meat or that it is a collection of two or more pieces of meat? It is not hard to come up with a way to represent each case in an ontology-driven knowledge graph, but what about expressing them in a single category - say a "piece(s) of meat" class - by an axiom that is a disjunction of the cases? We have to go through this trouble so that computers and robots know exactly what one might expect in unwrapping the biosample given its description.
Setting aside the challenge of defining what a single piece of material is (i.e. "all its parts, if any, are connected, however tenuously?"), we can focus on defining plural pieces of material with respect to the singular, essentially an entity which is a group of two or more 'piece of material'".
One can write an OWL axiom to capture this:
pieces of material: equivalentTo 'has member' min 2 'piece of material'
(Technical note: we use RO intransitive object property 'has member' rather than transitive 'has part' so that the cardinality restriction can be added without raising Hermit reasoner unsatisfiability. See here for explanation/technical solution).
Now we didn't actually mention a parent class for 'pieces of material' above, but BFO 2.0 has a material entity class called object aggregate suited to this. It doesn't actually have an OWL axiom, just a plain-text axiom description which uses memberPartOfAt to state the class must have at least 2 members. Lets operate with a simpler RO 'has member' relation:
pieces of material: equivalentTo 'object aggregate' and 'has member' min 2 'piece of material' and 'has member' only 'piece of material'
Now comes the awkwardness of how to represent "piece(s) of material", i.e. one or more pieces. Do we say:
'piece of material' or ('object aggregate' and 'has member' min 2 'piece of material' and 'has member' only 'piece of material')
Or perhaps we introduce a "collection", a kind of object aggregate, but it allows having just 1 member:
One advantage of the last approach is that it has an OWL-DL profile, and as well it provides a bit more consistency in structure.
A biosample model challenge remains: when a characteristic is mentioned with respect to a biosample, we intend that characteristic to pertain to the biosample as a material entity piece, OR we intend that characteristic to pertain to each member of the biosample as a collection of one or more material things. Sparql querying will have to make the distinction. Perhaps the easiest solution is to always have a biosample be a material entity collection? Pro: this solves pooled sample representation. Con: there's a level of abstraction involving 'has member'.