[sc34wg3] SAM-issue term-scope-def

Bernard Vatant sc34wg3@isotopicmaps.org
Mon, 15 Jul 2002 13:12:47 +0200

> I've taken a closer look at your definitions and find some parts hard to
> understand. I think I figured out what you mean, but am not certain I've
> interpreted you right. So please help me out.

I'll do what I can about it :)

> | What does "S applies" means? It should be "for all k, value of Vk belongs to Sk"
> Isn't that the same as saying: "for all k, value of Vk belongs to S"?

Yes it is.

> Since all values of Vk are in Dk, then iff value of Vk is in S, it is in Sk
> (intersection of S and Dk) so those statements seem the same to me. I find it
> hard to see what the introduction of Sk adds to your argument, except making it
> more complex.

Agreed. The first time you express something, it's rarely the simplest way :)

> Now what do you intend the 'scoping variables' to be? Is this intended as a kind
> of 'user context', where a user picks a value for each scoping variable?

The intent is just to pack together the scope values with the same role, whatever that is.
In fact, definition of scoping variable is no more than role specification in my mind.

> Are the scoping variables allowed to have only a single value at a time?

Why would it be that way? Like in associations, member cardinality depends on role type.

> Must they always have a value?

> I.e. if a variable 'region' has as its domain {France,
> Navarre} must the value of 'region' be either 'France' or 'Navarre', can it be
> empty, or can it have both values?

It can have none, one or two in the general case. Specific constraints may be added for
certain association type.
(Coming to my mind right now: Scoping variables, and constraints on those, could be
defined in association templates ??)

> The way I figured it out you probably mean
> the scoping variables have only one value each. So when there is a variable
> 'language' the user picks a value, say Dutch, and the scope applies iff the
> scope contains the topic 'Dutch'. It doesn't matter whether the scope contains
> other language topics too. If the scope however contains topics which belong to
> another variable, the user must pick a value for that variable too, say the user
> picks 'Navarre' for the 'region' variable, then a scope applies iff it contains
> both 'Dutch' and 'Navarre', and possibly other language and region topics, but
> not if it contains themes of yet another variable.
> Is this interpretation right?

I don't think it is what I meant. Again, I think about variables as role specification,
but not about any generic rules for the way they should be interpreted.

> | It figures that a proper use of scope should imply for each assertion
> | -- The declaration of scoping variables (e.g. language)
> | -- The declaration of domain of values for each scoping variable (e.g. Dutch,
> German, ...)

> I fail to see why the domains would need to be declared, as long as it is
> declared which variable each theme belongs to. It is problematic too. When I
> make a Topic Map, and I am interested only in Dutch and German, I do not want to
> declare a complete domain of all languages. Neither do I want to declare a
> variable type 'language-dutch-or-german' instead of the generic 'language'
> variable, since that would make it very hard to include French in a later stage,
> and it makes perfect sense to say the variable is 'language' even when my Topic
> Map does not use all languages.

All those arguments make sense. When I say "declaration of domain", it means somehow
definition of the set (class, type, if you prefer) of topics allowed in this variable.
This definition might be intensive or extensive - but as we've seen lately in GeoLang TC
discussions, in some cases like languages, oftentimes, neither of those definitions is

> | Merging process could then be based on:
> |
> | -- Union of sets of scoping variables of merged topic map.

> Does this mean you want this merge to occur?
> Merge assertion 1:
> {Henri is King} (scoped assertion)
> {France, Navarre} (space scope)
> with assertion 2:
> {Henri is King} (scoped assertion)
> {1589-1610} (time scope)
> to yield assertion 3:
> {Henri is King} (scoped assertion)
> {France, Navarre} (space scope)
> {1589-1610} (time scope)

Well, certainly I meant that, although I'm not sure now if it's a good idea after all.

> | -- Union of domains of values for each scoping variable.
> Don't you mean "union of Sk's"?

Right. Thanks to correct.