[tmcl-wg] comments regarding TCML requirements draft
Robert Barta
tmcl-wg@isotopicmaps.org
Fri, 28 Feb 2003 07:35:44 +1000
On Thu, Feb 27, 2003 at 04:39:03PM +0100, Bernard Vatant wrote:
> I'm concerned with overlapping, matching, conflict between constraints
> like the two following ones:
>
> C1. (on topic type)
> "Topic of type X may (must) play role type R in association of type A"
>
> And
>
> C2. (on association type)
> "Association of type A may (must) use topic of type X for role type R"
>
> Those are clearly two ways to achieve quite similar objectives, from two
> viewpoints (although not exactly equivalent). Which is the best way?
Bernard,
As you say, they are not equivalent, and - as you say further down - it
may depend what to use.
C1 and C2 will look quite different in any future TMCL. (Using AsTMa!):
forall [ $t (X) ] => exists [ (A)
R : $t ] is-reified-by C1
forall [ (A) ] => exists [ (A)
R : $t ]
AND
exists [ $t (X) ] is-reified-by C2
and they also have different models (in a logic-model oriented sense).
C1, for instance, is true for a map which does not contain any topic of
type X, but some associations of type A. This map does NOT conform to C2.
> Should we provide ways to do both?
Yes, in the same way as it is perfectly OK for us to use
z (x + y)
and
(y + x) z
as terms over the natural numbers. Even though, as in this case, it
can be proven they are equivalent. The semantics of the algebra (or
the language) allows that proof.
> 1. If TMCL supports both types of constraints, it would be nice to make
> it clear what are the use cases and scenarios for each one.
Both are perfectly valid.
> 2. If one schema uses C1 and another one (or the same one) uses C2,
> checking consistency at editing or merging time seems to be tricky.
Well, the machine will have to check 2 constraints instead of one.
Clever software may implement incremental checking.
> I am more and more inclined towards using rather C1 than C2, although
> until a few months ago I was thinking the other way round (including in
> my Baltimore paper). Why?
I think regardless of your observations (which are interesting, BTW),
at this stage we cannot take this heuristics as basis for the
language. In a programming language you also can write
while (1)
exit;
which does not make any sense, but has a precise semantics. Let future
users decide how to (ab)use the language.
> Of course, we want TMCL to be more expressive than frame-based
> ontologies. But a requirement IMO should be the interoperability with
> that kind of legacy, the same way topic maps being more expressive than
> Thesaurus must not prevent the ability for TM to integrate easily
> Thesaurus structures.
What 'legacy' are we exactly talking about? Is this something which
has to be put into a language or is it what we can burden to tools?
We need a lot to help the vendors distinguish themselves. It is VERY
contraproductive for the market to have fat standards with little
leeway. This only helps the big companies.
> IOW, the global strategy against existing tools should be:
>
> "We can do all what you do, in a very similar way, but we can do more"
Yes, this is the Microsoft way. ;-)
\rho