[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