W3C home > Mailing lists > Public > public-cwm-talk@w3.org > October to December 2004

Re: Negations and Negated Conjuctions in Formulae.

From: naudts guido <naudts_vannoten@yahoo.com>
Date: Tue, 19 Oct 2004 04:43:47 -0700 (PDT)
Message-ID: <20041019114347.98526.qmail@web40524.mail.yahoo.com>
To: Raymond Racine <rracine@adelphia.net>
Cc: cwm <public-cwm-talk@w3.org>

Hallo,
I can reply what I said on Eulermoz developers group:

--- Alfred Döblin <alfred_doeblin@yahoo.de> wrote:

> Hi,
> 
> trying to parse gedcom-relations.n3 I've come across
> a
> never-heard-of symbol cluster my scanner has been
> unable to deal with:
> 
> {{:person1 /= :person2} log:implies {:person1
> ont:differentIndividualFrom :person2}} a log:Truth;
> log:forAll :person1, :person2.
> # rule added for N3Engine - G.Naudts
> 
> Does /= constitute standard n3? Where could we find
> more information about it? What does it mean?
> 
> Cheers,
> 
> Alfred, 4Clerks
> 

Hallo,
This is not standard N3 (or commonly accepted N3; N3
is not a standard); this is a feature I introduced;
with log:falseHood one could say:
{:person1 = :person2} a log:falseHood.
However, Tim Berners-Lee does not support anymore
log:falseHood. Personally, I believe such a feature is
necessary.
With pure N3 and RDF(S) this cannot be expressed.
With OWL this becomes:
:person1 owl:differentFrom :person2.
Greetings, 


--- Raymond Racine <rracine@adelphia.net> wrote:

> 
> I have a SML based N3 parser that does most of the
> core stuff and simple
> formulae.  I am marrying up the Parser with a Rete
> implementation and
> started to write simple N3 tests for the Rete and
> hit a couple of N3
> notation issues.
> 
> I am assuming a simple block world.
> i.e. 
> 
> :b1 :on :b2;
>      :color :blue .
> ....	
> 
> 1. Negated Conjunctions
> 
> {?x :on ?y . ?y :leftof ?z . ~ ( ?z :color :red . ?z
> :on ?w.) } => ...
> 
> This production matches if there is a stack of (at
> least) two blocks
> designated by ?x and ?y to the left of some block,
> ?z, which is not both
> red and on some other block.
> 
> With negated conjunctions the following works as
> well.
> A production that checks whether every red block has
> a blue block on top
> of it can be re-written as there is no red block
> that does not have a
> blue block on top of it, i.e.
> 
> Using SOAR-like notation, not N3.
> 
> ~{ (?x color red) ~{ (?y on ?x) (?y color blue) } }
> => ....
> 
> 2. Simple Negated Condition
> 
> (?x on ?y) (?y leftof ?z) ~(?z color red) => ....
> 
> Matches if there is a stack of (at least) two blocks
> to the left of some
> block which is "not" known to be red.
> 
> Does N3 have a notation to create these kind of
> Rules/Formulae?
> 
> Ray
> 
> 
> 
> 
> 



		
__________________________________
Do you Yahoo!?
Yahoo! Mail - Helps protect you from nasty viruses.
http://promotions.yahoo.com/new_mail
Received on Tuesday, 19 October 2004 11:44:19 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 8 January 2008 14:11:01 GMT