Re: plural vs singular properties (a proposal)

Garret--

Part of the confusion is that you've changed the example.  In your  
original example, you were talking about only one book (there was  
only one rdf:Description, so you were describing only one resource).   
That's what I responded to.  However, let's continue with your  
example below.  If you want to add a dc:subject of "airplanes" for  
"mybook" to the information you have, there are two choices.

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".

Choice #2:

Create a normalized design with two relations (tables):


dc:title (the table name)
+----------------+----------------+
|      URI       |    value       |
=================|----------------|
| <...#mybook>   |   "My Book"    |
| <...#yourbok>  |  "Your Book"   |
| <...#mybook>   |   "My Book"    |
...

dc:subject (the table name)
+----------------+----------------+
|      URI       |    value       |
=================|----------------|
| <...#mybook>   |"semantic web"  |
| <...#yourbok>  | "database"     |
| <...#mybook>   | "airplanes"    |
...

This normalized design is in fact what is represented in RDF, only  
RDF uses triples, which is a notation that is equivalent to adding  
the relation name to each (binary) tuple, rather than separating  
things into tables.

--Frank

On Jan 5, 2008, at 11:49 AM, Garret Wilson wrote:

> Frank Manola wrote:
>>
>> Assuming I understand what you're talking about, this *isn't* a  
>> conflict with the relational model.  To flesh out your example a  
>> bit, suppose you have a paper, book, or article, and want to  
>> record subject descriptors.
>
> I don't yet understand what you're talking about in your reply, so  
> while I read it again several times, let me just clarify my  
> original concern which apparently wasn't as clear as I thought it was.
>
> Let's say I have the following relation, complete with header and  
> body:
>
> +----------------+----------------+----------------+
> |      URI       |    dc.title    |   dc.subject   |
> =================|----------------|----------------|
> | <...#mybook>   |   "My Book"    | "semantic web" |
> | <...#yourbok>  |  "Your Book"   | "database"     |
> ...
>
> Now, if <...#mybook> has a dc:subject of "airplanes" in addition to  
> its dc.subject of "semantic web", where do I put that in the  
> relational model? I can't add another "table column".
>
> I'll go read your response again in the meantime.
>
> Thanks,
>
> Garret

Received on Saturday, 5 January 2008 17:22:12 UTC