De-overloading scope WAS(Re: [sc34wg3] Question on TNC / Montreal minutes)

Marc de Graauw
Mon, 9 Sep 2002 15:23:22 +0200

* Steve Pepper

| I would really like to decouple the 'namespace'
| aspect of scope and the 'contextual validity' aspect of scope. Mixing the
| two already tends to cause choas and confusion, and this will get worse when
| the time comes (as I believe it will) to make scope more expressive.

I think making the TNC optional in the right way might solve this problem of
overloaded scope we have now. When we look at the situation with the TNC and
merging, there are actually three relevant possibilities:

1) Apply the TNC within a Topic Map and with merging
2) Apply the TNC within a Topic Map but not with merging
3) Never apply the TNC

Having a merge flag which can be "on" and "off" really only gives you 1) and

If we look at the 'namespace' aspect of scope, that maps neatly onto 1). If we
have a namespace, we are involved in a systematic approach to names, we are
making a controlled vocabulary in which each name is unique and establishes
subject identity. When we do this, we want to apply the TNC (for this
particular namespace) within any Topic Map which uses this namespace and when
merging (again only for this particular namespace). When merging, we only need
to establish subject identity for the scoping topics in the merging Topic Map
and the to-be-merged Topic Map. Once this is done, all topics will merge based
on names, and since we are talking about a controlled vocabulary whose names
establish subject identity, this is desirable. It actually saves a lot of work
since we do not have to establish subject identity on a one-by-one basis for
all topics, only for the scoping topics.

When we look at the 'contextual validity' aspect of scope, where we do not
want/need to establish a namespace, the situation is different. We provide
extra information with a topic to give the end-user contextual information (or
filter information on behalf of the user), i.e. 'Paris' {France} versus
'Paris' {Texas}, or 'rose' {English} and 'roos' {Dutch} etc. Here we do not
imply the names are unique outside the containing Topic Map (both the English
'rose' and the Dutch 'roos' have other meanings, and another Topic Map on hair
conditioners might say: 'roos' {Dutch} and 'dandruff' {English}). This maps
onto possibility 2: we want to apply the TNC within the Topic Map to avoid
homonyms, but applying the TNC when merging is not safe. We still have
namespaces, but only within the Topic Map.

Possibility 3) of course means we want to allow homonyms in a certain scope.

So it seems making the TNC optional could help in de-overloading scope.


P.S.: I've changed the thread to avoid overloading it ;-)