- From: Andrew Newman <andrewfnewman@gmail.com>
- Date: Sun, 6 Jan 2008 13:45:40 +1000
- To: "Frank Manola" <fmanola@acm.org>
- Cc: "Garret Wilson" <garret@globalmentor.com>, SWIG <semantic-web@w3.org>
On 06/01/2008, Frank Manola <fmanola@acm.org> wrote: > 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. > I've been trying to follow this and hopefully I've got a point here that might help. Predicates need not be repeated in order to store multiple values - the idea of multiple values is rather arbitrary. The usual example is, strings are collections of characters, characters are bytes, bytes are bits. Date goes on about objects in the same way that they can be modelled as just another attribute type. This means that how you define a type of an attributes is rather arbitary - it depends where you start from. So our sets of characters is a string but you don't say well we'll call our predicate "charsInSubject" and have multiple predicates to store something that a string would do. Likewise objects and so on. 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). If you wanted to model RDF in the relational model without a billion tables (if you went say the 5NF) and reduce the number of rows you could just have one subject to set of predicates which have themselves a set of objects.
Received on Sunday, 6 January 2008 03:45:46 UTC