[sc34wg3] One subject per role typing topic

Arnar Lundesgaard arnar.lundesgaard at gmail.com
Mon Nov 9 07:19:22 EST 2009


Den 9. nov. 2009 kl. 03.06 skrev Xuân Baldauf:
> (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)

(Thanks for formulating this Xuan)

TMCL not efficiently supporting reuse of roles currently spells  
trouble for
any ZTM-support.

I usually just complain to or through Lars Marius but since he holds a  
different
opinion in this case and I found it interesting enough I tried to  
formulate our
intuition.



For what its worth:
   I've interpreted the subject uniqueness objective to mean that one  
would
prefer to reuse role types across association signatures, much like  
Xuan's
second example.

When designing I find that we can always model more accurately and  
require ever
more fine-grained descriptions. Unfortunately it very soon becomes  
ceremony, a
“cognitive load” and an obstruction in eliciting data from our  
contributors.
Both input forms and visualization enter into this and we more than
occasionally find it convenient to group by role-type in one and
association-type in the other.

We've also found that our users sometimes prefer fuzzy meanings and  
that we,
somewhat counter-intuitively, get better data as a result. (That is  
partially a
function of how the topic map gets visualized as mentioned above.)


In previous (internal) discussions we've noticed that Lars Marius and  
Graham
advocate non-reuse whereas other luminaries have seemed to hold other
positions.

Until now I suspected this was caused more by the syntax they use to  
express
associations, rather than any defining feature or Topic Maps-trueism.

tolog at least, with its association predicated, puts the focus on the
association type:
   composed-by(opera, composer)

whereas in ZTM, which can be thought of as a “topic-publishing- 
engine”, we
often think of our code as «standing» on a topic and viewing the rest  
of the
topic map from there by following associations:
   alfano.associatedTopics(roletype=composed) # anything composed by  
Alfano

Combined with the challenge of building understandable user-interfaces  
this has
made the role-type prominent in our code and designs.


The “first-class-ness” and visibility of roletypes has lead us towards  
reuse.
Also I've thought that a particular subject used as a role-type does  
not exclude
it from being used as something else in other contexts. Author is an  
example
of something that we've seen as a topic type in one map and a role  
type in
another.

We think roletypes deserve a page of their own, the highest honour we  
can
bestow a subject in ZTM, as it makes the model visible and thus more  
likely to
be maintained and understood. Such pages typically list topics playing  
the role
along with other functions. They might even be the gateway to a  
particular view
of another subject.

   /author/<person>
   /presenter/<person>
   /musician/<person>

That said (written), we're always interested in improving the way we  
model. A
clearly argued recommendation or some way of sensing when it is okay  
to break
the rule would be much appreciated as it lets us migrate towards common
principles.


apologies-for-not-being-capable-of-making-this-shorter-ly yours
    Arnar Lundesgaard
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.isotopicmaps.org/pipermail/sc34wg3/attachments/20091109/ede12b23/attachment.htm>


More information about the sc34wg3 mailing list