- From: Enrico Franconi <franconi@cs.man.ac.uk>
- Date: Sat, 29 Jun 2002 13:25:08 +0100
- To: www-rdf-logic@w3.org
On June 27, pat hayes writes: > >[the cat] --[sat on]--> [the mat] > > | > > [for] > > | > > V > > [an hour] > > Ah, I see where you are coming from. OK, but look, there are several > different things here. There is the property of sitting on > something, in general; there is a particular instance of that > property, which in this case might be something like the cat's way > of sitting on the mat (that's the 'trope'); and then there is a > particular occurrence of a sitting: an event, or happening, or maybe > a 'situation' in Barwise's sense, or what Hobbs calls an > 'eventuality'. Its the latter that have times and places and which > cause other things to happen. I would suggest that if you want to > talk about things like that, then you ought to do so explicitly. One > tried-and-tested idea is to introduce an explicit category of > events, and connect everything else to them. Then your example > would look like this in Ntriples: > > _:x rdf:type sittingsOn . > _:x agent cat . > _:x object mat . > _:x duration hour . > > where you would also know that > > sittingsOn rdfs:subClassOf events . > > and you could then say other things about that sitting as well, such > as why it happened and what its results were and who told you about > it, and so on. You could even say that it never happened or was > imaginary. I'm starting with the assumption that the problem here is to represent relations with arity greater than two. The inability of RDF to express such things is one of its (many?) major drawbacks. Note that all semantic data models in DB, all conceptual modelling languages in SE (like UML), and the most advanced DL do provide such a feature. The above encoding of a ternary relation in a binary relational model (like RDF) would be wrong, and in fact it can not be done in RDF at all. In fact, you are missing the information that there is a unique instance of the ternary relation for each triple of arguments. So, the original information stated in the graph making use of the ternary relation says that given a cat, a mat, and a specific time, then there is a unique instance of the ternary relation (in this case, the event of sitting). In your weaker encoding, you may have more than one instance of the event for each tuple in the original n-ary relation. Clearly, you violate the semantics of n-ary relations, by admitting basically that a tuple may appear more than once in the relation. By the way, this is nothing new: in the ER model you do have "weak" relations. To encode them you need to add a bunch of functional dependencies to guarantee the uniqueness. If RDF had the ability to state functional dependencies, then you could do the encoding. Of course, you may decide that you don't have the semantics of a ternary relation in the original graph, but then you have to tell me which is your model theory for it. Possibly a bag semantics could solve the problem but -- since you are suggesting the above encoding -- it is up to you to prove the correctness of the encoding you propose wrt this new bag-based MT :-) Another solution to the problem would be to deny my initial assumption: we are not talking about n-ary relations here, and we don't want to talk about them ever in RDF. Fine for me. cheers -- e. Enrico Franconi - franconi@cs.man.ac.uk University of Manchester - http://www.cs.man.ac.uk/~franconi/ Department of Computer Science - Phone: +44 (161) 275 6170 Manchester M13 9PL, UK - Fax: +44 (161) 275 6204
Received on Saturday, 29 June 2002 08:21:02 UTC