- From: Drew McDermott <drew.mcdermott@yale.edu>
- Date: Tue, 5 Jun 2001 11:05:42 -0400 (EDT)
- To: www-rdf-logic@w3.org
[Graham Klyne] Is there any fundamental reason why we cannot start with a language capable of expressing ground facts, and extend it in a consistent way (creating a new language, "outside" the original) such that the original language for expressing ground facts is present as a sub-language? It's the tension between "outside" and "sub-language" that is causing all the miscommunication. If the extended language is indeed outside the original, then there's no problem; there's also no RDF. So RDF is supposed to stick around as a sub-language in some sense. This is where things get murky. Let RDF++ be a language with RDF as a subset. Obviously, the rules of RDF++ can't be the same as those for RDF, or we get the bugs that drove us here. To avoid changing the rules, we resort to reification. But in the end reification turns out to look exactly the way changing the rules would look. Here's what I mean: If R is vanilla RDF, then R is also in RDF++. However, to represent something like (or P R), we have to reify or quote P and R, so that "or" becomes a relation on quoted expressions, which we write (or 'P 'R). Now suppose we want to draw an inference from (not 'P) and (or 'P 'R). That inference is R. Quotes no longer necessary. I suggest that this is simply an alternative, less clear description of what we're really doing, which is introducing a symbol "or" that violates the usual rules. The operator "or" does not really express a relationship between two quoted expressions; it expresses a relationship between two propositions, just as in classical logic. The only thing we're allowed to quote is a piece of RDF++, and we have to be able to unquote it when necessary. Once all these protocols are spelled out, the only remaining purpose of the quotes is to help us pretend that we haven't changed the rules. -- Drew McDermott
Received on Tuesday, 5 June 2001 11:05:49 UTC