[topicmapmail] YALTM ("YALTM Ain't LTM")

Thompson, Miles MThompson@creditsights.com
Sun, 16 Oct 2005 21:39:13 -0400


Fascinating, I look forward to reading through the output of something
like opera.xtm in YALTM format. It may be a lot more
tractable/readable... but we shall see, eh.

Miles


-----Original Message-----
From: topicmapmail-admin@infoloom.com
[mailto:topicmapmail-admin@infoloom.com] On Behalf Of Rich Morin
Sent: Monday, October 17, 2005 2:33 PM
To: topicmapmail@infoloom.com
Subject: [topicmapmail] YALTM ("YALTM Ain't LTM")

I've put together a YAML (http://www.yaml.org) expansion of LTM, for
use as a self-documenting way to encode Topic Maps.  I'm very new at
both LTM and Topic Maps, however, so I may well have missed a trick.

So, please take a look at the following example and let me know what
issues I haven't handled properly.  It isn't really necessary to be
a YAML expert to read the format; just understand that

   Associations:
     -  type:            format_for
        src_name:        yaltm

yields a compound data structure, such that (in Perl-speak):

   $r->{Associations}[0]{src_name}  yields 'yaltm'

That is:

   The reference $r points to a hash.
   The "Associations" element of this hash  is an array.
   The "0"            element of this array is a hash.
   The "src_name"     element of this hash  is a string.
   The value of the string is "yaltm".

Once I have some confidence in YALTM, I plan to write some filters
(e.g., to/from DOT, LTM, OmniGraffle).

-r


#####

# example.yaltm - example YALTM file
#
# YALTM ("YALTM Ain't LTM") is a YAML (http://www.yaml.org) expansion of
LTM
# (Linear Topic Map Notation; http://www.ontopia.net/download/ltm.html).
It
# strives to be clear and self-documenting.  It is easy to generate,
edit, and
# (thanks to YAML) parse and load as a data structure.  Although more
verbose
# than LTM, it is simpler and (arguably) clearer than its XML
equivalents.
#
# Written by Rich Morin, rdm@cfcl.com, 2005.

   Associations:

#   format_for(yaltm      : format,
#              topic_maps : standard)

     -  type:            format_for
        src_name:        yaltm
        src_type:        format
        dst_name:        topic_maps
        dst_type:        standard


   Occurrences:

#   {yaltm,
#    specification,
#    "http://www.cfcl.com/topic_map/yaltm_spec.html"}
#   }

     -  id:              yaltm
        role_type:       specification
        locator:         "http://www.cfcl.com/topic_map/yaltm_spec.html"


   Topics:                                               # All topics go
here.

#   [yaltm : format standard                            # ID and types
#
#          =3D "YALTM";                                   # base    name
#            "LTM, YALTM Ain't"                         # sort    name
#            "YALTM Ain't LTM"                          # display name
#
#         /  topic_maps                                 # topic scope
#            ("YALTM" / acronym)                        # variant names
#            ("YILTM" / erroneous)
#
#          @"http://www.cfcl.com/topic_map/yaltm"       # subject
indicator(s)
#          %"http://www.cfcl.com/topic_map/yaltm.html"  # subject
reference(s)
#   ]


     -  id:              "yaltm"                         # topic ID

        types:                                           # topic type(s)
          -  format
          -  standard

        base_name:       "YALTM"                         # base    name
        disp_name:       "YALTM Ain't LTM"               # display name
        sort_name:       "LTM, YALTM Ain't"              # sort    name

        subj_inds:                                       # subject
indicator(s)
          -  "http://www.cfcl.com/topic_map/yaltm"
        subj_refs:                                       # subject
reference(s)
          -  "http://www.cfcl.com/topic_map/yaltm.html"

        scope:           topic_maps                      # topic scope

        variants:                                        # variant
name(s)
          acronym:       "YALTM"
          erroneous:     "YILTM"

#####

--=20
email: rdm@cfcl.com; phone: +1 650-873-7841
http://www.cfcl.com        - Canta Forda Computer Laboratory
http://www.cfcl.com/Meta   - The FreeBSD Browser, Meta Project, etc.
_______________________________________________
topicmapmail mailing list
topicmapmail@infoloom.com
http://www.infoloom.com/mailman/listinfo/topicmapmail