AgriculturalSemantics / agro

AgrO describes agronomic practices, techniques, and variables used in agronomic experiments.
https://bigdata.cgiar.org/resources/agronomy-ontology/
Creative Commons Attribution 4.0 International
48 stars 17 forks source link

data properties in agro #23

Closed cmungall closed 2 years ago

cmungall commented 7 years ago
'planned process' EquivalentTo 'has name' min 1 xsd:Name

This means that every instance of a planned process has a name. E.g. if a farmer joe plows his field on wednesday, that instance of plowing is given a name by joe. I don't think this is intentional or correct.

Some of the other data properties are suspect. Consider adding documentation for them.

Are we sure that every agricultural implement has a brand and a model?

marieALaporte commented 7 years ago

The reason why Céline added those properties is that this kind of information is needed when the fieldbook is created. But I agree, since the ontology can be used by other systems, this is not correct. I am going to change that.

Public-Health-Bioinformatics commented 7 years ago

In our GenEpiO, we're not putting such things in equivalency. But we're doing this in the necessary conditions (SubClassOf) section, using 'has member'. Following your example:

'planned process' 'has member' min 1 'process name'.

and elsewhere

'process name' subClassOf 'textual entity'
'textual entity' 'has primitive data type' some xsd:string

That last part is perhaps extra fluff though for your purpose. You could cut it short and say xsd:Name instead of 'process name' I guess. (The 'has primitive data type' relation is experimental for us, used to create a form generator, e.g. http://genepio.org/geem/form.html#obo:GENEPIO_0001740 . Maybe we could compare notes visa vis your "field generator"?)

But perhaps there is a better, more generic relation than 'has member' for attaching a datum to an instance of a process. Something like "has datum"?

Public-Health-Bioinformatics commented 6 years ago

Update on GenEpiO. I've shifted to thinking of elements like "process name" as datums associated with standards, which involves creating a (provisional) standard for collecting the datums associated with some process. Found RO's "has component" http://purl.obolibrary.org/obo/RO_0002180 which seems to have the right structure for associating standards and datums. So something like "planned process for tilling v1" 'has component' min 1 'process name'. Does that sound feasible?

cmungall commented 6 years ago

Partonomies should be homeomorphic, e.g. processes should have parts that are also processes (has component is a subproperty of has part). This is a bit under-axiomatized in RO right now, but I think if you try what you suggest it will lead to unsatisfiability.

Have a look at OBO to see how information artefacts are connected with processes.

On 17 Sep 2017, at 12:26, Damion Dooley wrote:

Update on GenEpiO. I've shifted to thinking of elements like "process name" as datums associated with standards, which involves creating a (provisional) standard for collecting the datums associated with some process. Found RO's "has component" http://purl.obolibrary.org/obo/RO_0002180 which seems to have the right structure for associating standards and datums. So something like "planned process for tilling v1" 'has component' min 1 'process name'. Does that sound feasible?

-- You are receiving this because you authored the thread. Reply to this email directly or view it on GitHub: https://github.com/AgriculturalSemantics/agro/issues/23#issuecomment-330037191

Public-Health-Bioinformatics commented 6 years ago

Ok, I agree about homeomorphic structure. I should have proposed: for a process, we can establish a standard that describes the datums input or output by that process (in detail these would document every input and output but in practice that doesn't always happen.) The standard would be a compound data structure, and its parts would be single datum or compound data structures. I read in the RO definition for 'has component' relation that it was intended "In situations where you would want to say something like 'has part exactly 5 digit, you would instead use has_component exactly 5 digit.", which seemed to be exactly the data structure relation needed to define standards that don't involve complex graph structures (that ShEX specializes in)?

cmungall commented 6 years ago

has component only exists to get around the DL constraint of no cardinality on transitive properties

On 18 Sep 2017, at 18:51, Damion Dooley wrote:

Ok, I agree about homeomorphic structure. I should have proposed: for a process, we can establish a standard that describes the datums input or output by that process (in detail these would document every input and output but in practice that doesn't always happen. The standard would be a compound data structure, and its parts would be single datum or compound data structures. I read in the RO definition for 'has component' relation that it was intended "In situations where you would want to say something like 'has part exactly 5 digit, you would instead use has_component exactly 5 digit.", which seemed to be exactly the data structure relation needed to define standards that don't involve complex graph structures (that ShEX specializes in)?

-- You are receiving this because you authored the thread. Reply to this email directly or view it on GitHub: https://github.com/AgriculturalSemantics/agro/issues/23#issuecomment-330303757

Public-Health-Bioinformatics commented 6 years ago

An example: an organization specification 'has component' some contact specification; and contact specification 'has component' exactly 1 'first name'; but I don't want that to entail that 'organization specification' 'has component' exactly 1 'first name'. I assumed 'has component' semantics - the non-transitive part - was allowing this separation.

cmungall commented 6 years ago

You know I'm still suspicious that this is going down the wrong path. The use case here seems to be encoding closed world constraints for data entry. A shape language like shacl or shex may be better here.

There's also a discussion on the BFO list right now about modeling of things like names, and is it really necessary, which is relevant.

Public-Health-Bioinformatics commented 6 years ago

Ok, I'll dial into that. I'm in on the OBI discussion board and they're talking about categorical, ordinal and other variables, but text inputs seemed less problematic. But I know, using ontology to describe standards could lead to some problems. I was trying the approach out; this diagram captures where I'm at... . If you want I can move this over to a separate correspondence.

geem_antibiogram_schema

marieALaporte commented 2 years ago

was addressed some time ago