- From: Seaborne, Andy <andy.seaborne@hp.com>
- Date: Fri, 10 Sep 2004 16:05:14 +0100
- 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 UTC