W3C home > Mailing lists > Public > www-rdf-logic@w3.org > May 2001

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

From: Danny Ayers <danny@panlanka.net>
Date: Sun, 20 May 2001 00:19:57 +0600
To: "Ziv Hellman" <ziv@unicorn.com>, <www-rdf-logic@w3.org>
RE: Why Triples? (was Re: What do the ontologists want)Nice to see something
real-world for a change. However, you only go as far as to discuss
representing or encoding (correct word?) the the data in triples. There's no
denying that the structure would be a bit tangled, but look at what we might
want to do with it - communicate & reason. Ok, we could pass on 4-ary
relations, as long as the receiver was prepared to accept 4-ary structures.
How might it be transferred? Same with reasoning - how would you go about
querying this alongside e.g. a list of  Director, Age Restriction, Country
of origin, Duration + another 4 sets I can't think of...

I also suspect that there is something happening at a psychological level in
these arguments - it's far easier for a human to relate to information in a
structure like that below - but is this necessarily the case for machines?

Danny Ayers

  -----Original Message-----
  From: www-rdf-logic-request@w3.org [mailto:www-rdf-logic-request@w3.org]On
Behalf Of Ziv Hellman
  Sent: 19 May 2001 23:18
  To: Sandro Hawke
  Cc: www-rdf-logic@w3.org
  Subject: 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
  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
  May             Tel Aviv        Globus  1                       Pokemon 2
  May             Tel Aviv        Globus  1                       Billy
  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. 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 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.


Received on Saturday, 19 May 2001 14:25:17 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 22:45:38 UTC