Closed cmungall closed 2 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.
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"?
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?
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
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)?
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
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.
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.
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.
was addressed some time ago
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?