- From: Dan Connolly <connolly@w3.org>
- Date: Mon, 10 Dec 2001 14:02:09 -0600
- To: Pat Hayes <phayes@ai.uwf.edu>
- CC: w3c-rdfcore-wg@w3.org
Pat Hayes wrote: > > Sorry this reply is delayed. > > >OK, I blathered on about this requirement in... > > > > literals must be self-evident > > Dan Connolly (Wed, Oct 17 2001) > > http://lists.w3.org/Archives/Public/w3c-rdfcore-wg/2001Oct/0338.html > > > >but recent discussion with Peter S. and Jeremy made me realize > >I can reduce this to a real simple entailment test: > > > >Does dte-blunt.nt entail dte-pointy.nt? > > > >dte-blunt.nt: > > > > <http://example/x> <http://example/y> "abc". > > > >dte-pointy.nt: > > > > <http://example/x> <http://example/y> "abc". > > > >i.e. does an RDF document entail itself? > >Surely the answer is yes, right? > >I suggest that P/P++ do not guarantee this entailment; > >they fail to specify that the answer to this > >test is "yes". > > > > Well wait a minute. Are those the SAME graph, or two different but > isomorphic graphs? I wasn't very clear; they're supposed to be the same RDF/xml document. The problem with the P++ scheme (as I understand it) is that an RDF/xml document doesn't pin down the graph. Let's use this as the test input: <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> <rdf:Description rdf:about="http://www.w3.org/"> <dc:title>World Wide Web Consortium</dc:title> </rdf:Description> </rdf:RDF> > Do you mean, does a document entail *itself*, or > does it entail any other document with the same lexical form? I think I mean does a document ential itself? or, in other words: does a document completely determine the graph? > In the > P++ scheme, distinct literal nodes are treated as syntactically > distinct entities, so the answer matters. > > For example, suppose that we were to merge these two graphs. Would > the result contain two triples or one? Yes, that's another way to phrase the question. If parse the RDF/xml document above, and then parse it again, will I ever get more than just the one triple? This self-evident idea requires that you get just one. > If the answer is one, then > they are the same document and this document entails itself (of > course). If the answer is two, then they are two distinct but similar > documents, and the answer then is, indeed, no in the P++ scheme, > since those two different literal occurrences might be typed > differently. Then perhaps I misunderstood. I understood that the very same document could end up with different graphs in P++. For example, take: <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:ex="http://example/vocab#"> <rdf:Description rdf:about="http://www.w3.org/"> <ex:orgDirectorShoeSize>10</ex:orgDirectorShoeSize> </rdf:Description> </rdf:RDF> now one minute, I get some schema info from http://example/vocab that says the range of ex:orgDirectorShoeSize is a numeral. I parse that into my knowledge base, then I parse the document above. In the P++ scheme, the object of the triple I get from parsing is an integer, if I understand correctly. The next minute, somebody edits the example vocabulary; I restart my program and grab the schema; now it says the range of ex:orgDirectorShoeSize is numeral (a string constrained to [0-9]+, say). Then I parse the above document again. Now the object is a string. So I've parsed the same document twice, and the two formulas I got don't entail each other. Another related test case, using RDFS: does this _:somebody ex:leftShoeSize "10". ex:leftShoeSize s:subPropertyOf ex:showSize. RDFS-entail this? _:somebody ex:shoeSize "10". since there are relevant issues related to the syntax of n-triples (and since I've used N3 QNames to abbreviate full n-triples), here are the documents in RDF/xml: premise: <rdf:RDF xmlns="http://example/vocab#" xmlns:log="http://www.w3.org/2000/10/swap/log#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:s="http://www.w3.org/2000/01/rdf-schema#"> <rdf:Description> <leftShoeSize>10</leftShoeSize> </rdf:Description> <rdf:Description rdf:about="http://example/vocab#leftShoeSize"> <s:subPropertyOf rdf:resource="http://example/vocab#showSize"/> </rdf:Description> </rdf:RDF> conclusion: <rdf:RDF xmlns="http://example/vocab#" xmlns:log="http://www.w3.org/2000/10/swap/log#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:s="http://www.w3.org/2000/01/rdf-schema#"> <rdf:Description> <shoeSize>10</shoeSize> </rdf:Description> </rdf:RDF> > But this, seems to me, does not violate the guidelines you enunciated > in > http://lists.w3.org/Archives/Public/w3c-rdfcore-wg/2001Oct/0338.html > since there you talk about an interpretation being CHANGED - > redefined - by the addition of information. Here, nothing is being > changed; if you add datatyping information, you are simply > disambiguating the bare literal by adding more information about it, > by removing some of its (datatyped) interpretations. This is just > like normal RDF inference, right? The only difference is that every > occurrence of a bare literal has to be treated as a separate > syntactic entity. That gives inference a slightly unusual 'feel' on > bare literals, perhaps, but it isn't anything disastrous. There is no > nonmonotonicity, if you stick to the rules. Maybe I don't understant how P++ works, then. I got the impression that in P++, the RDF/xml form of a document didn't completely nail down the graph; that a parser decided between different graphs based on information from other places/documents. -- Dan Connolly, W3C http://www.w3.org/People/Connolly/
Received on Monday, 10 December 2001 15:02:12 UTC