<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Steve(n),<br>
<br>
I'm looking forward to seeing you in Leipzig. :-)<br>
<br>
<br>
Steve Newcomb wrote:
<blockquote cite="mid:4AF6FABE.3040308@coolheads.com" type="cite">[...]<br>
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.
<br>
</blockquote>
<br>
(Example 1)<br>
Consider "Paul is driving from Amsterdam to Rotterdam.". How could this
be modelled?<br>
<blockquote>drive(who: Paul, from: Amsterdam, to: Rotterdam)<br>
</blockquote>
Then consider "Paul is walking from Amsterdam to Rotterdam.". How could
this be modelled?<br>
<blockquote>walk(who: Paul, from: Amsterdam, to: Rotterdam)<br>
</blockquote>
Then consider "Paul is riding a bike from Amsterdam to Rotterdam.". How
could this be modelled?<br>
<blockquote>ride_bike(who: Paul, from: Amsterdam, to: Rotterdam)</blockquote>
<br>
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:<br>
<br>
(Example 2)<br>
<blockquote>drive(driver: Paul, from: Amsterdam, to: Rotterdam)<br>
walk(walker: Paul, from: Amsterdam, to: Rotterdam)<br>
ride_bike(bike_rider: Paul, from: Amsterdam, to: Rotterdam)<br>
</blockquote>
Does this fix it? Are these associations ok now?<br>
<br>
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:<br>
<br>
(Example 3)<br>
<blockquote>drive(driver: Paul, driving_from: Amsterdam, driving_to:
Rotterdam)<br>
walk(walker: Paul, walking_from: Amsterdam, walking_to: Rotterdam)<br>
ride_bike(bike_rider: Paul, riding_bike_from: Amsterdam,
riding_bike_to: Rotterdam)<br>
</blockquote>
Is the problem you are describing now fixed?<br>
<br>
Which of these 3 examples have better modelling quality? Example 1,
example 2 or example 3?<br>
<br>
<br>
So, it seems, the question here is:<br>
<ol>
<li>whether the role type topic on its own (e.g. the "who" topic)
already disambiguates the role, or</li>
<li>whether the role type topic _together_ with the association type
topic only disambiguates the role.</li>
</ol>
Is this the correct question?<br>
<br>
<br>
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?<br>
<br>
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,<br>
<ol>
<li>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),</li>
<li>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 manner),<br>
</li>
<li>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).</li>
</ol>
Do I understand you correctly that you want this to be done at the TMDM
level (option #3)?<br>
<br>
<br>
Thank you (for clarifying the issue)!<br>
<br>
ciao,<br>
Xuân.<br>
<br>
</body>
</html>