- From: Garret Wilson <garret@globalmentor.com>
- Date: Sat, 05 Jan 2008 10:15:00 -0800
- To: Frank Manola <fmanola@acm.org>
- CC: SWIG <semantic-web@w3.org>
Frank Manola wrote: > You're right that I'm thinking of only one relation, essentially the > "triple" relation. ... > > As this text notes, an equivalent way to think about it is that each > RDF predicate is a distinct binary relation (in the relational model) > having two columns, one containing the subject URI (the key column), > and the other containing the RDF object value (literal or URI). This > is essentially the normalized version I described in my earlier message. OK, I understand that I can create a single relation representing triples and everything fits within the relational model. This one possible technical implementation of an RDF graph I understand. But are the semantics of the RDF graph being represented here? Is the single relation describing resources, or describing triples? Let me put it another way. Let's say I have the RDF description of #mybook that we've been discussing: <rdf:Description rdf:about="#mybook"> <dc:subject>semantic web</dc:subject> <dc:subject>airplanes</dc:subject> </rdf:Description> How would we explain the semantics of this RDF graph? Something like, "There exists a book, identified by the URI <#mybook>, and that book has a subject 'semantic web' and a subject 'airplanes'." What are the equivalent relational semantics? Let me turn to Date, _Introduction to Database Systems, Eighth Edition_: A "given fact" in turn corresponds to what logicians call a true proposition; for example, the statement "Supplier SI is located in London" might be such a true proposition. ... It follows that a database is really a collection of true propositions. ... To be specific, in the relational model: 1. Data is represented by means of rows in tables, and such rows can be directly interpreted as true propositions. For example, the row for BIN# 72 in Fig. 1.1 can be interpreted in an obvious way as the following true proposition: Bin number 72 contains two bottles of 1999 Rafanelli Zinfandel which will be ready to drink in 2007 (page 15) And again in Date, _Database in Depth_, speaking of "relvars" (relational variables): Like all relvars, that relvar is supposed to represent some portion of the real world. In fact, I can be more precise: the heading of that relvar represents a certain predicate, meaning it's a kind of generic statement about some portion of the real world .... (page 72) Again, let P be the relvar predicate or intension for relvar R, and let the value of R at some given time be relation r. Then r—or the body of r, to be more precise—constitutes the extension of P at that time. (page 74) So although I can put all my triples in a single relation, the relational semantics (according to Date) of the relation is not representing the same semantics as my RDF graph represents. The semantics of a single per-graph relation seems to have semantics describing the reification of a particular graph. To put this in terms of the first Date quote cited above, the equivalent single-relation representation of "Bin number 72 contains two bottles of 1999 Rafanelli Zinfandel which will be ready to drink in 2007" would mean (see figure 1.1 on page 5) , "statement #1 has a subject of 'bin number 72', a predicate of 'wine' and a value of 'Zinfandel'; statement #2 has a subject of 'bin number 72', a predicate of 'producer', and a value of 'Rafanelli'; statement #3 has a subject of 'bin number 72', a predicate of 'year', and a value of '1999'", etc. So in summary, the semantics of a single-relation-per-RDF graph does not seem to have the same semantics of an RDF graph; instead, it has the semantics of the reification of the RDF graph, although you can add other semantics on top of that (i.e. an external understanding of what "triples" mean) to get back to the same semantics of the RDF graph. In summary: if I take the semantics of an RDF graph (e.g. "Book <#mybook> has a subject of 'semantic web' and a subject of 'airplanes') and I try to map that to the equivalent relational semantics as explained by C.J. Date, I run into trouble if multivalued properties are allowed. This is what made me uncomfortable; does it make anyone else uncomfortable? (And to summarize your response, the solution is to first reify the RDF graph and then map *those* semantics to the equivalent relational semantics.) Whew---did I get all that correct? Garret
Received on Saturday, 5 January 2008 18:16:50 UTC