![]() |
![]() |
![]() |
||||||||||||||||||
| Associations < Authoring XTM Topic Maps, Part I < < Home | ||||||||||||||||||||
|
Associations
After having collected our topics we finally can connect them, which is one of the most important aspects within a topic map. The task is now:
What is a meaningful association?Topics can have relationships between each other and the trick is to find the most meaningful association. That means, you have to be explicit - to pin it down, to make it clear - which relationship two or more topics have to each other. Associations can be rather general like:
A simple example for an association could be: bond-uni is located in robina. Why do we need members and roles?We need to define roles because someone could interpret: robina is located in bond-uni. To avoid confusion and to make it perfectly clear who is who and who plays which role in the association we use the following scheme:
<association>
<instanceOf>
<topicRef xlink:href="#is-located-in"/>
</instanceOf>
<member>
<roleSpec><topicRef xlink:href="#building"/></roleSpec>
<topicRef xlink:href="#bond-uni"/>
</member>
<member>
<roleSpec><topicRef xlink:href="#location"/></roleSpec>
<topicRef xlink:href="#robina"/>
</member>
</association>Note: Every time we introduce a reference to a new topic ( <topic id="is-located-in"> <baseName> <baseNameString>is located in</baseNameString> </baseName> </topic> <topic id="building"> <baseName> <baseNameString>building</baseNameString> </baseName> </topic> <topic id="location"> <baseName> <baseNameString>location</baseNameString> </baseName> </topic> In the same way we can express the fact it-school belongs to bond-uni:
In order to have a meaningful relationship between our members we introduced a new topic is-an-academic-organization-within which is more expressive than a simple belongs-to we also could have used.
<association>
<instanceOf>
<topicRef xlink:href="#is-an-academic-organization-within"/>
</instanceOf>
<member>
<roleSpec><topicRef xlink:href="#faculty"/></roleSpec>
<topicRef xlink:href="#it-school/>
</member>
<member>
<roleSpec><topicRef xlink:href="#university"/></roleSpec>
<topicRef xlink:href="#bond-uni"/>
</member>
</association>
As we have seen before, we are again supposed to define our topics which we introduced as we created our association -
if we have not already done so. In the example above we referred to
<topic id="is-an-academic-organization-within">
<baseName>
<baseNameString>is an academic organization within</baseNameString>
</baseName>
</topic>
Associations can also connect more than two topics, as the example Gopal is the dean of the Bond IT school shows:
While the topic <topic id="gopal"> <instanceOf><topicRef xlink:href="#person"/></instanceOf> <baseName> <baseNameString>Gopal Gupta</baseNameString> </baseName> </topic> <topic id="person"> <baseName> <baseNameString>person</baseNameString> </baseName> </topic> <topic id="dean"> <instanceOf><topicRef hlink:href="#position"/></instanceOf> <baseName> <baseNameString>dean</baseNameString> </baseName> </topic> <topic id="position> <baseName> <baseNameString>position</baseNameString> </baseName> </topic> in order to create the association properly:
<assocation>
<instanceOf>
<topicRef xlink:href="#holds-position-in-organisation"/>
</instanceOf>
<member>
<roleSpec><topicRef xlink:href="#holder"/></roleSpec>
<topicRef xlink:href="#gopal"/>
</member>
<member>
<roleSpec><topicRef xlink:href="#position"/></roleSpec>
<topicRef xlink:href="#dean"/>
</member>
<member>
<roleSpec><topicRef xlink:href="#organisation"/></roleSpec>
<topicRef xlink:href="it-school"/>
</member>
</association>
Finally, we pay our dues with <topic id="holder"> <baseName> <baseNameString>position holder</baseNameString> </baseName> </topic> <topic id="organisation"> <baseName> <baseNameString>organisation</baseNameString> </baseName> </topic> <topic id="holds-position-in-organisation"> <baseName> <baseNameString>holds position in organisation</baseNameString> </baseName> </topic>
The exact sequence of our declarations of topics and associations does not matter
to any system processing the topic map. Topic maps only capture the relative
relationship between topics. [ Our next section gives a more in-depth look into adding resources to topics.
|
|||||||||||||||||||