[sc34wg3] Scope, again
Steven R. Newcomb
sc34wg3@isotopicmaps.org
28 Nov 2002 12:55:31 -0600
"Marc de Graauw" <marc@marcdegraauw.com> writes:
[Steve Newcomb:]
> | [Scope is] a way for topic map users to avoid having to
> | define a bunch of relationship types just so they can
> | characterize relationships.
> Here I start to disagree. I think your view of scope
> is at odds with the current ISO standard, XMT 1.0 and
> current practice of scope use. We could use scope in
> the following way in XTM. (I've taken the liberty to
> use the topic names instead of topic references in
> the elements to keep the example short. I am sure
> everybody can expand it to conforming syntax.)
> <association>
> <instanceOf>Marriage</instanceOf>
> <scope>Happy human relationships</scope>
> <member>John</member>
> <member>Mary</member>
> </association>
> This is a mistake. The current ISO standard says
> scope is an 'extent of validity' and a 'context'. Now
> 'happy marriages' is not an extent of validity, nor a
> context. If one were to use scope in the way you
> suggest, as a catchall way to state anything possible
> about relationships, it seems to me that would be a
> mistake. Take a look at the following pair of
> assertions:
> topic-name
> (T)
> topic | name
> (R) | (R)
> | | |
> | | |
> (x)--------(C)--------(A)--------(C)--------(x)
> Paris Paris has name "Parijs"
> "Parijs"
>
> (I use Paris to denote the city and the quoted
> "Parijs" to denote the name.)
>
> topic-scope
> (T)
> topic | scope
> (R) | (R)
> | | |
> | | |
> (A)--------(C)--------(A)--------(C)--------(x)
> Paris has name Paris has name Dutch
> "Parijs" "Parijs" in Dutch
> (A is the assertion
> above)
> Though similar-looking, this is a very different way
> of saying things about relationships than the "happy
> marriage" example. The crucial difference is that the
> assertion 'Paris has name "Parijs"' is no longer
> valid when the scoping topic 'Dutch' does not
> apply. The name of Paris in Italian is "Parigi", in
> English "Paris" et cetera. This is a difference with
> your example: your Topic Map asserts: 'John and Mary
> are married', and this fact remains valid whether we
> are looking from a 'happy marriage' or 'unhappy
> marriage' perspective. We could use the
> characterization of the assertion to filter the Topic
> Map, i.e. if we only want to look at unhappy
> marriages we should not display the marriage of John
> and Mary. But the fact 'John and Mary are married'
> remains asserted by the Topic Map author, regardless
> from which perspective we are looking at the Topic
> Map. In the second Topic Map this is not the case:
> the author does not assert 'Paris has name "Parijs"'
> any longer when we are inquiring from an English or
> Italian perspective. The assertion is no longer true
> in that context. So I would strongly object to using
> scope as a true catchall way to state anything one
> wants about relationships. This is neither what ISO
> 13250:1999 says nor what current practice is (though
> there are odd examples of this being done). If you
> truly want this, I think the text of the SAM needs
> editing, and the words 'extent of validity' need to
> be removed.
> What this leads to is the question whether scope is
> truly a general mechanism to say things about
> assertions, or, on the contrary, a mechanism to say
> very specific things about assertions, namely the
> circumstances in which we deem assertions to be valid
> or not. The entire question has a lot in common with
> what my logic textbook says on intensional logic
> (don't worry, I am not going to argue we should
> incorporate intensional logic in Topic Maps, just
> that the reasons which lead to the development of
> intensional logic apply to scope as well).
>
> from 'Logic, Language and Meaning', L.T.F. Gamut,
> London 1991, ISBN 0-226-28086-1, loosely quoted from
> page 13:
>
> In logic, propositions are traditionally supposed to
> be independent of time and place, so that they may be
> said to be unconditionally either true or
> false. Examples:
>
> (1) Knowledge implies belief.
> (2) 5 + 7 = 12
>
> But most propositions do not have this property:
>
> (3) The queen is delivering an address.
>
> Now (3) could be adapted to something like:
>
> (4) On June 9 at 8 P.M., the queen of the Netherlands
> is delivering an address.
>
> Again, a place (palace Noordeinde) could be added and
> a more specific time, and an even more specific place
> et cetera until proposition (3) is altered beyond all
> recognition. Instead of doing that, a context could
> be added to (3), stating that the proposition is
> valid only in this context, which is a much more
> natural way of interpreting (3).
>
> End of my logic textbook aside.
>
> Now scope should be used to do exactly this: adding
> contexts in which other assertions are valid. Out of
> this context, the assertions are not asserted to be
> valid. So instead of using scope as a general
> catchall mechanism to say things about relationships,
> it should be used as a way to say when an assertion
> is valid. And this is a very specific and important
> thing to say about assertions. Saying 'this assertion
> is only valid when...' is very different from saying
> 'this assertion is (an instance of) a happy one'. I
> think this merits a place in the SAM, and I believe
> it is a very strong mechanism which enables us to
> fully acknowledge the fact that most knowledge is not
> universal, but bound to certain contexts. Scope
> should in my eyes not be a very loosely typed
> assertion-about-assertions, but a strongly typed one:
> scope is a way of saying: what follows affects the
> validity of this assertion.
...
> I agree that when scopes get big and messy this is a
> clear cue we should take something out of the scopes
> and use specified relationships instead (when time is
> important in our Topic Map, we should make above
> proposition (4), not (3), translated into Topic Map
> syntax). Context - and scope - is for things we do
> not want to make explicit assertions about. But scope
> is not for everything: it has to affect the extent of
> validity of an assertion, otherwise it's not
> scope. So scope to me is just a way to make a
> specific kind of assertion: an assertion which limits
> the validity of another assertion.
If I understand you, we agree, in general terms, that
the SAM should define a some assertion type (let's call
it, for the moment, the "topic-scope" assertion type)
whose "topic" role type is always played by an a-node
(i.e., by an assertion), and whose "scope" role type is
always played by a node whose subject is a set.
Where we differ is in what the semantics of that
assertion type should be. I have proposed to remove
virtually all the semantics from this assertion type.
You are proposing -- pretty persuasively, I think --
that, instead, the semantic of "extent of validity"
should always be preserved as an intrinsic aspect of
the "topic-scope" assertion type.
Did I get that right?
If so, I think we should also consider a third
possibility: that we are both right. (At this moment,
I have no specific proposal whereby the definition of
the SAM can account for this third possibility, but I'm
sure that we can figure out a way to do that if we want
to.)
> | There will always be many different philosophies about
> | how to use scope. I would caution against defining
> | such a philosophy in the SAM, because that would limit
> | the applicability of the SAM, possibly making it
> | downright unpopular.
>
> There is a tradeoff between applicability and clarity
> here. If different people use scope in different ways
> because the SAM lets them, that is not going to help
> interoperability.
I can't argue with that!
> From what I have seen of actual scope use, most use
> cases are completely in line with the interpretation
> of scope I have sketched above, with the noteable
> exception of qualifying names to avoid TNC-based
> merges. Then again, there are a lot of Topic Maps I
> haven't seen...
I'm in the same position, and I suspect all of us are.
I'm trying to keep my mind as open as possible.
> | Some have proposed that scopes should have structure,
> | instead of just being a sets of
> | otherwise-undifferentiated topics. I would caution
> | against inventing anything new in order to accomplish
> | this, for at least three reasons:
> |
> | (1) At the RM level, we already have everything we need
> | to do this. We don't need to invent anything new.
> | Simply make assertions about the subjects that are
> | in the scopes. If that's not a sharp-enough
> | scalpel, make assertions about the set-member
> | assertions that establish those topics' memberships
> | in specific scopes. The only question is whether
> | we want to enable such assertions to be made at the
> | level of the XTM or HyTM syntaxes. (We can
> | certainly do that, but I think it's not a good
> | idea; see next reason.)
>
> True, at the RM level we already have everything we need.
>
> | (2) If our scopes are getting so big, ugly, and complex
> | that we need to structure them, that should be a
> | signal that what we *really* need to do is to
> | define more specialized ways of characterizing
> | relationships. In other words, we should define
> | more assertion-characterizing assertion types, in
> | order to relieve our scopes of some of their
> | semantic overload.
>
> True, when scope is overloaded one has to reconsider
> the Topic Map design. But I believe it is really
> helpful to be able to make this very special kind of
> assertion: that another assertion is only valid
> when..., and to be able to recognize that another
> Topic Map author is making an assertion of this kind.
I hear you, loud and clear.
> | (3) If we add internal structure to scopes, the
> | complexity of establishing namespaces by means of
> | scope increases dramatically. If two scopes have
> | the same set of subjects, but different internal
> | substructures, are they the same, or not? I'm very
> | leery of this idea of "structured scopes", because,
> | in the end, I think they would really have to be
> | just little encapsulated topic maps that are
> | somehow excused from participation in the larger
> | topic map. This is a bad idea because it dishonors
> | the Subject Location Uniqueness Objective.
> It would hope we could come to a way where scope is a
> way to make these special kind of assertions, while
> at the RM4TM level the scope is translated to nodes
> and arcs like every other construct. And
> well-formedness, fully-mergedness and SLUO should
> apply equally to all nodes and arcs, there is no
> excuse from that. I think - more hope, actually -
> scope can be a normal part of the Topic Map in every
> respect except it has this stamp on it: this part of
> the Topic Map affects the validity of other parts. I
> am not certain this can be achieved because I haven't
> worked out the details, but so far I am not
> pessimistic.
I don't see any reason to be pessimistic about it, at
least from a technical perspective. The only question
on the table is, what do we want the SAM to be?
> As for structured scopes, actually (perhaps
> surprisingly) I do not feel to strongly about them. I
> realize that once scopes get too complex, it is
> better to take things out of the scope and use normal
> <associations>. In my proposal I have limited myself
> therefore to a relatively simple form of structured
> scope. I considered the idea of having ALL-scopes and
> ANY-scopes which each can incorporate each
> other. Once you do that, things get completely out of
> hand, and establishing merging rules becomes a
> nightmare.
Right.
> So I proposed only the incorporation of ALL-scopes,
> and the interpretation of regular scope as an
> ANY-scope. Note too that I said I do not think this
> should go in the SAM: I merely said I think TMCL
> should enable the behaviour I sketched.
Yes, I saw that.
> Your arguments have definitively convinced me the SAM
> is not the proper place, but I would see no objection
> to TMCL supporting this kind of behaviour.
Right now, anyway, I can't think of any objection,
either.
> That would almost imply forbidding applications to
> use structured scope, and there seems no reason for
> that. So maybe there is a middle ground: leave the
> interpretation of scope open in the SAM, and
> investigate ways to express specific interpretations
> of scope, and structured scopes, so that people who
> do want to do this at least do it the same way.
That's one reasonable way to proceed, I think. (There
may be other possibilities that we should consider,
too.)
You've raised an important question, and it won't go
away until we decide what to do about it: what will be
the fate of the "extent of validity" semantic?
-- Steve
Steven R. Newcomb, Consultant
srn@coolheads.com
Coolheads Consulting
http://www.coolheads.com
voice: +1 972 359 8160
fax: +1 972 359 0270
1527 Northaven Drive
Allen, Texas 75002-1648 USA