W3C home > Mailing lists > Public > public-rdf-dawg@w3.org > July to September 2004

RE: UNSAID : issues in interpretting a query

From: Seaborne, Andy <andy.seaborne@hp.com>
Date: Fri, 10 Sep 2004 16:05:14 +0100
Message-ID: <8D5B24B83C6A2E4B9E7EE5FA82627DC920E231@sdcexcea01.emea.cpqcorp.net>
To: "Dan Connolly" <connolly@w3.org>
Cc: "RDF Data Access Working Group" <public-rdf-dawg@w3.org>

Intersting.  I tried cwm from CVS (--revision => )
   cwm= $Revision: 1.162 $ llyn= $Revision: 1.118 $ 

--------------------------------
@prefix log:   <http://www.w3.org/2000/10/swap/log#> .
@prefix d:     <http://example.org/dawg/> .

:doc :is { 
  d:a d:p d:b .
  d:a d:q d:c .
} .

{ :doc :is ?d .
  ?d log:notIncludes { d:a d:p d:xxx } .
 } => { :doc log:outputString "yes\n" . } .
--------------------------------
cwm D.n3 --think --strings
and got "yes"

When I tried a variable in log:notIncludes:
--------------------------------
@prefix log:   <http://www.w3.org/2000/10/swap/log#> .
@prefix d:     <http://example.org/dawg/> .

:doc :is { 
  d:a d:p d:b .
  d:a d:q d:c .
} .

@forAll :x .

{ :doc :is ?d .
  ?d log:notIncludes { d:a d:p :x } .
 } => { :doc log:outputString "yes\n" . } .
--------------------------------
I got no output.  No variable testing.

--------------------------------
@prefix log:   <http://www.w3.org/2000/10/swap/log#> .
@prefix d:     <http://example.org/dawg/> .

:doc :is { 
  d:a d:p d:b .
  d:a d:q d:c .
} .

# Sorry - had to repeat the data to force :x to be bound.
d:a d:p d:b .
d:a d:q d:c .

@forAll :x .

{ :doc :is ?d .
  ?d log:notIncludes { d:a d:p :x } .         # 1
  d:a d:q :x .                                # 2
 } => { :doc log:outputString "yes\n" . } .
--------------------------------
gives "yes" as does reversing 1 and 2.  This is the same as the logical
assertion interpretation.

========================================================
Trying log:includes:

I tried:
--------------------------------
@prefix log:   <http://www.w3.org/2000/10/swap/log#> .
@prefix d:     <http://example.org/dawg/> .

:doc :is { 
  d:a d:p d:b .
  d:a d:q d:c .
} .

d:a d:p d:b .
d:a d:q d:c .

@forAll :x .

{ :doc :is ?d .
  ?d log:includes { d:a d:p :x } .
 } => { :doc log:outputString "yes\n" . } .
--------------------------------
and go "yes".  Seems log:includes works for patterns and log:notIncludes
does not.

--------------------------------
{ :doc :is ?d .
  ?d log:includes { d:a d:p :x } .
  d:a d:p :x .
 } => { :doc log:outputString "yes\n" . } .
--------------------------------
says "yes" as does 
--------------------------------
{ :doc :is ?d .
  d:a d:p :x .
  ?d log:includes { d:a d:p :x } .
 } => { :doc log:outputString "yes\n" . } .
--------------------------------
but 
--------------------------------
{ :doc :is ?d .
  ?d log:includes { d:a d:p :x } .
  d:a d:q :x .
 } => { :doc log:outputString "yes\n" . } .
--------------------------------
does not print anything.  So we have the unordered interpretation.
Checking, removing the "d:a d:q :x ." we get one of the runs above: so
removing a statement increases the number of solutions.

--------------------------------
{ :doc :is ?d .
  ?d log:includes { d:a d:p :x } .
 } => { :doc log:outputString "yes\n" . } .
--------------------------------


Dan - what's cwm's execution algorithm here for matching the LHS of
log:implies?

	Andy




-------- Original Message --------
> From: Dan Connolly <mailto:connolly@w3.org>
> Date: 10 September 2004 15:02
> 
> On Thu, 2004-09-09 at 12:49, Seaborne, Andy wrote:
> [...]
> > There is nothing fundamenatlly new here - its not an RDF-ism as far
> > as I can see and I'd like input from experts.  Are there other ways
> > to think of UNSAID? 
> 
> I think log:notIncludes is another way. It's a property that relates
> two formulas/graphs. You can think of it as rdf_mt:notEntails
> 
> 
> We have a bit of tutorial documentation...
> 
>  Implementing defaults and log:notIncludes
>  http://www.w3.org/2000/10/swap/doc/Reach
> 
> Here's a quick example from one of the tests,
>  http://www.w3.org/2000/10/swap/test/includes/t4.n3
> 
> > thesis :is { <#theSky> <#is> <#blue> } .
> 
> @forAll :x.
> 
> { :thesis :is :x. :x log:notIncludes {<#theSky> <#is> <#green>} }
> log:implies {
> > test4 a :success } .
> 
> 
> There are a few other test in
>  http://www.w3.org/2000/10/swap/test/includes/
> 
> though not all of them seem to be included
> in the manifest... hmm...
>  http://www.w3.org/2000/10/swap/test/regression.n3
> 
> --
> Dan Connolly, W3C http://www.w3.org/People/Connolly/
Received on Friday, 10 September 2004 15:05:49 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 16:15:20 GMT