There is an interesting article here:
http://www.cs.vu.nl/~guus/public/owl-restrictions/
That discusses the differences between OWL and UML.
One of the features of OWL that I like is the notion of a necessary and sufficient properties but alas this is lacking in UML. Sufficient conditions allow you to determine if an instance is a member of a class when it in not explicitly stated. You can therefore receive and object and work out what it is according to an ontology of your choice - which seems pretty useful to me. It is a mechanism, I believed, could enable us to integrate a simple core ontology with more complex specialist ontologies that some network participants may choose to use. It is not available in UML but could be used to reason about a UML ontology expressed in OWL or RDFS.
OWL doesn't do qualified cardinality restrictions as well as UML - but there are work rounds and proposals and I am not sure how important this is.
There is also a good quote in the article on data modeling versus building ontologies:
"A data model is a model of the information in some restricted well-delimited application domain, whereas an ontology is intended to provide a set of shared concepts for multiple users and applications. To put it simply: data models live in a relatively small closed world; ontologies are meant for an open, distributed world (hence their importance for the Web)."
I think we are sometime confusing the two in our discussions.
Bottom line is:
* You can't express everything in UML or OWL. * If we want to assure that we can swap between two or more modeling languages then we can't use all the feature of any of them but have to come up with a subset.
The answer never includes a single TLA. <- apart from this answer!
My personal feeling is that anything that is defined centrally by TDWG should use the lowest common denominator of features anyhow.
As usual I am grateful for you comments/thoughts.
Roger