ISO/IEC JTC 1/SC 34N0860
ISO/IEC JTC 1/SC 34
Information Technology --
Document Description and Processing Languages
|TITLE:||Oslo 2007-03 Minutes - ISO/IEC CD 19756 - Information technology - Topic Maps - Constraint Language (TMCL)|
|SOURCE:||Mr. Graham Moore; Mr. Dmitry Bogachev; Ms. Mary Nishikawa|
|PROJECT:||CD 19756: Information technology - Topic Maps - Constraint language (TMCL)|
|PROJECT EDITOR:||Mr. Dmitry Bogachev; Mr. Graham Moore; Ms. Mary Nishikawa|
|DISTRIBUTION:||SC34 and Liaisons|
Dr. James David Mason
(ISO/IEC JTC 1/SC 34 Secretariat - Standards Council of Canada)
Crane Softwrights Ltd.
Kars, ON K0A-2E0 CANADA
Telephone: +1 613 489-0999
Facsimile: +1 613 489-0995
Network: [email protected]
TMCL Minutes from WG 3 Meeting in Oslo, 2007
For ease of reference, these minutes contain the presentation made by the TMCL editors, Graham Moore and Dmitry Bogachev, as well as the comments and decisions made during the meeting. Comments and decisions from the meeting are shown in italic text.
- The TMQL is not correct on many of the constraint interpretations.
- More prose description required and examples more useful and less abstract. rho to help.
- otherroleconstraint (lost the player topic types)
- Yes do it. As annex.
- one level is that NO conflict items returned. Tough on users.
- define conflict item PSI
- should we define the association type connecting a CI back to the bad boy constraint.
- in the rule where we define interpretation to define the conflict constructor
- Just do true | false. extension left to implementations.
constraint ctm:template grasrule($a) g1 isa gracons gracons iko constraint g1 interpretation "tmql expression" maybe interpretation octype is not enough, assert type and the other one.
- No need as TMDM already says enough.
- remove from top of document.
- define inline inside templates.
- use tmcl:
- use tmdm styley.
- tmclschema topic type.
- relationship to constraints that form the schema.
djc isa disjointConstraint djc_includes_type( djc : djc_includes_type_constraintrole, person : jc_includes_type_typerole) djc_includes_type( djc : djc_includes_type_constraintrole, cow : jc_includes_type_typerole) djc_includes_type( djc : djc_includes_type_constraintrole, house : jc_includes_type_typerole) djc_includes_type( djc : djc_includes_type_constraintrole, plane : jc_includes_type_typerole) djc I "TMQL eval..." ---- possible implicit semantics for template. Currently used as scope identifier in ctm. djc isa....... djc_includes_type ( ...... @types : jc_includes_type_typerole) ----- disjointConstraint(person, cow) disjointConstraint(car, cow) disjointConstraint(house, cow) Lists. ctm:template expand($a, $b) tmcl:co tmcl_rule1 isa tmcl:constraint tmcl_rule1 ($a, $b)
- Type for constraint. Yes.
- section prose topic type psi - topic_type is an instance of itself - constraint that anything used as a topic type that is not an instance of this is in error. TMCL Defines this: topic_type http://psi.isotopicmaps.org/metatypes/topic_type And to be interoperable you should use it like this: person isa topic_type OR ctm:template topicType($a, $b, ...) ttc1 isa tt_constraint $a isa topic_type OR Prose for declaration of intent as topic type topic_type http://psi.isotopicmaps.org/metatypes/topic_type ctm:template topicType(topic_type) any topics that are instances of topics that are not in this list are in violation. => this would be a real query. And same for Association Type, Role Type, Occurrence Type, Name Type, Name Scoping Type etc
- Agreement we need this.
- done above.
- SHALL get fixed by other fixes.
-> they are just Topic Map statements, instanceOf, superclass-subclass
- disjoint constraint should be a list. CTM should fix this. Variable number of parameters to templates.
- that the tmql interpretation should actually be a function that is created and bound as part of the template invocation. Function returns true | false , conflict item
Fixes and Changes:
- Remove by example part of constraint def
- Put template first
- Template 'returns' a constraint topic
- interpretation should be defined in terms of the constraint topic returned.
- CTM templates must generate new topics from templates.
ctm:template disjointCostraint(atype, btype) => djc isa disjointconstraint djc_includes_type( djc : djc_includes_type_constraintrole, atype : jc_includes_type_typerole) djc_includes_type( djc : djc_includes_type_constraintrole, btype : jc_includes_type_typerole) djc constraint_eval_fn "blah blah $this ..." ctm:template disjointCostraint(atype, btype) => djc isa disjointconstraint djc_includes_type( djc : djc_includes_type_constraintrole, atype : jc_includes_type_typerole) djc_includes_type( djc : djc_includes_type_constraintrole, btype : jc_includes_type_typerole)