W3C home > Mailing lists > Public > www-rdf-interest@w3.org > February 2003

Re: cwm sticking point

From: Sandro Hawke <sandro@w3.org>
Date: Thu, 27 Feb 2003 16:04:19 -0500
Message-Id: <200302272104.h1RL4JP28488@wadimousa.hawke.org>
To: "James Rothering" <jrothering@oo-sc.com>
cc: www-rdf-interest@w3.org


> I'm a newbie to RDF and N3 & I apologize for not lurking longer, but I've
> reached a sticking point, and it must be simple. If someone could please
> enlighten me, off-list if need be, I'd be grateful.

But if it's off list, we wont know it's been done already!  The best
we can do is keep threading information intact so people not
interested in your question can easily skip the answers or any ensuing
discussion.

> When I run the uncles.n3 example in cwm, I get the following output:
> 
> C:\DOCUME~1\JR\MYDOCU~1\SOFTWA~1\cwm\old\cwm1.82>python cwm.py
> uncle.n3 --think
> 
> #Processed by Id: cwm.py,v 1.82 2001/11/15 22:11:23 timbl Exp
>        #    using base
> file:/DOCUME~1/JR/MYDOCU~1/SOFTWA~1/cwm/old/cwm1.82/uncl
> e.n3
> 
> #  Notation3 generation by
> #       notation3.py,v 1.98 2001/11/15 22:11:24 timbl Exp
> 
> #   Base was: file:/DOCUME~1/JR/MYDOCU~1/SOFTWA~1/cwm/old/cwm1.82/uncle.n3
>     @prefix : <#> .
> @prefix log: <http://www.w3.org/2000/10/swap/log#> .
> 
>    :Fred     :brother :Bob .
> 
>    :Joe     :father :Fred;
>         :uncle :Bob .
> 
>    this     log:forAll :who1,
>                :who2 .
>    {
>        :who1     :father  [
>                 :brother :who2 ] .
> 
>        }     log:implies {:who1     :uncle :who2 .
>        } .
> 
> #ENDS
> 
> So here is my question/problem: why does it say:
>    :Fred     :brother :Bob .
> I mean, this seems backwards to what the uncle.n3 specified, which was
> that:Bob was the :brother of :Fred. Now, if cwm derived this, then it
> should have been by some kind of "inverseOf" predicate -- but no such rule
> was given. If the order is reversed in this output, then why?
> 
> It goes on to say:
>    :Joe     :father :Fred;
>         :uncle :Bob .
> 
> But,:Joe is not the :father of :Fred, rather the inverse. Again, why is the
> order inverted? I saw no mention of an inversion anywhere in the
> tutorial/web-page.
> 
> I appreciate the help to an admitted newbie! If this is explained anywhere,
> please just point me to it & don't waste your precious time.

I think you were tricked by the N3 "is/of" keywords used in the input
file.

                :Fred is :father of :Joe.
is the same as  :Joe has :father :Fred.
and the same as :Joe :father :Fred.   (the default output style)

Does that explain it?

    -- sandro
Received on Thursday, 27 February 2003 16:04:32 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:51:58 GMT