[topicmapmail] LTM 1.3 Change Proposal
Jan Algermissen
algermissen@acm.org
Fri, 21 Jan 2005 11:56:49 +0100
Lars, Murray,
would maybe be a good idea to look for principles that a decision could
be based on/evaluated against. The issue you are dealing with here is
the one of 'missing information', well known in the data management
scene. Also closely related to SQL's null values and the evils of the
resulting three valued logic in SQL (true, false, and null). Duhhhh....
As a starting point:
"One of thorniest aspects of database management, and one that is (for
good reasons)
least understood, is missing data"
[http://searchdatabase.techtarget.com/tip/1,289483,sid13_gci784090,00.html]
Date's and Pascal's work are generally a good staring point:
http://www.dbdebunk.com
HTH,
Jan
Lars Marius Garshol wrote:
>* Lars Marius Garshol
>|
>| [untyped associations, occurrences, and association roles]
>|
>| We strongly feel that this should not have been in XTM 1.0 to begin
>| with, and we very much do not want this to be supported by LTM.
>
>* Murray Altheim
>|
>| This seems to entirely forget the impetus that intelligently lead to
>| the decision taken in XTM 1.0 to not require typing on associations
>| and occurrences, as well as a number of other optional but generally
>| necessary features. It was (to my recollection) considered by the
>| group the domain of a constraint language, not an interchange
>| syntax, to prohibit this sort of thing. Nor to my recollection were
>| these "strong feelings" voiced during the development of XTM. I seem
>| to remember everyone understanding the reasoning behind not
>| constraining XTM 1.0 any more than we did. Interchange syntax, not
>| constraint language.
>
>I think we (Geir Ove and myself) did raise these concerns at the time,
>but that the standard "there may be unknown things during TM editing"
>answer pacified us. I now think we were wrong to accept that answer.
>
>As for constraints I think that's a different issue. Allowing untyped
>constructs increases implementation and model complexity, and I can't
>see that it provides any gain at all. In fact, very much the opposite,
>since I don't think anyone really knows what untyped constructs (and
>missing role players, for that matter) really *mean*.
>
>So even if XTM 1.0 were right on this, XTM 1.0 only did the job
>half-way.
>
>| During many stages of a Topic Map's life cycle there are things that
>| are simply unknown. For example, we allow empty <member> objects
>| simply because it's got to be possible to create an empty
>| association before one can populate it.
>
>It's true that while editing there are things that may be unknown, but
>that doesn't necessarily mean that allowing role players to be omitted
>is right.
>
>Firstly, if you don't know who is at the other end of the association,
>why are you creating it at all? What's the point?
>
>Secondly, assuming there *is* a reason to create the association, why
>not create an "unknown" topic there? This should be trivial in any
>half-way decent editing tool, and it is better than having a dummy,
>because it means the author must make commitments regarding which of
>the NULL topics are the same and which are different. With a 25 NULL
>topics you have no idea whether this is 1 topic or 25 topics.
>
>| By the same token, not all associations or occurrences have known
>| types. Sometimes, one simply knows that a given resource is an
>| occurrence of a Topic -- the type may be added later, or not at
>| all. Providing no way to specify typeless associations or
>| occurrences just leads users to create dummy types in order to
>| create a workaround for the (at that point, inappropriate)
>| constraint.
>
>It does lead them to create dummy types, but what's wrong with that? I
>think dummy types are very much to be preferred, because, again, it
>means the author makes some commitments to which missing types are the
>same and which ones are different. At present, this is all just
>undefined. Also, adding a dummy type should be a negligible amount of
>work.
>
>| If we prohibit incomplete information, we just make it much more
>| difficult for users to finally fill that information in.
>
>How?
>
>| This kind of constraint is even more of a problem for LTM as an
>| authoring language, where people may just be beginning to create a
>| Topic Map and not have all the pieces together yet.
>
>Every time that's happened I've simply typed "unknown1", "unknown2",
>and suchlike into the file, and it's never even come within a thousand
>miles of being an issue, let alone a problem. Nor have I ever heard
>any user complain or even mention this as a problem, so I don't really
>know where you get this from. You've never requested this feature, for
>example.
>
>| If one wants to write a feature into an Topic Map application that
>| flags untyped associations and occurrences, that's one thing, but it
>| doesn't belong in either an authoring or interchange syntax.
>
>It's not about flagging anything, it's about keeping the syntax and
>the model simple, and also about helping people be clear on what they
>know and don't know.
>
>
>
--
Jan Algermissen
Consultant & Programmer
http://jalgermissen.com