[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