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
Roger,
Bottom line is: You can't express everything in UML or OWL.
Yes. As I understand it, there are other limitations to UML as well, although at this point, I have no detail. It is ultimately an encoding of concepts, serialized or not, so this is not surprising.
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.
I completely and fully agree.
As usual I am grateful for you comments/thoughts.
Roger
Flip
Phillip C. Dibner Ecosystem Associates +1 650 948 3537 +1 650 948 7895 Fax
I forwarded Roger's message from a few weeks ago to Simon Cox, and am taking the liberty of copying Simon's reply to the group. It appears that the differences between UML and OWL may be surmountable in terms of our requirements.
It is my impression that we've substantially embraced the notion of an information model / architecture that can be expressed using (appropriate subsets / profiles of) a variety of technologies. However, we have not yet really addressed the question of which tools to choose for a given application, or the nature of profiles that will allow us to swap model definitions among different encodings.
Flip
Begin forwarded message:
From: Simon.Cox@csiro.au Date: April 13, 2006 6:05:37 AM PDT To: pcd@ecosystem.com Subject: RE: [Tdwg-tag] UML limitations for our uses?
That's interesting stuff. The idea of determining class membership on the basis of property values is not very different from the classic UML classifier - its just that UML encourages "strong-typing" - the class membership determines the set of properties that must be populated - while the inferred-class approach is more "weak-typed", or (as Roger points out) "multi-typed" depending on the ontology you choose to apply to the (set of) observations. (Look - observations appear again! - thats because the Observation viewpoint makes the property-type a primary property, while the type of the feature-of-interest is more remote.)
In the web article I take issue with many of the points in the section headed "Differences between OWL properties and UML associations/attributes". For example:
- UML associations always have direction. It can be "unpsecified",
"source->target", "target->source" or "bi-directional" 2. binary relations are a subset of general associations. In many (most?) UML models only this subset is used. i.e. in both of these cases UML is actually richer, but can always be "profiled" to look like OWL. 3. I would phrase this more like "UML association and role names are contextual - the same word may be used in different places to mean different thing, but is scoped by its context so the complete designator is effectively the scoped-name" so they end up being unique anyway ...
Roger's comment "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" is important. This is also why in the UML-GML world we use a subset/profile of UML (no operations, mandatory rolenames, single inheritance) to yield a subset of XML (no XML attributes, no mixed-content, very sparing use of <choice>, some cardinality restrictions).
Rather than imagine that one-solution-suits-all, we should rather focus on criteria on how to select which tool to use when.
Simon
On Apr 3, 2006, at 5:03 AM, Roger Hyam wrote:
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
--
Roger Hyam Technical Architect Taxonomic Databases Working Group
http://www.tdwg.org roger@tdwg.org
+44 1578 722782
Tdwg-tag mailing list Tdwg-tag@lists.tdwg.org http://lists.tdwg.org/mailman/listinfo/tdwg-tag_lists.tdwg.org
participants (2)
-
Phillip C. Dibner
-
Roger Hyam