[topicmapmail] AsTMa! as TMCL

Robert Barta rho@bigpond.net.au
Sun, 15 Dec 2002 07:10:09 +1000


On Sat, Dec 14, 2002 at 06:28:25PM +0000, Kal Ahmed wrote:
> > > 2) There are no provisions for quantitative constraints (e.g. an
> > > association of type 'has-natural-children' must contain no more than two
> > > 'parent' role-players)
> >
> > forall $a [ (has-natural-children)
> >             parent : $p ]
> >    => forall $a [ (has-natural-children)
> >                   parent : $q ]
> >       => not exists $a [ (has-natural-children)
> >                          parent : $r ] is-reified-by at-most-two-parents
...
> It would still be a bit of a pain to have to do that for "every football 
> (soccer) team has 11 players and 2 subs" ... or "every football (American 
> football) team has 45 players (or whatever the number is)"

The above assumes that the players are all in _one_ association. If
you are happy to have this in separated assocs, like

(is-player-in)
team: flying-kangaroos
player: jon-downunder

(is-player-in)
team: flying-kangaroos
player: real-aussie

....

then you simply use a "quantified quantifier" (I like that one):

exists{11} [ (is-player-in)
             team   : flying-kangaroos
             player : * ]
and
exists{2}  [ (is-sub-in)
             team   : flying-kangaroos
             player : * ]

> > I see associations rather 'typed', i.e. not with too much varying roles as
> > I got the feeling that a map looses a lot of its strength using assocs
> > which 'float' in their structure. Maybe too much of a programmer's view.
> >
> 
> I think it does depend upon the viewpoint of the application developer - some 
> applications would benefit from the freedom to be able to redefine 
> association structures and create new association structures on the fly (e.g. 
> mind-mapping applications), whereas most applications requiring interchange 
> would find such freedom a problem.

Can you think of an example?

> > Of course it can. As soon as AsTMa! has a finite grammar (and it has), it
> > can be mapped according to its syntax. Similar to Holger's (in)famous
> > chapter in the XML book on KM engineering about software projects, you
> > simply create associations along the parse tree. The above would start as
> >
> 
> I would balk slightly at the thought of simply representing the parse tree. 
> I'm fairly sure that there must be more elegant ways of representing the 
> constraint structures in topic map form too. But I can see what you are 
> saying and I can see that that must imply that there would be *some* way of 
> representing  the constraint language.

I simply failed to map constraints (and also queries and updates) to intrinsic
topic map semantics except on the level of syntactic constructs.

Even if that could be established, still a TM application has to "recognize" it
has to do "the right thing".

\rho