[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