- From: Tim Berners-Lee <timbl@w3.org>
- Date: Wed, 12 Mar 2003 16:54:31 -0500
- To: pat hayes <phayes@ai.uwf.edu>
- Cc: w3c-rdfcore-wg@w3.org
Thank you Pat for this summary. I find in it a conclusion that de-re semantics for reification are useful, which is not the conclusion to which I come. As this affects running code, I will go through the message looking for differences. On Tuesday, Mar 11, 2003, at 18:17 US/Eastern, pat hayes wrote: > Summary of the semantic alternatives for RDF reification. > --------------------------- > A reification assertion such as > > aaa rdf:subject bbb . > > is saying that something is the subject of something else which is an > RDF triple. There are at least two orthogonal dimensions on which one > can choose alternatives about what exactly these 'somethings' are. > > aaa might refer to a triple as an abstract grammatical form, or it > might refer to a particular occurrence of a triple in some actual > document somewhere. This has been referred to as the > 'statement/stating' difference. > > bbb might refer to a piece of syntax - the actual subject 'node', or > subject token in a document - which occurs in the RDf graph, or it > might refer to the thing that is considered to be the subject of the > proposition expressed by that triple. This has been referred to as the > 'de-dicto/de-re' difference. This can be dramatized by asking: is the > rdf:subject of the triple > > ex:Mary ex:had ex:littleLamb . > > a girl or a uriref (respectively de dicto or de re) ? I think you mean the other way around, no? The de re interpretation is that the subject is the thing, Mary, and the de dicto that it is that which was said, the URI? > These two choices are independent, but each influences the > significance of the other. > > Currently, the semantics document recommends that one should interpret > this vocabulary so that aaa is interpreted as a stating, ie referring > to a concrete occurrence of a triple rather than an abstract form; and > that bbb should be interpreted de re, ie as referring to Mary rather > than to Mary's URIref. > > The reasoning behind these choices are as follows. > > Statings allows one to associate provenance information with triples > in a document a document by using reification to talk about the > triples. This would be impossible (meaningless) if we imposed the > 'statement' interpretation. I think this is an argument which doesn't make sense if yo try it. You can't really distinguish between a stating and a statement until you give a test case, which involves more relationships. While a triple {ex:Mary ex:had ex:littleLamb} is represented merely by its three parts, there is no association with a particular source. There is nothing to indicate that it is a stating. Suppose that the triple indicates just the abstract statement. We can reify this by giving the strings which make up its parts. ex:s1 rdf:subjectSymbol "http://www.example.com/pat12#Mary"; rdf:predicateSymbol "http://www.example.com/pat12#had"; rdf:objectSymbol "http://www.example.com/pat12#littleLamb". (I've used "objectSymbol" as you can have "objectLiteral" as well) We can then state that for example passing a given file gives you among other things that: <mgoose.rdf> ex:includes ex:s1. So s1 is just an abstract statement,and we have established a relationship with a source document. This latter triple, if you like, is an expression of the stating. This is practical. In cwm, statements are like literals - they can be compared and interned. When the same statement (or formula of >1 statemement, for that matter) occures in many places, it only has to be stored once. It also avoids giving rise to things which one doesn't need to use. > Such uses of reification form a large class of actual use cases. Could you give me pointers? > On the other hand, if someone wants to describe the abstract > grammatical form of a statement, this can be done by using a > particular instance of it as an exemplar for the abstraction, eg by > associating a bnode with the reification by a property like > <ex:abstractformOf>. If there really is a non-abstract form of the statement, then presumably there is some modelling of it which we are missing which makes it distinct from the abstract form. I personally find it quite satisfactory to consider that the statement is the abstract form, that, say, a given formula contains a given statement, or a given source supports a given statement, but I find no use in the concept of that statement as specified in a given file as opposed to the same statement as specified in another file. > The de re interpretation allows reifications to use the same > conventions for interpreting URIrefs as other triples, so that a > URIref used as an actual subject node, and the same URIref used as the > object of an rdf:subject assertion, have the same meaning. In > contrast, the de dicto interpretation would require a reasoner to > distinguish these two uses, using some extra-RDF convention such as > quotation, The use of a string literal to indicate the URI of a symbol as above is not extra-RDF. > or else require that subjects and objects of reified triples be given > distinct URIrefs which are understood in a 'meta' sense to refer to > the actual URIrefs in the subject and object position of the reified > triple. Neither of these formal techniques have emerged in practice, > suggesting that the de re interpretation in fact codifies existing > intentions of users. > I actually tried the de-re method in generating proofs from cwm, and found that I was generating garbage. I was generating things which looked nice on paper but which were logical nonsense. (The proof-checker would be working through nested formulae and then come across a small sheep!) > One objection to the de re interpretation is that it does not allow > for the adequate representation of propositional attitudes such as > belief. This is controversial (see the discussion of the Russellian > theory in http://plato.stanford.edu/entries/prop-attitude-reports/) , > but in any case there is ample experience which suggests that the de > dicto interpretation would produce other problems with the > representation of such ideas, and that an fully adequate > representation of propositional attitudes is unobtainable using > reification alone. Well, its certainly unattainable using the de-re interpretation, and without some quoting of the symbols used. But surely, the whole reason for the introduction of reification was to quote. The phrase "propositional attitudes" is a scary one suggesting one models degrees of human belief, and modeling of intelligence and rather more philosophy than one would want to get into. In fact, we are using quoting (ie de-dicto) to make quite mechanical and simple statements about what a file parses to, what a rule implies, and so on. From the programming point of view it looks straightforward and I haven't found the logical inconsistencies which the de-re interpretation produces. To be able to talk about the formula { :Ora :wrote :MobyDick} abstractly, without talking about Ora. We have found that serious use of semantic web data often involves an awareness of the provenance of data. The formulae in N3 are a form of quoting. A way of giving a formula in RDF by reifying it (describing it in RDF) would be an interesting and useful alternative to the use of the {} or parseType="Quote" syntax extensions. The query languages involve RDF which is not asserted, and can be implemented as quoted, and the return of bindings from a query involves mentioning the variable names. There are many practical ways in which quoting is needed. I had the impression that that was the raison d'être of the reification in the spec, but one can only guess at intent. > Pat > > -- > --------------------------------------------------------------------- > IHMC (850)434 8903 or (650)494 3973 home > 40 South Alcaniz St. (850)202 4416 office > Pensacola (850)202 4440 fax > FL 32501 (850)291 0667 cell > phayes@ai.uwf.edu http://www.coginst.uwf.edu/~phayes > s.pam@ai.uwf.edu for spam
Received on Wednesday, 12 March 2003 16:54:26 UTC