[sc34wg3] One subject per role typing topic
xuan--sc34wg3--isotopicmaps.org at baldauf.org
Sun Nov 8 21:06:00 EST 2009
I'm looking forward to seeing you in Leipzig. :-)
Steve Newcomb wrote:
> What I'm saying has nothing to do with naming. It has to do with
> whether it can ever be true that two different association types can
> have a role type (reified as a single topic) in common. For me, it's
> obvious that that situation cannot occur, at least not without
> violating the one-subject-per-topic rule. When the syntax of a topic
> map claims that it is happening, something is seriously wrong.
Consider "Paul is driving from Amsterdam to Rotterdam.". How could this
drive(who: Paul, from: Amsterdam, to: Rotterdam)
Then consider "Paul is walking from Amsterdam to Rotterdam.". How could
this be modelled?
walk(who: Paul, from: Amsterdam, to: Rotterdam)
Then consider "Paul is riding a bike from Amsterdam to Rotterdam.". How
could this be modelled?
ride_bike(who: Paul, from: Amsterdam, to: Rotterdam)
If I understand you correctly, the usage "who" role type is very sloppy
(or "seriously wrong" ;-)), because the role type is tied to the
association type. So, let's try to fix this:
drive(driver: Paul, from: Amsterdam, to: Rotterdam)
walk(walker: Paul, from: Amsterdam, to: Rotterdam)
ride_bike(bike_rider: Paul, from: Amsterdam, to: Rotterdam)
Does this fix it? Are these associations ok now?
Maybe not, because not only the "who" role type has been re-used in the
original example, but also the "from" and "to" role types.. So these
role types should also not be used in associations with different
association types(?). Then let's fix this:
drive(driver: Paul, driving_from: Amsterdam, driving_to: Rotterdam)
walk(walker: Paul, walking_from: Amsterdam, walking_to: Rotterdam)
ride_bike(bike_rider: Paul, riding_bike_from: Amsterdam,
Is the problem you are describing now fixed?
Which of these 3 examples have better modelling quality? Example 1,
example 2 or example 3?
So, it seems, the question here is:
1. whether the role type topic on its own (e.g. the "who" topic)
already disambiguates the role, or
2. whether the role type topic _together_ with the association type
topic only disambiguates the role.
Is this the correct question?
As "drive", "walk" and "ride_balk" are all kinds of "locomotion", and
as, for locomotion, the role types "from" and "to" are sufficiently well
defined, I do not see (from a software-engineering "reuse what you can
reuse" point of view) why it is wrong to plainly re-use the "from" and
"to" role type topics. For "locomotion", the role-typing topics "from"
and "to" have a well defined subject. Do you agree? Then, why should
this well-definedness be impaired once I create an association whose
type is a subtype of "locomotion" (namely "walk") which re-uses these
role-typing topics. Is this well-definedness impaired by such an
association, or not?
Surely, we can multiply the set of all these re-used role-typing topics
(like "who", "from", "to") with the set of all possible
association-typing topics (like "drive", "walk", "ride_bike"), and we
can do this synthetically, then we yield "drive__who", "drive__from",
"drive__to", "walk__who", "walk__from", "walk__to", "ride_bike__who",
"ride_bike__from", "ride_bike__to". But I'm really not sure,
1. whether we should do this at all (because "from" and "to" may each
already have exactly one subject, even although the association
types they are used with are different),
2. whether we should do this, but only at the interpretation level
(because (1) there actually may be some difference in the exact
subject for different association types, but the role type is
disambiguated by the association type, and (2) this disambiguation
is always possible anyway, as the TMDM does not allow type-less
associations or association-less roles, and (3) this
disambiguation is always possible in a predictable and consistent
3. whether we should do this at the TMDM level (because there
actually may be some difference in the exact subject for different
association types, and we need to express this as such, even
though disambiguation by association type may (always) be available).
Do I understand you correctly that you want this to be done at the TMDM
level (option #3)?
Thank you (for clarifying the issue)!
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the sc34wg3