[sc34wg3] One subject per role typing topic
srn at coolheads.com
Mon Nov 9 11:55:11 EST 2009
Xuân Baldauf wrote:
> I'm looking forward to seeing you in Leipzig. :-)
Likewise. Vicky and I remember our walk together, and how astonished I
was when you revived my old IBM boat-anchor, among other things.
> 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 be modelled?
> 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:
> (Example 2)
> 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:
> (Example 3)
> 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,
> riding_bike_to: Rotterdam)
> 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?
Now I'm wondering whether we're talking past each other, because I'm not
confident that I really understand you.
Let's assume that we're not talking about the naming of role types or
the syntax used to model association types. I'm very sure that neither
of us is naive about the distinction between naming a subject and
reifying it as a topic. Moreover, let's assume that we're talking about
subjects, and the representation of subjects as topics, rather than the
way in which we're invoking them in our examples. I don't think my lack
of confidence in my understanding of what you're saying comes from
either of those sources.
For me, anyway, in the context of a topic map, if there's a topic, then
there's a single subject that is represented by that topic, full stop.
And there is at least one disclosed "micro-theory of subject
identification" (sorry for the neologism) that allows me to determine
whether any other topic in the map represents the same subject, assuming
that some portion of the other topic's expression is also governed by
the same micro-theory of subject identification. (If both topics are
wholly in TMDM-land, the possibility of diverse micro-theories can be
safely ignored, because there's only one micro-theory, and both topic
expressions necessarily conform to it.)
Now, *if* we were using a micro-theory of subject identification that
allows the identity of a topic's subject ito be expressed in terms of
the identity(ies) of the subjects of (an)other topic(s), *then* it seems
to me that it might be meaningful to say something like your #2 above.
But I wouldn't say it the way you said it. I might say it like this:
"Whether the subject identity of the role type topic *depends on* either
(a) the subject identities of all of the other role types in the
association type, or (b) alternatively, the subject identity of the
association type (a different theory from (a) but not different in its
effect, unless our micro-theory of subject identification regards the
subject identity of an association type to be derived from something
other than, or in addition to, its set of role types.).
But either way, if a role type is reified by a topic, then the existence
of that topic is always sufficient to distinguish its subject from all
others, at least under the reigning micro-theory of subject
identification. (In TMDM-land, the reigning micro-theory of subject
identification amounts to an IRI-syntax-aware string matching on the
subject identifiers, right?) So I'm baffled by your words, "whether the
role type topic _together_ with the association type topic only
disambiguates the role." How "together"? By means of a micro-theory
not defined by TMDM?
> 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?
Ah, maybe I understand you. Maybe we have a conflict of intuitions,
here, and, if so, Patrick's argument -- that my entire howl is
unconsciously legend-specific -- gains strength (I think I have a good
answer to that objection --- but I can only talk about one thing at a
time, so I'll defer that). Now, at great risk of totally
mis-characterizing your position, for which I apologize in advance, let
me draw a contrast between us:
Xuân: "Locomotion" is a relationship supertype in which there are three
roles, (1) to, (2) from, and (3) what's moving. "Locomotion by walking"
is a subtype of "locomotion" that inherits these roles unchanged from
its supertype. "To", for example, is exactly the same. The applicable
micro-theory of subject identification (which could be the same as
TMDM's, here) does not require that the subject identity of a
relationship type be derived exclusively from the subject identities of
its set of playable roletypes. (I.e., the notion of "signatures" is not
applied to subject identification, here.) The inheritibility of role
types in a hierarchy of association types is such a desirable and
practical thing that it would be counterproductive to demand that
roletypes be different simply because they appear in different
association types. And nobody is claiming that "locomotion" and
"locomotion by walking" are the same thing; merely that the former is a
supertype of the latter.
Steve: Wait. Do you really mean that there is *absolutely no
difference* between "to" in "locomotion" and "to" in "locomotion by
Xuân: Yes. Absolutely no difference.
Steve: So, what *is* the difference between "locomotion" and "locomotion
Xuân: That's not a relevant question, but I'll answer it anyway. It's
in the nature of the activity engaged in by the player of the "what's
moving" role. In "locomotion", the activity is not specified. In
"locomotion by walking", the "what's moving" roleplayer is known to be
Steve: Oh. That makes sense. So I take it that there *is* a semantic
difference between the "what's moving" role in "locomotion" and the
"what's moving" role in "locomotion by walking", but there is *no*
difference between the "to" and "from" roles.
Xuân: You are putting words in my mouth. I have not admitted that
there's any difference between the two appearances of the "what's
Steve: Well, it looks to me as though there is, and if you had admitted
that there was a difference in the "what's moving" role, I think I could
have won this argument. To have one different role means that the
gestalt of roles is different, and a different gestalt means that
constituent roles are different, ipso facto. We can't change "Iphigenia
in Aulis" into "Iphigenia in Brooklyn" and reasonably claim that it's
still the same drama, or that the Iphigenia role is just the same. Of
course, the question of whether the roletypes are the same or different
doesn't arise if we don't reify the roletypes, but in TMDM-land, we do
that, so I think we have to face up to this.
Xuân: So I have won the argument?
Steve: Not yet. You *do* admit that there *is* a difference between
"locomotion" and "locomotion by walking", though, right?
Xuân: Of course. One is a subtype of the other. They are not the same.
Steve: So if I reify:
locomotion(whatsmoving: Paul, from: Amsterdam, to: Rotterdam)
locomotion_by_walking(whatsmoving: Paul, from: Amsterdam, to:
the two reifying topics will have different subjects and will never
Xuân: [My imagination fails me. What would you say at this point, Xuân?
More information about the sc34wg3