- From: Frank Manola <fmanola@acm.org>
- Date: Sat, 5 Jan 2008 12:21:57 -0500
- To: Garret Wilson <garret@globalmentor.com>
- Cc: SWIG <semantic-web@w3.org>
- Message-Id: <4426AF04-AD2B-432D-B218-B8D31F71AED8@acm.org>
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