[sc34wg3] New syntax for (binary) associations

Murray Altheim murray06 at altheim.com
Fri Feb 1 20:02:14 EST 2008

Steve Pepper wrote:
> I want to make sure I understand this proposal correctly:
> * Lars Heuer
> |
> | > The idea to create binary assocs with predefined role types
> | > (subject, object) is sexy, but I wonder if this is the right
> | > thing for CTM.
> Question: Would every association of every type that uses this
> proposed syntax end up with the two predefined role types
> 'subject' and 'object'? In other words:
>    born-in( subject puccini, object lucca )
>    composed-by( subject tosca, object puccini )
>    located-in( subject lucca, object tuscany )
>    etc.
> If so, this is definitely NOT something for CTM because it
> involves creating a syntax for a design pattern that no-one has
> ever used before (at least as far as I know). I'm not
> necessarily against creating syntactic shortcuts for design
> patterns that are well-established, but this certainly ain't one
> of them ;-)
> If, on the other hand, the proposal is for a syntax that allows
> arbitrary role types to be assigned to arbitrary (binary)
> association types, and then to be inferred for the individual
> associations based on ordering... well, THAT would definitely be
> something for CTM.

I've largely stayed out of the CTM discussions, mostly because I'm
quite happy with LTM and see little need for CTM for my own work,
but I thought to comment on this last statement. It seems that
unless I'm misunderstanding you Steve, the design pattern is
extremely common (I'm guessing I'm not understanding you correctly).

The work I've been doing for the past few years involves Topic Maps
almost entirely composed of binary Associations of the type

     Subject Predicate Object

and I've been using a templating mechanism whereby roles are assigned
to Subject and Object. The Subject and Object are in these statements
merely placeholders for the actual Topics found in statement instances,
or of role Topics as found in statement templates. The 'Subject' and
'Object' roles types are only used in the one case where the statement
Association is itself defined (and all other statements therefore are
subclasses of 'statement').

For example, one syntax I'm using looks like this:

    [{Assert [Fido] Isa [Dog] }]

with the template for 'IsA' being defined as

    [{Assert template="true" [Instance] Isa [Class] }]

"Instance" in the template being the Subject, "Class" being the Object.
Pretty simple stuff, found in many languages (Cyc, CG, etc.)

This is of course similar to RDF's approach, as found in their 'triples'
or 'tuples' (or whatever they're called this month).

On the other hand, I couldn't imagine being *restricted* to only binary
Associations of this type. There's still the need for utility Topics and


Murray Altheim <murray07 at altheim.com>                           ===  = =
http://www.altheim.com/murray/                                     = =  ===
SGML Grease Monkey, Banjo Player, Wantanabe Zen Monk               = =  = =

       Boundless wind and moon - the eye within eyes,
       Inexhaustible heaven and earth - the light beyond light,
       The willow dark, the flower bright - ten thousand houses,
       Knock at any door - there's one who will respond.
                                       -- The Blue Cliff Record

More information about the sc34wg3 mailing list