Re: plural vs singular properties (a proposal)

Frank Manola wrote:
> Choice #1: 
>
> Add the tuple [ <...#mybook>  "My Book"  "airplanes" ] to the relation 
> you have, forming  
>
> +----------------+----------------+----------------+
> |      URI       |    dc.title    |   dc.subject   |
> =================|----------------|----------------|
> | <...#mybook>   |   "My Book"    | "semantic web" |
> | <...#yourbok>  |  "Your Book"   | "database"     |
> | <...#mybook>   |   "My Book"    | "airplanes"    |
> ...
>
>
> This is a unique tuple (it doesn't duplicate any of the others), but 
> normalization principles frown on this, because you duplicate the fact 
> that <...#mybook> has a dc:title of "My Book".

"Normalization principles" don't just "frown on this"---the relational 
model expressly forbids it. Let me explain.

You say that, semantically, the above relation is duplicating the fact 
that <...#mybook> has a dc:title of "My Book". That must mean you agree 
that every tuple with URI=<...#mybook> applies to the same book. This 
implies that URI is a key---in fact, if you'll look above, I've 
double-underlined URI to indicate that it is a key. And you can't have 
multiple tuples with identical keys in a relation---the relational model 
"frowns on this". ;)

On the other hand, if URI is *not* a key, then tuple #1 and tuple #3 
above do not apply to the same book, and therefore you have not 
represented the semantics of <...#mybook> having a dc:subject of both 
"semantic web" and "airplanes".

>
> Choice #2:
>
> Create a normalized design with two relations (tables):

Yes, I'm aware that I can create some normalized relational model to 
represent any specific set of semantics, including anything 
representable in RDF. The issue here is a general one regarding the 
general semantics of the relational model versus the general relational 
semantics of the RDF model.

Let me address that on the separate sub-thread regarding 
"one-relation-per-graph".

Cheers,

Garret

Received on Saturday, 5 January 2008 17:39:11 UTC