[sc34wg3] One subject per role typing topic

Steve Newcomb srn at coolheads.com
Mon Nov 9 11:55:11 EST 2009


Xuân Baldauf wrote:
> Steve(n),
>
> 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.
>
(Example 1)
> 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 
walking"?

Xuân: Yes.  Absolutely no difference.

Steve: So, what *is* the difference between "locomotion" and "locomotion 
by walking"?

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 
walking.

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 
moving" role.

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)

     and

     locomotion_by_walking(whatsmoving: Paul, from: Amsterdam, to: 
Rotterdam)

     the two reifying topics will have different subjects and will never 
merge, right?

Xuân: [My imagination fails me.  What would you say at this point, Xuân? 
--Steve]




More information about the sc34wg3 mailing list