[sc34wg3] New syntax for (binary) associations

Steve Pepper pepper.steve at gmail.com
Thu Jan 31 13:51:10 EST 2008


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.

In other words, given some kind of syntax stating that for AT-x,
RT-y is the tm:subject-role and RT-z is the tm:object-role, the
statement

  foo { AT-x  bar }

would expand to

  AT-x( RT-y foo, RT-z bar )

This would be both powerful and useful. It would effectively
remove the need to use templates for associations. One could
then consider making templates even more powerful.

The syntax in question would also give us what we need to map a
binary association to an RDF triple.

* Lars
|
|    john o:works-for The-Beatles .     (1)
| 
| becomes
| 
|    o:works-for(tmrdf:subject: john, tmrdf:object: The-Beatles)

No, this wouldn't be good because it is not an established
design pattern to use highly generic role types like this with
potentially every binary association type.

Another reason is that it would conflate syntactic roles
(subject and object) with semantic roles (e.g. agent and
patient).

If we are not able to have (1) become (say)

  o:works-for(o:employee: john, o:employer: The-Beatles)
              ^^^^^^^^^^        ^^^^^^^^^^
then we shouldn't do this.

Steve
 
--
Conference Chair, Topic Maps 2008
Oslo, April 2-4 2008
www.topicmaps.com




More information about the sc34wg3 mailing list