- From: David Booth <david@dbooth.org>
- Date: Thu, 28 Mar 2013 22:42:14 -0400
- To: Oliver Ruebenacker <curoli@gmail.com>
- CC: public-semweb-lifesci@w3.org
On 03/28/2013 01:17 PM, Oliver Ruebenacker wrote: > Hello David, > > On Thu, Mar 28, 2013 at 8:51 AM, David Booth <david@dbooth.org> wrote: >> On 03/27/2013 11:02 AM, Oliver Ruebenacker wrote: >>> >>> Hello David, >>> >>> So if I understand your view correctly, then it could be expressed >>> in a language close to yours as: >>> >>> "Some people believe that if a URI occurs twice within a graph or >>> statement, it refers to the same thing. But this is a myth! RDF never >>> guarantees that two occurrences of the same URI mean the same thing." >> >> >> No, that's not correct. If you are talking about what the URI means >> **within that graph**, then: >> >> - For any interpretation, every occurrence of that URI in that graph >> refers to the same thing; BUT . . . >> >> - Different interpretations can be applied to that graph, such that the >> URI means one thing in one interpretation, but means something different in >> another interpretation. > > Everything you say relies on one assumption: that interpretations > apply to graphs. You still have not explained what makes you believe > this is always true. Look at the semantic conditions in the RDF Semantics spec and you can plainly see that interpretations are applied to graphs, triples, URIs, typed literals and plain literals. This does not require any sort of deep analysis. Just look at the rules in section 1.4. For example, here is the rule for a ground graph: http://www.w3.org/TR/rdf-mt/#gddenot if E is a ground RDF graph then I(E) = false if I(E') = false for some triple E' in E, otherwise I(E) =true. > In fact, I thought you just conceded in your > previous message that it is not always true. I don't know why you thought that. > > Let's say I have a graph G1 containing two statements s1 and s2. > Both s1 and s2 contain the same uri u1. Do you think the RDF specs > allow me to use interpretation I1 for s1 and interpretation I2 for s2? If you are asking whether the spec tells you how to determine the truth condition of I1(s1) and the truth condition of I2(s2), then yes. Whether s1 and s2 happen to be contained in G1 is irrelevant. If s1 and s2 are ground triples, the relevant rule in the section 1.4 is: if E is a ground triple s p o. then I(E) = true if s, p and o are in V, I(p) is in IP and <I(s),I(o)> is in IEXT(I(p)) otherwise I(E)= false. If you are asking whether the spec tells you how to determine the truth value of I(G1), for some interpretation I based on I1 and I2, where I1 != I2, then the answer is no. The spec does not define any way to combine interpretations. > Could it then be true that u1 in s1 refers to a different thing than > u1 in s2? Yes, of course, if I1 != I2. > Even though both occurrences are in G1? It doesn't matter where they occur. The rules have no context-sensitivity. If you give the rule an interpretation I1 in which u1 maps to "fish", and a ground triple s1, then the rule gives you the truth value of I1(s1) with u1 mapping to "fish". If you give the rule an interpretation I2 in which u1 maps to "bird", and a ground triple s2, then the rule gives you the truth value of I2(s2) with u1 mapping to "bird". There is nothing magic about it, and no dependency whatsoever on s1 or s2 occurring or not occurring in any graph. On the other hand, as mentioned above, the spec does *not* tell you how to determine the truth value of a graph containing s1 and s2 using both I1 and I2 (assuming I1 != I2). It only tells you how to determine the truth value of a graph containing s1 and s2 using a *single* interpretation. > > I'm not interested in whether this is a useful approach, or whether > you would do it this way. I just want to know whether you think the > specs allow this. Yes, of course the specs allow this. Those semantic rules can be applied to *any* interpretation and *any* graph or triple. > >> It all comes down to the fact that, in essence, the RDF Semantics spec >> defines a function -- call it RS -- of *two* arguments: one interpretation >> and one graph > > I'm still waiting to hear why one argument needs to be a graph. > >> (or a piece of a graph, but that's an unimportant detail). > > No, I don't think that is an unimportant detail. I think that is a > crucial test whether such a view is coherent at all. I called it an unimportant detail because the unit in which most people work is the graph -- not the individual triple, URI or literal. For example, they may wish to check the graph for consistency, i.e., check to see if it can have any satisfying interpretation. But as I pointed out above, the semantic conditions also specify how the truth value of a single statement can be determined, given an interpretation. David
Received on Friday, 29 March 2013 02:42:41 UTC