- From: Pat Hayes <phayes@ihmc.us>
- Date: Mon, 28 Mar 2011 00:12:20 -0500
- To: Gregg Reynolds <dev@mobileink.com>
- Cc: SW-forum Web <semantic-web@w3.org>
- Message-Id: <2638E800-48AB-4BE8-91D9-CF1AEC5A9809@ihmc.us>
On Mar 27, 2011, at 10:16 PM, Gregg Reynolds wrote:
> On Sun, Mar 27, 2011 at 10:16 AM, Pat Hayes <phayes@ihmc.us> wrote:
>
> On Mar 27, 2011, at 12:13 AM, Gregg Reynolds wrote:
> ...
>> [1] a) <ex:Pedro ex:owns _:x>, <_:x rdf:type ex:Donkey>, <_:x ex:name ex:Daisy>
>> b) <ex:Pedro ex:owns _:y>, <_:y rdf:type ex:Donkey>, <_:y ex:name ex:Maisy>
>
> ...
>> Is the graph of [1] lean? It seems to me that under the OWA the answer must be that we do not know,
>
>
> It is lean, and we do know this. Leanness is a syntactic property of the graph. You can determine it algorithmically.
> ...
> You apparently do not understand it. Check out the definitions in the specs, they are given quite unambiguously. A graph is lean when it is has no instance which is a proper subgraph of itself. The graph [1] does not have such an instance, so it is lean. Nothing to do with models!
>
> Trust me, I've spent more hours than I care to count trying to decipher the specs. Whatever they are intended to convey may be unambiguous; what the text actually says is another matter. For example, I find no syntactic rules that allow me to map a piece of concrete syntax to the abstract syntax.
See http://www.w3.org/TR/2004/REC-rdf-testcases-20040210/#ntriples and the table given there.
> Nothing that says explicitly that e.g. every _:x should map to one blank node, nor that distinct bnode IDs cannot map to one bnode.
Is that not utterly obvious? Why else would one call it an "identifier for a blank node" ?
> For that matter, nothing that says the mapping must preserve URIs.
The URIs used in the n-triples notation (used throughout the semantics document) are *identical* to the URIs in the abstract syntax. I fail to see how they can fail to be 'preserved' under these circumstances.
> Also no *syntactic* rule that allows me to map
>
> <ex:a> <ex:p> _:x .
> _:y <ex:p> _:x .
>
> to <ex:a> <ex:p> _:x . This looks like it should be some kind of syntactic reduction step, but I find nothing to justify elimination of the second clause except semantic considerations.
It follows from the fact that a graph is defined to be a set of triples. The set {a, a} is the same as the set {a}.
> The definition of instance upon which the definition of leaning depends only mentions "replacing some or all blank nodes"; it doesn't say which ones to replace
You can replace any (or indeed none) of them, and you still have an instance.
> , it places no constraints on the replacement (except that they be bnodes, literals, or URI refs), and it says nothing about *removing* nodes.
Indeed, nodes do not get removed by an instantiation.
> In fact as I read it getting from a graph to an "instance which is a proper subgraph" is not even possible syntactically, since we have no syntactic rule for eliminating triples.
A graph is a set of triples. Instantiation is defined as substituting a (blank node, URI or literal) for a blank node. Take the above graph and substitute the URI <ex:a> for the blank node _:y. This does not affect the second triple, which does not contain that blank node, but it makes the first triple identical to the second triple. The resulting set therefore contains a single triple:
<ex:a> <ex:p> _:x .
which is a subgraph of the original graph.
Make sense now?
Pat
> I suppose I'll find out such rules are right there in plain site, but I sure can't find them.
>
> -Gregg
------------------------------------------------------------
IHMC (850)434 8903 or (650)494 3973
40 South Alcaniz St. (850)202 4416 office
Pensacola (850)202 4440 fax
FL 32502 (850)291 0667 mobile
phayesAT-SIGNihmc.us http://www.ihmc.us/users/phayes
Received on Monday, 28 March 2011 05:13:02 UTC