- From: Frank Manola <fmanola@acm.org>
- Date: Sat, 5 Jan 2008 16:54:00 -0500
- To: Garret Wilson <garret@globalmentor.com>
- Cc: SWIG <semantic-web@w3.org>
On Jan 5, 2008, at 4:08 PM, Garret Wilson wrote: > Frank Manola wrote: >> >> I don't think it's as straightforward as you think to take Date's >> comments about one notation for relations and apply them to >> another (RDF). See below. >> > ... >> >> Now, while the representation is different, I would claim that the >> semantics (the intended meaning) of these are the same. You would >> simply have to have agreement with those you're communicating with >> as to how to interpret one of these representations as the more >> abstract relational interpretation that Date is talking about. > > That's an understandable and not unreasonable view of the > situation. It seems to have several implications: > > 1. The relational model, then, is a rigorously defined data storage > framework that may reflect semantics, but the semantics it reflects > depend on external agreements by two communicating parties. (i.e. > Using the a relation header to mean "predicate" is one > interpretation among many.) Not quite. For example, I doubt that Date would agree that the relational model defines a "data storage framework". It's a model at roughly the same level as ordinary n-ary logic. And at least some of the agreements I was talking about were about how to interpret a more concrete notation (reflecting, e.g., how I'd encoded the header information) as this more abstract logical (or relational) notation. Given a single relational tuple, like subject(#myBook, airplanes), the tuple can always be interpreted both as conveying its intended interpretation (there is a book named #myBook whose subject is airplanes) and information about the tuple itself (the relation name of this relation is "subject"). > > 2. The RDF model is different from the relational model in this > regard; it is a rigorously defined data storage framework the > semantics of which are unambiguously defined by the framework > itself, not by agreement between two communicating parties. (Of > course, two communicating parties may add *additional* semantics.) Rather, RDF is a version of the relational model where, by restricting some of the variability of the full n-ary relational model, some of the semantics that require specific agreements among the parties are fixed in advance (the pre-agreements are built into the restrictions you've agreed to when using RDF). > > (Surely one must say that <rdf:Description rdf:about="#mybook" > dc:title="My Book"/> has only one interpretation, namely, that some > resource identified by <#mybook> has a dc:title of "My Book". That > the semantics of dc:title is supplied outside the framework is > beside the point here---that applies equally to Date's example and > to mine.) Yes. > > 3. The semantics of the relational model when "interpreted in an > obvious way" by Date in his wine example is an interpretation > incompatible with and therefore unsuitable for representing RDF > because it does not allow each predicate to be duplicated in the > relation header. I don't think it's a matter of the interpretation being incompatible. The relational model simply requires that when you have a situation in which it appears a predicate must be repeated (or a single predicate must have multiple values), you must define a separate relation. RDF simply assumes ahead of time that all predicates may potentially be like this, and restricts itself to binary relations. > >>> Whew---did I get all that correct? >> >> I don't think so! As I said earlier, I think the "equivalent >> relational semantics" involve an interpretation of some explicit >> notation for relational tables similar to that involved in >> interpreting the RDF triples. > > I didn't understand the part about "similar to that involved in > interpreting the RDF triples", because as I understand it (see #2 > above) RDF triples have only one interpretation, that of subject/ > predicate/object. (The issue of the actual semantics of a > particular predicate is a different issue; with a relation, there > are several way to represent a predicate without knowing what it > means, but in RDF there is only one way to represent a predicate.) Yes, there is only one interpretation as subject/predicate/object, but of course what those subjects, predicates, and objects represent as far as the application domain is concerned is something else again. In fact, a simple example of this is the business of how to represent n-ary relations in RDF (http://www.w3.org/TR/swbp-n- aryRelations/). In those examples, instead of having what might be considered a simple property (like "diagnosis"), I have to make diagnosis a new class of *subject*, actually a reified relation, with separate properties of its own. > > Garret
Received on Saturday, 5 January 2008 21:54:16 UTC