- From: Sandro Hawke <sandro@w3.org>
- Date: Fri, 27 Apr 2012 10:28:31 -0400
- To: "Peter F. Patel-Schneider" <pfpschneider@gmail.com>
- Cc: "public-rdf-wg@w3.org >> public-rdf-wg" <public-rdf-wg@w3.org>
On Fri, 2012-04-27 at 08:02 -0400, Peter F. Patel-Schneider wrote:
...
> > { :a :b :c }
> > <g> { :d :e :f }
...
> Well, the information expressed in this trig file is:
> - the default rdf graph says that :a is related to :c via :b
> - the graph named g says that :d is related to :f via :e
> That's *all*.
So, modulo some details about what we mean by "graph", I agree, except
that I would add:
- :a is related to :c via :b
(This is what I phrased as "the default graph is asserted")
I don't think this is inherent in TriG, but I think it's a reasonable
reading, and very practical. Without this, how could you convey
maching-readable metadata in TriG? I've thought about a few other
options, and came back to this.
Coming back to opacity-vs-transparency:
As you say:
- the graph named g says that :d is related to :f via :e
If we also know, somehow, that :c = :d, does it follow that:
- the graph named g says that :c is related to :f via :e
?
I don't think so, and that's what I mean when I say I think named
graphs are opaque.
-- Sandro
> peter
>
> On 04/26/2012 11:53 AM, Sandro Hawke wrote:
> > I don't know how to make sense of how you're thinking about this.
> >
> > Can you tell me in English what knowledge you have gained if you learn
> > whatever is expressed in the following trig file:
> >
> > @prefix :<http://example.com/>
> > { :a :b :c }
> > <g> { :d :e :f }
> >
> > ?
> >
> > -- Sandro
> >
> > On Thu, 2012-04-26 at 10:44 -0400, Peter F. Patel-Schneider wrote:
> >> On 04/26/2012 09:48 AM, Sandro Hawke wrote:
> >>> On Thu, 2012-04-26 at 03:26 -0400, Peter F. Patel-Schneider wrote:
> >>>> On 04/25/2012 11:03 AM, Sandro Hawke wrote:
> >>>>> On Wed, 2012-04-25 at 10:38 -0400, Peter F. Patel-Schneider wrote:
> >>>>>> This is all predicated on named graphs participating in entailment, which I
> >>>>>> don't really agree with.
> >>>>> I don't understand how you're looking at this. Do you have an
> >>>>> alternative solution in mind, and does it address many/most of the use
> >>>>> cases?
> >>>> Yes, the alternative solution is that RDF datasets are data structures, and
> >>>> that entailment is between RDF graphs only. This does put more into
> >>>> application code, but I prefer that in this case.
> >>> So, trig would just be like JSON -- the meaning depends entirely on the
> >>> context. No truth conditions. If I hand you some JSON, it's
> >>> meaningless unless we have a prior arrangement. If a trusted website
> >>> publishes some trig, there's nothing you can do with it without
> >>> out-of-band information. Our spec is helpful in that we can share
> >>> parsing/serializing code and some data storage/indexing code. Do I
> >>> have that right?
> >> No, I don't think so. RDF would specify that an RDF dataset contains RDF
> >> graphs, and RDF graphs have certain meanings. However, the relationships
> >> carried by the names would remain unspecified, which is essentially the same
> >> situation as is any of the proposals for named graphs that I have seen so far.
> >>
> >>>> [...]
> >>>>
> >>>>> 3. Named graphs are opaque
> >>>>>
> >>>>> "<u> {<a> <b> <c>}" does not entail "<u> {<a> <b> _:x}"
> >>>>>> Absolutely NOT!
> >>>>> I can't tell if you're disagreeing with the entailment or the test case.
> >>>>>
> >>>>> I think the entailment.
> >>>>>
> >>>>> -- Sandro
> >>>> Named graphs should not be opaque.
> >>> Let me ask the classic question, then. How do we stop our system from
> >>> making a false conclusion from these two facts:
> >>> - Lois knows Superman can Fly
> >>> - Clark Kent is Superman
> >>>
> >>> More formally, given this, which is true:
> >>>
> >>> :loisKnowledge { :obj1 a :FlyingThing; name "Superman".
> >>> :obj2 a :NonFlyingThing; name "Clark Kent". }
> >>>
> >>> and this, which is also true:
> >>>
> >>> :obj1 owl:sameAs :obj2
> >>>
> >>> what stops us from being licensed to conclude
> >>>
> >>> :loisKnowledge { :obj2 a :FlyingThing; }
> >>>
> >>> ?
> >>>
> >>> I suppose this whole question is malformed to you, because datasets to
> >>> you don't have truth conditions, we can't say it "is true" like I did.
> >>> We might just as well have said (give or take namespace expansion):
> >>>
> >>> { ":loisKnowledge" : ":obj1 a :FlyingThing; name 'Superman'. :o, 2009},bj2
> >>> a :NonFlyingThing; name 'Clark Kent'." }
> >>>
> >>> (that's JSON). And what you do with that is totally up to you, and
> >>> you're own responsibility -- the spec gives you no license to do
> >>> anything but parse it. If you want to do inference, you need to get
> >>> that license from elsewhere.
> >>>
> >>> That strikes me as not nearly as useful as having semantics, but I
> >>> probably can't explain why before my next meeting. I assume it's the
> >>> same reason as why RDF has semantics -- namely so that we can each
> >>> maintain our own bits of a global knowledge base and still be able to
> >>> merge it together, without billions of separate agreements.
> >>>
> >>> -- Sandro
> >>>
> >> Well, actually your question didn't have anything to do with "opaque" or
> >> "transparent", which have to do with the relationship between names inside a
> >> context and those outside. I thus probably should not have used "opaque" in
> >> my answer, instead simply saying that if you want to have entailments here
> >> then the entailment should hold.
> >>
> >> Your example here has very little to do with your initial question, although
> >> it certainly has lots to do with opacity or transparency of contexts.
> >>
> >> I think that your argument makes clear why I don't want entailment to consider
> >> RDF datasets. Even if you want datasets to participate in entailments, the
> >> meaning of the relationship between contexts is what determines whether you
> >> want opacity or transparency. This also is an argument against having bnodes
> >> with file scope - bnodes should remain scoped to an RDF graph.
> >>
> >> peter
> >>
> >>
> >
>
Received on Friday, 27 April 2012 14:28:48 UTC