[sc34wg3] Disentangling 'scope', 'context' and 'applies'
Marc de Graauw
sc34wg3@isotopicmaps.org
Fri, 12 Jul 2002 18:16:56 +0200
The terms 'scope', 'context' and 'applies' are not very well defined. This is a
short (well, not so short :-))note which makes a proposal to disentangle the
three. It's about terminology, not about the right way to structure scope.
Some proposed definitions:
Context: Anything whatsoever which is of any relevance in determining the extent
of validity of topic characteristic assignments. Context may include anything
outside or inside the Topic Map.
Applicable context: The set of all themes. These are the topics of which can be
said that they apply (or do not apply). The applicable context is a subset of
the context. It is, as it were, where the Topic Map and the context overlap.
Perspective: The set of themes which apply. (This could also be called 'applied
context'.) Perspective is the way a user wishes to look at a Topic Map. Of
course, the perspective can change frequently, even in a single session.
Apply: Apply is a truth-function which determines whether any given theme
applies or not. A theme either applies or does not apply; there is no other
possibility. Any conforming application should support a mechanism to determine
whether a given theme applies or not. The interpretation of what it means for a
theme to apply is completely up to applications.
As far as I can see these definitions are consistent with ISO 13250:2000, XTM
and SAM, though these are not very explicit about the notion of context and do
not use the notion of apply as described above.
This proposal has a one important consequence. The structuring takes place
wholly on the 'scope' side. I.e. with scope we can express a statement such as
"The Italian city Roma is named 'Rome' when Dutch applies or English applies".
Sometimes I see proposals which structure the other side, that is the user side.
This implements search-engine-like behaviour. The user can ask things such as:
give me all topic characteristics valid in scopes which contain both 'politics'
and '20th century'. So the structuring with 'and' and 'or' is not part of the
scope as such, which is merely a bag of keywords. This approach I feel is wrong,
at least when we take scope to establish an 'extent of validity' (as all of the
standards say it does). With such behaviour scope does not determine the extent
of validity anymore. A scope consisting of themes {'politics', '20th century')
only says: this characteristic has something to do with 'politics' and '20th
century'. The scope cannot be said to determine the extent of validity, since it
is up to the user to determine whether this characteristic is valid when both
themes apply, or any one of both, or a specific one. This might not be so bad
were it not for merging. Predictable merging requires well-defined scope
semantics, and that means scope has to determine the extent of validity, not the
user. What the user determines is which context applies, and from which
perspective the user wants to view the topic map.[1]
Given these definitions it becomes easy to express the various positions on
scope. I will take an example where a topic characteristic 'P' is scoped by a
compound scope {x, y}.
1) ISO 13250:2000
P is valid if applies(x) OR applies(y)
2) SAM
P is valid if applies(x) AND applies(y)
The 'OR-variant' can be expressed by attaching the same characteristic twice,
once with scope {x} and once with scope {y}.
3) Geir Ove Gronmo / Steve Pepper
In their paper 'Towards a general theory of scope' (
http://www.ontopia.net/topicmaps/materials/scope.htm ) Geir Ove and Steve
consider various possibilities, of which the 'non-empty intersection' approach
is considered best. This approach is the same as the ISO-approach sketched above
as far as the validity of 'P' is concerned. They do note the need for more
structured scope, but there is no definite proposal.
4) Bernard Vatant (scope variables)
See http://isotopicmaps.org/pipermail/sc34wg3/2002-June/000295.html
Here we must distinguish between scope variables X, Y ... Z, where themes x1,
x2, ... xn are elements of scope variable X, y1, y2, .... yn elements of scope
variable Y and z1, z2, ... zn elements of scope variable Z. Then:
'P' scoped by {x1, x2, ... xn, y1, y2, .... yn, z1, z2, ... zn} says:
P is valid if ( applies(x1) OR applies(x2) OR ... OR applies(xn) ) AND
( applies(y1) OR applies(y2) OR ... OR applies(yn) ) AND
( applies(z1) OR applies(z2) OR ... OR applies(zn) )
5) Kal Ahmed
Kal's proposal uses associations to create structured scope, and distinguishes
between 'user context' and 'scope'.
'User context' can be structured (with roles), so this proposal is at odds with
the requirement I would make that a given theme either applies or does not
apply. When themes in the user context play undefined roles, Kal's proposal is
similar to the SAM.
[1] An implementation could implement questions such as "give me all topic
characteristics which have both 'politics' and '20th century' in their scope".
This should however not be considered to have anything to do with the 'extent of
validity' of the characteristics. This should be understood to be a query
directly into the scope, and the query results do not say anything anymore about
the validity of the characteristic as intended by the Topic Map author.
Hope this sparks some discussion. Or helps. Or both.
Greetings, Marc