[sc34wg3] TMCL: 4.4.1 Topic Type Constraint

Robert Barta rho at devc.at
Thu Feb 14 06:35:07 EST 2008


On Thu, Feb 14, 2008 at 10:21:32AM -0000, Graham Moore wrote:
> 
> A couple of things...
> 
> >> We still have to say something about making the fact
> >>     Person isa tmcl:topicType
> >> accessible to the TMQL processor which effectively checks the map.
> 
> This fact should have been stated by the author of the map.

Is this statement part of the original map? Probably not?

Is this statement part of the schema? Maybe.

But then TMCL has to say somewhere that the TMQL expression (or actually
the whole validation is done on the merge of

    original_map + schema

> >> uniq ( // tm:topic >> types ) -- // tmcl:topicType == null
> 
> This looks good, just to clarify, this says that the set of topics that
> have instances and are not of the type topic-type is 0?

Yes:

// tm:topic       # find all instances of topics (so no assocs, occs, ...)
       >> types   # find from there all their types, direct or indirect
uniq ()           # make sure that we remove all the duplices

// tmcl:topicType # find all those which are marked as topic Types
   --             # this give only those which are used as type, but are not
                  # ear-marked

  == null         # we do not want this 'set' to be non-empty

\rho


> -----Original Message-----
> From: Robert Barta [mailto:rho at devc.at] 
> Sent: 14 February 2008 09:38
> To: Graham Moore
> Cc: Discussion of ISO/IEC 13250 Topic Maps
> Subject: Re: [sc34wg3] TMCL: 4.4.1 Topic Type Constraint
> 
> On Thu, Feb 14, 2008 at 07:40:53AM -0000, Graham Moore wrote:
> > >> How is 4.4.1. to be understood? 
> > >>  "..only topics  ... defined as topic types can have instances"
> > >> What about association types, occurrence types and name types? They
> > >> definitely need to be "topics allowed to have instances".
> > 
> > Firstly, this is a map wide constraint.
> 
> Yes, many constraints in TMCL are map wide.
> 
> > It is trying to say that if a topic plays the role of type in the
> > type-instance association and it is NOT an instance of the topic
> > tmcl:topic-type that the given type topic violates the topic type
> > constraint. 
> 
> > .... The evaluation function knows the topic of topic-type (its
> > defined in TMCL) and can thus derive the list of all topic types at
> > evaluation time.
> 
> Hmm, 4.1. says that "Constraints are independent from each other....",
> but obviously TMCL somehow makes a distinction between allowing to say
> 
>      "Person isa tmcl:topicType"
> 
> and the actual TopicTypeConstraint which is sort-of hovering in the
> background. I didn't get this from the text. But my interpretation
> 
> >   uniq ( // tm:topic >> types ) -- // tmcl:topicType == null
> 
> would then reflect this. Good.
> 
> > I'm not sure I follow the bit about having to adopt the tmrm-tmdm
> > mapping stuff. TMCL aims to be self contained in terms of TMDM and
> > TMRQL. Given we can identify the topic-type topic we don't need the
> > tm:topic in order to formulate the query.
> 
> Well, TMQL _has_ to use TMDM and needs hooks to get access to the
> innards of a map.
> 
> > Hope this starts to clear some things up.
> 
> We still have to say something about making the fact
> 
>      Person isa tmcl:topicType
> 
> accessible to the TMQL processor which effectively checks the map.
> 
> \rho
> --
> Austrian Research Centers, Environmental Monitoring Systems
> http://www.smart-systems.at/rd/rd_environment_en.html
> 

-- 
And then he said: "You should read my blog." http://kill.devc.at/


More information about the sc34wg3 mailing list