- From: <tim.glover@bt.com>
- Date: Mon, 7 Jan 2008 10:48:42 -0000
- To: <garret@globalmentor.com>, <andrewfnewman@gmail.com>
- Cc: <fmanola@acm.org>, <semantic-web@w3.org>
My two pence... I would like to distinguish RDF from triple stores (skip to summary if skimming)... A *triple store* is already a perfectly good, general purpose relational model. The key is the whole triple. It represents entities which can have multiple properties each with multiple attributes. All triple stores are valid relational models. However, in a specific domain it may be that a particular entity has a unique value for a certain property. In these cases, more specific relational model can be constructed which encapsulates these constraints. Eg an entity with unique values for all its properties can be represented by a single relation with one row per entity and one attribute per property. The semantics of these models are lost in translation to triple stores, because the uniqueness constraints are lost. *RDF* on the other hand has additional semantics for specific properties, rdf:type, rdf:subPropertyOf etc, which are not part of the relational model. However, it is still the case that RDF cannot capture the relational model - there is no way in RDF to specify that a property has a unique value. Summary ======== - Every triple store is a relational model. However, more specific relational models may capture additional information in particular cases (eg uniqueness of property values). - Every relational model can be represented as a triple store. However, some semantics is lost (eg uniqueness of property values). - the semantics of RDF (as distinct from triple stores) cannot be captured in the relational model (eg rdf:subPropertyOf). The semantics of the relational model cannot be captured in RDF (eg uniqueness of property values). Tim. -----Original Message----- From: semantic-web-request@w3.org [mailto:semantic-web-request@w3.org] On Behalf Of Garret Wilson Sent: 06 January 2008 04:09 To: Andrew Newman Cc: Frank Manola; SWIG Subject: Re: plural vs singular properties (a proposal) Andrew, Andrew Newman wrote: > Predicates need not be repeated in order to store multiple values - > the idea of multiple values is rather arbitrary. ... But do you agree that, if we consider relation attributes to model RDF predicates, that relations do not allow predicates to be repeated? RDF, on the other hand, allows predicates to be repeated. That contrast is what I was trying to communicate, and about which I was trying to learn if there is any reason to be alarmed. > Attributes can also be of type relations (Chapter 6 of Intro to > Database Systems and Chapter 12.6 has some notes on it). > > In your example you want to store to subjects for a book. The > attribute type then becomes a set of strings (or whatever type your > want to choose for subjects of books). > Yes, I understand that. Date is quite happy with his revelation (apparently he didn't believe this was possible in earlier editions of the book) that an attribute can be of a relation type and its value can itself be a relation. But that doesn't mean I'm putting multiple values in a tuple for that column---I'm putting one value, which is itself a relation. Similarly, if I want multiple dc:subject predicates, I can make the value of type rdf:List. That doesn't mean I'm giving the predicate dc:subject multiple values---it just means that its single value holds multiple resources. But (unlike the relational model, I think) in RDF I also have the option to repeat the predicate if I want another dc:subject value! Isn't this in direct contrast to the relational model? I can't just put "repeat the predicate" to add another value on a relation, can I! Bijan (both on this list and off-line) tells me that I can just add another tuple in the relation with the additional dc:subject value (I guess Frank said that as well), and that this is semantically equivalent to "repeating the predicate" in RDF (I hope I didn't misstate you, Bijan). And it is at this point my expertise in the relational model breaks down; as I told Bijan, I think the best thing for to do at this point is to suspend my participation in the discussion while I dive back into Date and make my relational foundation a little more solid. So I'll try to not say much more here for a bit, until after I've studied more. (Yes, Frank, my discussion on nulls is on hold as well; your suggestion, which you may now rue ;) , that I study the relational model concerning nulls is what brought me to this question in the first place.) Best, Garret
Received on Monday, 7 January 2008 10:48:51 UTC