[topicmapmail] Why reify associations?

Kal Ahmed kal@techquila.com
15 Mar 2003 18:26:20 +0000


Hi Ken,

You could also specify the nature of the individual's role on the
committee using the type (roleSpec) of the association member:

<association>
  <instanceOf><topicRef xlink:href="#group-membership"/></instanceOf>
  <member>
    <roleSpec><topicRef xlink:href="#chairman"/></roleSpec>
    <topicRef xlink:href="#kgh"/>
  </member>
  <member>
    <roleSpec><topicRef xlink:href="#group"/></roleSpec>
    <topicRef xlink:href="#the-committee"/>
  </member>
</association>

I prefer this approach because the member is being used to specify more
precisely the nature of the role played by the individual in the group.
A parallel would be specifying the members of a band using roles such as
"vocalist", "guitarist", "drummer".

Note that this approach does not prevent a person playing two roles in a
group, so if an individual is both treasurer and secretary, then you can
simply create two <member> elements with different <roleSpec> contents
but the same player <topicRef>.

While you *could* use this approach to specify all the members of the
committee with a single association, I prefer to specify any kind of set
of relationships which are not interdependent  in their most atomic
form. i.e. because someone can join/leave the committee with out
affecting the structure of the rest of the group, I would model each
individual's membership of the group with a separate association.

Cheers,

Kal

On Sat, 2003-03-15 at 14:30, G. Ken Holman wrote:
> At 17:42 14.03.2003 -0500, I wrote:
>  > Why reify associations as topics?
> 
> At 2003-03-15 01:41 -0500, Sam Hunting wrote:
> >An association is (dread word) reified as a topic for the same reason that
> >any subject is reified as a topic -- in order to make assertions about it.
> >(Assertions are what <association>s in topic map interchange syntax become
> >when processed into ready-to-use form by software.)
> 
> At 2003-03-15 12:42 +0100, Steve Pepper wrote:
> >In order to be able to make assertions about the relationship that the 
> >association represents.
> >
> >   (make assertions = assign names, occurrences and role in other 
> > associations)
> >...
> >If you want to make some assertion about that relationship
> >...
> >you need a topic which reifies the association, because the only way to 
> >make an assertion about something in Topic Maps is by creating a topic to 
> >represent the thing you want to talk about.
> >...
> >In other words, reification enables you to make assertions about assertions.
> 
> Okay, so in my example I have 12 "member" associations, but I need only 
> make a topic of one of them in order to assert that my "member" association 
> is as the chair of the committee.  If I don't have anything to say about 
> the other 11, then I don't need topics for those associations.
> 
> Alternatively, Michel brought up in a private note that I could just have a 
> second association in that I am a member of the committee and I am the 
> chair of the committee.
> 
> Thanks!  I'll post more questions as they come to mind.
> 
> ................... Ken
> 
> --
> Upcoming hands-on in-depth XSLT/XPath and/or XSL-FO
>                               North America:      June 16-20, 2003
> 
> G. Ken Holman                mailto:gkholman@CraneSoftwrights.com
> Crane Softwrights Ltd.         http://www.CraneSoftwrights.com/t/
> Box 266, Kars, Ontario CANADA K0A-2E0   +1(613)489-0999 (F:-0995)
> ISBN 0-13-065196-6                      Definitive XSLT and XPath
> ISBN 0-13-140374-5                              Definitive XSL-FO
> ISBN 1-894049-08-X  Practical Transformation Using XSLT and XPath
> ISBN 1-894049-10-1              Practical Formatting Using XSL-FO
> Male Breast Cancer Awareness http://www.CraneSoftwrights.com/t/bc
> 
> _______________________________________________
> topicmapmail mailing list
> topicmapmail@infoloom.com
> http://www.infoloom.com/mailman/listinfo/topicmapmail
>