- From: Drew McDermott <drew.mcdermott@yale.edu>
- Date: Thu, 24 May 2001 10:47:35 -0400 (EDT)
- To: www-rdf-logic@w3.org
[me] > The point is that I would like to "quantify in" to the > pieces of an implication. [jos deroo] fine, see http://www.w3.org/DesignIssues/Anonymous.html and http://www.w3.org/2000/10/swap/Examples.html for examples Okay, I've looked, and I find (at the first of your links) things like: <#premise> = { <#p> daml:inverse <#q> } . <#conclusion> = { <#q> daml:inverse <#p> } . { <#premise> log:implies <#conclusion> } forall <#p>, <#q> . without much explanation. But this is where we came in. I asked how braces worked. Do they provide a shorthand for reification, do they relax the rule of "triple flattening"*, or (your possibility) do they indicate quoting eveything inside them as a string? If we go with the third option, how exactly does it work? It's just not obvious. Here are some particular questions: > <#p> is just another URI. Hence (I thought) it denoted a particular thing in or described by the current document. What might that thing be? A variable? Or are we "disconnecting" it from its "normal" meaning and letting it play the role of a variable? > What is the relationship between <#p> and the string { <#p> daml:inverse <#q> }? Presumably I have to substitute something into the string; what exactly? > What if the string doesn't actually parse correctly? Say I forgot an angle bracket, and write { <#p> daml:inverse #q> }. It's still a perfectly good string. What is the meaning in this case? > I assume that something like the following is going on: Given a string in the proper context, we should run our RDF parser on it, get out a set of triples, and then.... What? We don't add them to the set at the outer layer, because then we'd end up asserting the triples from the pieces of an implication. So what do we do with them? I suspect that the official answer is something like this: We use strings to evade the triple-flattening* rule. However, we all know that they're not really strings. We're going to turn them back into triples as soon as we can (and signal an error if the syntax doesn't work). We're just not going to add them to our outer set of triples. Why bother with this charade? Why not just do away with the triple-flattening* rule, and say that a context is ordinary RDF --- not reified, not quoted --- but that triple flattening doesn't apply across braces? What would be the harm? *("Triple flattening" is short for "the requirement to assert every triple in a structure of triples.") -- Drew McDermott
Received on Thursday, 24 May 2001 10:47:38 UTC