Re: Converting SHOE to RDF: about 2/3 done; some gotchas

[context everyone: Jeff does SHOE, Dan is working informally on a SHOE ->
RDF converter and had asked some SHOE questions]

On Fri, 12 May 2000, Dan Connolly wrote:

> Jeff Heflin wrote:
>
> > <rdfs:Class rdf:about="http://schema.org/web#Web_Developer">
> >   <rdfs:subclassOf rdf:resource="#Silly_Person">
> > </rdfs:Class>
> > 
> > I do not see any restrictions in the RDFS spec to prevent such a
> > statement.
> 
> Why should we prevent such a statement? Anyone can say anything
> about anything, no?

[snip]

> > Also, as I understand it way namespaces are used in RDF is
> > only to uniquely identify what object you're talking about, not which
> > sets of definitions you subscribe to. Thus, if I state that I am
> > Web_Developer, then do I also imply that I am a Silly_Person?
> 
> If you say P and P->Q, then you imply Q, yes. But
> if you say P and somebody else says P->Q, then a third
> party may or may not decide to trust you both enough
> to conclude Q.

What if a third party Foo says P->Q, you rely on this to make all sorts of
statements about P under the assumption that your clients will use Foo's
claim to understand that you're really talking about Q, and then Foo drops
off the face of the earth?  Say, because the ILOVEYOU virus brings down
their system for a week. They're still very trustworthy: everything they
say is true.  But right now they're not saying anything, and your clients
don't find their stuff and so interpret your semantics in a different way
than you did when you posted your data originally.  Or Foo updated its
claims and dropped a few statements that you relied on, not knowing that
you were doing so.  You're left hanging in the wind.

It seems to me that trust isn't a great model for this kind of stuff in a
distributed, uncontrolled environment. I think that dealing with the
weirdness caused by a lack of control inherent in a distributed system is
one of the features that RDF needs to work more on.  Because RDF lets
"anyone say anything about anything", with no notion of authority at all,
then people are free to redefine the semantics of a language in a very
fine-grained, highly distributed fashion.  Combine this with a cooperative
reliance on who said what about what in order to understand the proper
semantics of some claim X, and you're gonna see a lot of semantic
misinterpretation as little parts of the distributed RDF web come up and
down.

SHOE's model counters this in two ways, which Jeff is getting at I think.  
First, it separates schema from data, which at least attempts to provide
*some* semblence of authority, or at least a well-defined semantic
language so we're very clear on what I intend to be inferred when I say
thing Foo.  SHOE also takes a stab at providing versioning in schema,
since in the real world schema change over time, independent of the claims
made using them.  Second for those few "inferential" statements that can
be made in data (basically classification statements), SHOE's model does
not permit you to rely on another person's statement.  So if person X says
that Fido is a Dog, and you rely on this to state chases(Fido,Bell), where
the first argument of chases must be a Dog, and then person X retracts his
claim that Fido is a Dog (or the client doesn't see his statement, or it's
unavailable, or whatever), in SHOE by saying chases(Fido,Bell), what
you're *really* saying is threefold:

	1. I claim that chases(Fido,Bell).
	2. I claim that Fido is a Dog.
	2. I claim that Bell is a Cat.

Thus what person X said about Fido is really immaterial -- you're not
relying on him for semantic context.  But in RDF this is not always the
case, as Jeff had pointed out.  Without a full collection of statements,
you could have a lot of disconnected claims without their full semantic
understanding.

RDF would work great in a "sandbox environment" typical of most KR
systems, where the system has the entire body of knowledge (so to speak)
stored internally and so can interpret statements in its system under the
semantics of the full universe of facts at its disposal.  But I think that
RDF does not take into consideration the uncomfortable fact that the web
is not a sandbox.  People say anything they want, even trusted ones.  And
they can stop saying these things at any time, and for any reason.  
Relying on the availability, correctness, and completeness of others'
statements in order to put your own into context is pretty dangerous.

Sean

Received on Friday, 12 May 2000 19:29:39 UTC