[tmcl-wg] New TMCL draft is posted on isotopicmaps web site

Robert Barta rho@bigpond.net.au
Mon, 9 May 2005 15:13:20 +1000


On Thu, May 05, 2005 at 08:40:23PM -0400, Dmitry wrote:
> http://www.isotopicmaps.org/tmcl/tmcl-2005-02-12.html

Dmitry et.al,

Here is a first cut of some comments:

- Date is 2005-2-12 ?

- 1 Scope:

  TMCL is not here to "constrain any aspect of the topic map data model".
  Maybe instances thereof.

- 1 Scope:

  Typed-based: Where is described how this works?

- 1 Scope:

  typo: generlised (occurs a number of times)

- 3.1 Notation:

  I cannot see a single EBNF grammar in the document.

- 4 TMCL

  Are TMCL-Schema and TMCL-Rule sublanguages of TMCL?  I am rather
  confused how all these are supposed to belong together.

- 4.1 Validation....

  - Is it relevant that there is a tm1 and sc1? Would T and S also be
    good enough?

  - Suggest to use a list for the description of the /Validate/ function.

  - What is a selector?

  - What is a constrainer expression?

- 4.2 TMCL Schema

  - maybe drop the '-' and the '_' ?

  - _Is_ TMCL Schema a language? Or does it _define_ a language?

  - What is 'shared context'?

  - "...validated independently" from what? From each other?

- 4.2.1 Topic Map Schema

  - "Used to..." is no sentence.

- 4.2.*

  What exactly is this syntax?

  If inside one schema, there are several others nested, does this
  always mean 'AND'?

  typo (several times): Identificaiton

  typo: ....OccurrenceSchem <<<

  What is the difference between a schema name and an ID?

  typo: 'Constrains' <> 'Constraints'

4.2.4 Scope Pattern

  How does this orTopicSomething work?

4.2.7 Subject Indi...

  Why is 'match' a set? If these are several regular expressions and they
  should be or'ed then this is done with (...|...|...) which is also
  a regular expression. If the intention is AND, then separate constraints
  can be used in the first place.

4.2.7

  Integer? Is -5 an allowed value then?

  The question mark '?' is now on the right-hand side of the #. Has this
  any significance? Before the '*' was left to the #...

4.2.13

  The sentence claims that "associations of specific types" are
  constrained, but that never seems to happen.

  What is the // notation? Comment? Official?

4.2.20

  The grammar seems to conflict with the structure defined in 4.2.*.
  For instance, the element-Includes is optional in the RelaxNG whereas
  it is * in 4.2.1.

  typo: Aaasociation....

4.2.21

  typo: compbined.

  How should this list be interpreted? Is tmcl: a prefix for the namespace
  there? Are these then predicates or something?

  suggest to use versioning for the namespace URI

4.2.22

  I try to understand the logic there. Quantifiers seem to be

     Every
     ExistsAtLeast N
     ExistsAtMost  N

  There is also an 'AtLeast', probably a typo.

-----

  Is there a reference of all the predicates you are using?

-----

  Is there any relevance in the indentation? so, for instance,
  does

       TopicSchema:
         type                       =$T                    
         subjectAddressSchema:       
              cardMax               =$N

  mean something else than

       TopicSchema:
         type                     =$Type
             baseNameSchema:                       <<<<----------------
                type              =$NameType
                scope             =$ScopePattern
                cardMin           =$N

  The reason I ask, is that it is rather unclear from the nesting
  when something is a pre-condition and what is then the real
  constraint.

------

  Why is everything in predicates, except sometimes scoping? So why

       baseName($Inst,$NameType,$BN)@$Scope

  and not

       baseName($Inst,$NameType,$BN, $Scope)

  ?

-----

  Is there any relevance on the capitalisation? So, for instance,
  type and Type in

       TopicSchema:
         type                         =$Type                    
         subjectIndicatorSchema:       
              match                   =$RegExprSet

  and

       TopicSchema:
         Type                    =$Type
             BaseNameSchema:
                type             =$NameType
                scope            =$ScopePattern
                datatype         =$DataType

-------

   Where is defined what "<", ">", "<=" and ">=" on various
   data types mean?

-------

   In

       TopicSchema:
         Type                              =$Type        
         PlayRoleSchema:
             associationType               =$AType 
             roleType                      =$RoleType
             otherRoleType                 =$RoleTypeSet          
             scope                         =$ScopePattern
             cardMin                       =$N

   the $AType never seems to be used. This applies to others as well
   where $Type is not used as assoc type.

-------

TopicSchema:
  type                         =$Type                    
  subjectIndicatorSchema:       
       match                   =$RegExprSet
       
       
Every $Inst SuchAs instanceOf($Inst,$Type) Satisfies
    Every $S SuchAs subjectIndicator($Inst,$S) Satisfies
        Every $Y SuchAs member($RegExprSet,$Y)
          match($Inst,$Y)
                ^^^^^

This cant be right.

--------

TopicSchema:
  Type                          =$Type        
  PlayRoleSchema:
      roleType                  =$RoleType
      otherRoleType             =$RoleTypeSet          
      scope                     =$ScopePattern
      otherRoles:
         roleType               =$ORT          
         cardMax                =$N

Every $Inst SuchAs instanceOf($Inst,$Type) Satisfies
    Every $A SuchAs association($A)@$Scope and
                    matchScope($Scope,$ScopePattern) and 
                    role($A,$RoleType,$Inst) and
                    otherRoleTypes($A,$OtherRoleTypes) and
                    setEqv($OtherRoleTypes,$RoleTypeSet)    
    Satisfies
         ExistsAtLeast $N $Player SuchAs role($A,$ORT,$Player
                 ^^^^^

Cant be right.

----------

typo: $PlyerType

---------

OtherPlayerAllPlayersFrom occurs twice with subtle
diffences? :-)

---------

I admit, I have no idea what OtherPlayerAllPlayersFrom does. Would
it be possible to add prose text?

---------

>From what I understand there is that these constraints have been
selected. Is there any reason why exactly these constraints have been
selected and not others? Or is it meant to be an arbitrary selection?

And what would I have to do to create an constraint:

   All topics of type 'opera' which play the role 'opus' in
   an association of type 'is-written-by' must have a subject indicator
   of the form......

With the given selection, it does not seem possible to combine then
in such a way to achieve the above?

=========

- 4.3 I did not look at yet.

\rho