RE: Why Triples? (was Re: What do the ontologists want)

> > There's no reason a set of triples like
> >
> >    <a, color, red>
> >    <a, size, big>
> >    <a, flavor, sweet>
> >    <b, color, green>
> >    <b, size, small>
> >    <b, flavor, bitter>
> >
> > can't be presented to users as
> >
> >    object   color   size   flavor
> >    ======   =====   ====   =====
> >      a      red     big    sweet
> >      b      green   small  bitter
> >
>
>This is a nice example, but if you examine it closely you will 
>notice that it does not represent a true multi-ary relation, but 
>rather a serialization of natural binary relations: an object has a 
>colour, it has a size, it has a flavour, and each of these is an 
>attribute of the object. In this case, the table can be directly 
>reduced to the triples, and vice-versa. Add price to the list later, 
>and you have just tacked on yet another binary predicate.
>
>But consider the following more complicated table that one might 
>encounter in real life and want to make available on a semantic web:
>
>
>month           city            cinema  theatre         film
>-------         ----------      -----------     ------------ 
>---------
>
>April           Tel Aviv        Globus  1                       Pokemon 2
>April           Tel Aviv        Globus  1                       Gladiator
>April           Tel Aviv        Globus  2                       Miss 
>Congeniality
>April           Tel Aviv        Peer            1 
>Miss Congeniality
>April           Tel Aviv        Peer            2 
>Cast Away
>April           Jerusalem       Gil             1 
>Pokemon 2
>April           Jerusalem       Gil             2 
>Proof of Life
>April           Jerusalem       Globus  1                       15 Minutes
>April           Jerusalem       Globus  2                       102 Dalmatians
>May             Tel Aviv        Globus  1                       Pokemon 2
>May             Tel Aviv        Globus  1                       Billy Elliot
>May             Tel Aviv        Globus  2                       The Mummy
>May             Tel Aviv        Peer            1 
>The Mummy
>May             Tel Aviv        Peer            2 
>Exit Wounds
>May             Jerusalem       Gil             1 
>Pokemon 2
>May             Jerusalem       Gil             2 
>The Mummy
>May             Jerusalem       Globus  1                       A 
>Hard Day's Night
>May             Jerusalem       Globus  2                       15 Minutes
>
>
>Unfortunately, no matter how one views this, there is no way to 
>reduce the information content here to binary attributes.

Well, no, there IS a way, as you go on to describe, if you are 
willing to introduce new entities.

>In order to encode it as ground atom triples, one would probably 
>artificially have to create 18 objects, each of which would then be 
>associated in a binary relation to each basic item in the table. The 
>resulting data construct would look so baroque and/or contain so 
>much redundancy that I would guess someone somewhere will eventually 
>notice that RDF has containers and decide to ship the table more 
>straightforwardly as a list of lists and by-pass the triples 
>altogether.

The problem is that it will stop looking baroque when you get used to 
it. The transformation involving the 18 objects can be done uniformly 
in the same way to all relations, and the same binary attributes can 
be used for them all (basically you need an attribute to select the 
m-th item in an n-tuple, for each m <= n.) Once someone gets used to 
this style of writing things it can come to seem natural, rather in 
the way that one can get used to a bad smell if it there all the 
time. So the argument is basically aesthetic rather than slam-dunk 
technical. Anyone who can live with XML isnt going to get all upset 
by a linear increase in notational complexity.

> > The best reasons I've heard for triples:
> >
> >      We don't want to grant any particular properties or relations
> >      special status. 
> >
> > If we later want to add a property (column) "price" or even "price at
> > Whole Foods Market in Newtonville on 2001-05-18" we can do that
> > without breaking anything.
>
>In the cinemas example above, it is not immediately clear that 
>adding new triples somewhere deep in a complicated triple encoding 
>of the data is easier -- or less likely to break anything -- than 
>tacking on a new value at the end of each list in a list of lists 
>encoding.

Yes, I agree. The variable polyadic notation I mentioned that KIF 
uses can be described as every relation being defined by a set of 
lists (of arbitrary finite length) rather than a set of n-tuples.

Pat Hayes

---------------------------------------------------------------------
IHMC					(850)434 8903   home
40 South Alcaniz St.			(850)202 4416   office
Pensacola,  FL 32501			(850)202 4440   fax
phayes@ai.uwf.edu 
http://www.coginst.uwf.edu/~phayes

Received on Saturday, 19 May 2001 17:12:24 UTC