Re: Proposed response for timbl-02 (reification semantics)

* Patrick.Stickler@nokia.com <Patrick.Stickler@nokia.com> [2003-04-10 09:51+0300]
> > From: ext Dan Brickley [mailto:danbri@w3.org]
> > write a test case (would be a new kind of test case for us) that uses
> > *OWL* semantics for inferring identity (eg. via 
> > InverseFunctionalProperty).
> > 
> > The goal would be for inferences justified by the OWL rules to cause
> > 'annoying' onclusions involving the resources named by 
> > rdf:predicate, :subject 
> > or :object properties. We could even ask TimBL if he could 
> > re-couch his 
> > concerns about the semantics using such an approach...
> > 
> > I understand this would need a fwd reference to OWL, but 
> > since it would be 
> > a 'health warning' note for implementors rather than a formal 
> > rdf core test
> > case I don't see that as a problem.
> 
> Do you mean basically telling folks not to write rules that infer
> things from reifications directly, but only from asserted triples?
> 
> If so, then I agree.

I didn't mean that, although that should also be discouraged. 

I meant something like the following:

(this to do with the De Re / De Dicto issue with rdf:predicate etc
directly referencing the thing that is denoted by the predicate etc of the
reified statement, ie. not safely quoting it and hence allowing substitution
of coreferents)

here's a sketch towards testcase, sorry haven't polished this up but
the intent should hopefully be clear. It takes your sample and 
shows the kinds of interferences that OWL-happy systems might make in 
the face of knowing some things have multiple URIs and OWLs ability to
express equality, directly (sameFooAs) or indirectly (InverseFunctionalProperty).

[[
  _:s rdf:type rdf:Statement ;
   _:s rdf:subject <s1> ;
   _:s rdf:predicate <p1> ;
   _:s rdf:object <o1> ;
   _:s #source <http://some.server/some_schema.rdf>

<s1> owl:sameIndividualAs <s2>
<p1> owl:sameIndividualAs <p2> 
<o1> owl:sameIndividualAs <o2>
   
...which with OWL semantics I believe gets us to:
   
   _:s rdf:type rdf:Statement ;
   _:s rdf:subject <s2> ;
   _:s rdf:subject <s1> ;
   _:s rdf:predicate <p2> ;
   _:s rdf:predicate <p1> ;
   _:s rdf:object <o2> ;
   _:s rdf:object <o1> ;
   _:s #source <http://some.server/some_schema.rdf>


which includes the subset of triples,

   _:s rdf:type rdf:Statement ;
   _:s rdf:subject <s2> ;
   _:s rdf:predicate <p2> ;
   _:s rdf:object <o2> ;
   _:s #source <http://some.server/some_schema.rdf>
   
which strongly suggests that the triple

   <s2> <p2> <o2> .

...can be found in some_schema.rdf, rather than 'can be deduced from...'.
]]

since the author of some_schema.rdf may know nothing about those 3 uris,
anyone defining predicates such as 'source' above which relate 
a rdf:Statement and its parts 
to documents etc should bed very careful with their
definitions, to avoid mistakes. 

Patrick, would it be possible for you to post your definition of the 
'source' property? label/comment and any other immediate explanatory 
text? Mike and others too, if you are using properties which use
rdf:Statement, could you post their definitions to the wg?

Since referencing sources, provenence and suchlike is a trust centric
application area, I am wondering whether we should have a 'Security 
Considerations' <blink/> tag in our health warning for reification. Maybe
that's overkill, but I do worry that it is all too easy to read properties
such as 'source' as saying something like 'these uris were used in this 
rdf document'. I think the OWL machinery gives us a way of showing that
not to be workable...

Dan

Received on Thursday, 10 April 2003 03:15:13 UTC