- From: Ziv Hellman <ziv@unicorn.com>
- Date: Sun, 20 May 2001 12:24:59 +0200
- To: "Sandro Hawke" <sandro@w3.org>
- Cc: <www-rdf-logic@w3.org>
- Message-ID: <6194CD944604E94EB76F9A1A6D0EDD230E55FD@calvin.unicorn.co.il>
> > sandro: > > > 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 > > ... > > > > Unfortunately, no matter how one views this, there is no > way to reduce the > > information content here to binary attributes. ... > > Maybe you're just not used to this kind of modeling? I see no > difference between this example and mine. I will try to be clearer about the distinction: in the example you gave, I can point to object a, and ask: what is its colour, what is its size, what is its flavour, what is its price? Each of these questions can be separately asked about the object because in each case we are talking about a single attribute that is associated with the single object. In the table format, the first column refers to the object, and each successive column refers to one attribute of the object in the first column. In the cinemas table, the Globus cinema is not an attribute of the month of April, nor is the film Gladiator an attribute of the month, etc. Moving around the columns will not help here either, because the cinema is not an attribute of the film, nor is the month, and so forth. If you do want to speak of attributes here, you must assign them to tuples: you _can_ meaningfully ask "what film is showing {in April, in Tel Aviv, in the Globus cinema, in theatre 1} and get a clear answer: "Pokemon 2", and then it does begin to resemble your example of the objects with colour, size, and so forth. But then the assignments are to tuples, not single atomic objects, and do not form natural ground atom triples. And this way of viewing the table is not unique either -- there could possibly be other attribute assignments to other types of tuples. > Your table looks to me like > a simple list of 18 bookings with five of their properties selected as > columns. Yes, sure, but then one needs to invent this new resource called "booking" that is outside the resources listed in the table, and uniquely label each of these new resources for each row in the table. If that does not bother you, fine, I don't mean to beat this to death, just point out that you need to take this step "outside of the original vocabulary", be clear about what you are doing, and add this level inside the syntactical vocabulary you are creating. Cheers, Ziv
Received on Sunday, 20 May 2001 05:26:00 UTC