ISO/IEC JTC 1/SC 34N0860

ISO/IEC logo

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
STATUS: Minutes
ACTION: For Information
DATE: 2007-04-23
DISTRIBUTION: SC34 and Liaisons
REPLY TO:

Dr. James David Mason
(ISO/IEC JTC 1/SC 34 Chairman)
Y-12 National Security Complex
Bldg. 9113, M.S. 8208
Oak Ridge, TN 37831-8208 U.S.A.
Telephone: +1 865 574-6973
Facsimile: +1 865 574-1896
Network: masonjd@y12.doe.gov
http://www.y12.doe.gov/sgml/sc34/
ftp://ftp.y12.doe.gov/pub/sgml/sc34/

Mr. G. Ken Holman
(ISO/IEC JTC 1/SC 34 Secretariat - Standards Council of Canada)
Crane Softwrights Ltd.
Box 266,
Kars, ON K0A-2E0 CANADA
Telephone: +1 613 489-0999
Facsimile: +1 613 489-0995
Network: jtc1sc34@scc.ca
http://www.jtc1sc34.org



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.

  1. The TMQL is not correct on many of the constraint interpretations.
  2. Are there any missing constraint types from TMCL Schema?
  3. Extension mechanisms for things of type constraint
  4. Representating tmcl using tmcl
  5. conflict items
  6. Do we need two names any more? TMCL Schema TMCL Rule?
  7. How is tmcl rule defined in a topic map form?
  8. 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. 	
    	
    
  9. Statement on effects of inheritance?
  10. List of PSIs is not complete
  11. PSIs form needs rationalisation
  12. Do we really want schema reference?
  13. How do you create a collection of constraints?
  14. ctm representations and especially templates
  15. 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)
    		
    
  16. LMG TMCL Meta Model
  17. GDM TMCL Meta model
  18. - 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
    
    
  19. Style of PSIs
  20. PSIs for CTM Templates
  21. All constraints must exist as constraint topics and not end up as 'briefer' annotations to types. e.g. IsAbstract.

Issues:

  • How to emded constraints in XTM or CTM?
  • Where have the ontology statements gone?
  • -> they are just Topic Map statements, 
    instanceOf, superclass-subclass
    

    Comments:

    1. disjoint constraint should be a list. CTM should fix this. Variable number of parameters to templates.
    2. 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:

    1. Remove by example part of constraint def
    2. Put template first
    3. Template 'returns' a constraint topic
    4. interpretation should be defined in terms of the constraint topic returned.
    5. 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)