[topicmapmail] Difference between SubjectIdentity &
Occurence
Steve Pepper
pepper@ontopia.net
Mon, 14 Apr 2003 13:58:20 +0200
Dear Prem,
At 12:47 14.04.2003 +0530, Premnath Raghavendran wrote:
>Am new to Topic Maps and having problems in understanding when exactly to
>use SubjectIdentity and Occurence tags.
>
>Both these tags seem to be interchangeable. Can someone give me a clear
>picture of when to use which tag.
>
>For example, in the following Topic definition what is the difference
>between Occurence & SubjectIdentity ? How do we generally define what is
>an Occurence & what is a SubjectIdentity?
>
>
><topic id="sw-lukeskywalker">
> <instanceOf>
> <topicRef xlink:href="#sw-person" />
> </instanceOf>
> <baseName>
> <baseNameString>Luke Skywalker</baseNameString>
> </baseName>
> <subjectIdentity>
> <subjectIndicatorRef
> xlink:href="<http://www.starwars.com/databank/character/lukeskywalker/index.html>http://www.starwars.com/databank/character/lukeskywalker/index.html"
> />
> </subjectIdentity>
> <occurrence>
> <instanceOf><topicRef xlink:href="#picture"/></instanceOf>
> <ResourceRef?
> xlink:href="<http://starwars.com/photos/lukepicture.html>http://starwars.com/photos/lukepicture.html"
> />
> </occurrence>
></topic>
The purpose of the <subjectIdentity> element is to control merging
behaviour. If two <topic>s have the same "subject identity" they are
deemed to represent the same subject and should be merged.
The <occurrence> element merely asserts a relationship between a
subject and some information resource and has no significance in
terms of merging (unless, of course, your application chooses to
give it significance).
In other words: say you had two more topics in your topic map,
"sw-lukeskywalker2" and "sw-lukeskywalker3". Let's say that the first
one has the same <subjectIdentity> as "sw-lukeskywalker" but no
occurrences, and the second one has the same <occurrence> as
"sw-lukeskywalker" but no subject identity.
A conforming topic map processor would merge "sw-lukeskywalker" and
"sw-lukeskywalker2" to a single topic, but it would not merge
"sw-lukeskywalker3".
Hope this helps.
Steve
P.S. By the way, the syntax in your example is not quite correct.
It should be as follows:
<topic id="sw-lukeskywalker">
<instanceOf>
<topicRef xlink:href="#sw-person" />
</instanceOf>
<!-- subjectIdentity *before* baseName -->
<subjectIdentity>
<subjectIndicatorRef
xlink:href="http://www.starwars.com/databank/character/lukeskywalker/index.html"
/>
</subjectIdentity>
<baseName>
<baseNameString>Luke Skywalker</baseNameString>
</baseName>
<occurrence>
<instanceOf><topicRef xlink:href="#picture"/></instanceOf>
<resourceRef xlink:href="http://starwars.com/photos/lukepicture.html" />
<!--^^^^^^^^^^-->
</occurrence>
</topic>
--
Steve Pepper, Ontopian
http://www.ontopia.net
DUMUS DELENDA EST