Newbie Topic Map Question

  • Thread starter Hyeon Young Lee
  • Start date
H

Hyeon Young Lee

Hello,

I am creating a relatively complex topic map in XTM. There are numerous
associations. My question: If I use a <roleSpec> in my associations to
define a relation R between two topics A and B, is it advisable to also use
<instanceOf> in my topics to say that A is an instance of B? Is this good,
wrong, or does it depend on the purpose?

An example:


<topic id="s1">
<instanceOf>
<topicRef xlink:href="#document"/>
</instanceOf>
.....
</topic>

<association>
<instanceOf>
<topicRef xlink:href="#user_created_document"/>
</instanceOf>
<member>
<roleSpec>
<topicRef xlink:href="#user"/>
</roleSpec>
<topicRef xlink:href="#hy"/>
</member>
<member>
<roleSpec>
<topicRef xlink:href="#document"/>
</roleSpec>
<topicRef xlink:href="#s1"/>
.....
</association>


As you can see, the relation between document and s1 is defined twice. I
have seen this in several topic maps, but found no clear guidelines.

Thanks....

Hyeon Young Lee
 
L

Lars Marius Garshol

Hi there,

* Hyeon Young Lee
|
| I am creating a relatively complex topic map in XTM. There are
| numerous associations. My question: If I use a <roleSpec> in my
| associations to define a relation R between two topics A and B, is
| it advisable to also use <instanceOf> in my topics to say that A is
| an instance of B? Is this good, wrong, or does it depend on the
| purpose?

Actually, there are three different things involved here:

- the types of the topics,

- the types of the associations between them, and

- the types of the roles they play in the associations.

The first two are both expressed with <instanceOf> but still
different, while the third is expressed with <roleSpec>.

| An example:
|
| <topic id="s1">
| <instanceOf>
| <topicRef xlink:href="#document"/>
| </instanceOf>
| ....
| </topic>
|
| <association>
| <instanceOf>
| <topicRef xlink:href="#user_created_document"/>
| </instanceOf>
| <member>
| <roleSpec>
| <topicRef xlink:href="#user"/>
| </roleSpec>
| <topicRef xlink:href="#hy"/>
| </member>
| <member>
| <roleSpec>
| <topicRef xlink:href="#document"/>
| </roleSpec>
| <topicRef xlink:href="#s1"/>
| ....
| </association>
|
| As you can see, the relation between document and s1 is defined
| twice. I have seen this in several topic maps, but found no clear
| guidelines.

To say that s1 is a document and that it plays the role of document in
the user_created_document association is actually two different
statements, so there is no redundancy here.

A more relevant question is perhaps whether the topic type "document"
and the role type "document" are actually the same thing. This topic
map claims that they are, but I'm not so sure this is the case. The
best fix to this problem might be to change the association to
something like (using LTM syntax):

created-by(hy : creator, s1 : creation)

That would be like this in XTM:

<association>
<instanceOf>
<topicRef xlink:href="#created-by"/>
</instanceOf>
<member>
<roleSpec>
<topicRef xlink:href="#creation"/>
</roleSpec>
<topicRef xlink:href="#hy"/>
</member>
<member>
<roleSpec>
<topicRef xlink:href="#creator"/>
</roleSpec>
<topicRef xlink:href="#s1"/>
....
</association>

This avoids using "document" for two different things and at the same
time improves the association (and the role types) by generalization.

I hope this helps!
 
H

Hyeon Young Lee

Hello Lars Marius,

many thanks! What a pleasant surprise to hear from someone as knowledgeable
as you!



Best regards--

Hyeon Young


Lars Marius Garshol said:
Hi there,

* Hyeon Young Lee
|
| I am creating a relatively complex topic map in XTM. There are
| numerous associations. My question: If I use a <roleSpec> in my
| associations to define a relation R between two topics A and B, is
| it advisable to also use <instanceOf> in my topics to say that A is
| an instance of B? Is this good, wrong, or does it depend on the
| purpose?

Actually, there are three different things involved here:
[...]
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,996
Messages
2,570,238
Members
46,826
Latest member
robinsontor

Latest Threads

Top