[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
>