- From: <jos.deroo@agfa.com>
- Date: Fri, 7 Jan 2005 23:03:41 +0100
- To: pfps@research.bell-labs.com
- Cc: www-rdf-logic@w3.org, www-rdf-logic-request@w3.org
Actually for few examples :) and there were also few typos
which I tried to correct in http://www.agfa.com/w3c/temp/bijan.n3
(the test is at http://www.agfa.com/w3c/temp/bijanC.n3 and
result at http://www.agfa.com/w3c/temp/bijanE.n3).
Hm.. this is nightly work; also will travel to Canada coming 2 weeks
but will try your cases :)
--
Jos De Roo, AGFA http://www.agfa.com/w3c/jdroo/
"Peter F. Patel-Schneider" <pfps@research.bell-labs.com>
Sent by: www-rdf-logic-request@w3.org
07/01/2005 03:14
To: Jos De_Roo/AMDUS/MOR/Agfa-NV/BE/BAYER@AGFA
cc: www-rdf-logic@w3.org
Subject: Re: RDF as a syntax for OWL
OK, so it works on one example. How about trying it on:
_:x rdf:first :tilde .
_:x rdf:rest _:x1 .
_:x1 rdf:first y .
_:x1 rdf:rest rdf:nil .
_:y rdf:first :some .
_:y rdf:rest _:y1 .
_:y1 rdf:first ex:P .
_:y1 rdf:rest _:y2 .
_:y2 rdf:first _:za .
_:y2 rdf:first _:zb .
_:y2 rdf:rest rdf:nil .
_:za rdf:first :some .
_:za rdf:rest _:za1 .
_:za1 rdf:rest _:za2 .
_:za2 rdf:first ex:C .
ex:C rdf:type :BaseClass .
_:zb rdf:rest _:zb1 .
_:zb1 rdf:first ex:Q .
_:zb1 rdf:rest _:zb2 .
_:zb2 rdf:rest rdf:nil .
I claim that this is perfectly good syntax, that you should be able to
easily handle.
Then you can try the examples I gave to Geoff.
peter
From: jos.deroo@agfa.com
Subject: Re: RDF as a syntax for OWL (was Re: same-syntax extensions to
RDF)
Date: Fri, 7 Jan 2005 02:35:58 +0100
>
> Couldn't resist and had few nightly hours left :)
> *If* you want nnf to be your problem for a while
> then one can write in N3 such triples as
>
>
> {?C a :BaseClass} => {?C a :GivenClass}.
> {?C a :BaseClass} => {?C :isRewrittenAs ?C}.
> {(:tilde (:tilde ?C)) a :GivenClass. ?C a :GivenClass. ?C :isRewrittenAs
> ?CC} => {(:tilde (:tilde ?C)) :isRewrittenAs ?CC}.
> {(:tilde (:and ?C ?D)) a :GivenClass. ?C a :GivenClass. ?D a
:GivenClass.
> ?C :isRewrittenAs ?CC. ?D :isRewrittenAs ?DD} => {(:tilde (:and ?C ?D))
> :isRewrittenAs (:or (:tilde ?CC) (:tilde ?DD))}.
> {(:tilde (:or ?C ?D)) a :GivenClass. ?C a :GivenClass. ?D a :GivenClass.
> ?C :isRewrittenAs ?CC. ?D :isRewrittenAs ?DD} => {(:tilde (:or ?C ?D))
> :isRewrittenAs (:and (:tilde ?CC) (:tilde ?DD))}.
> {(tilde (:some ?P ?C)) a :Class. ?C a :GivenClass. ?C :isRewrittenAs
?CC}
> => {(tilde (:some (?P ?C))) :isRewrittenAs (:all (?P :tilde (?CC)))}.
> {(tilde (:all ?P ?C)) a :Class. ?C a :GivenClass. ?C :isRewrittenAs ?CC}
> => {(tilde (:all (?P ?C))) :isRewrittenAs (:some (?P :tilde (?CC)))}.
>
> and then given
>
> :A a :BaseClass.
> :B a :BaseClass.
> (:tilde (:and :A :B)) a :GivenClass.
> (:tilde (:tilde (:tilde (:and :A :B)))) a :GivenClass.
>
> one can ask
>
> ?C :isRewrittenAs ?D.
>
> and get
>
> # Generated with http://www.agfa.com/w3c/euler/ version R4104 on 7 Jan
> 2005 01:25:51 GMT
> @prefix log: <http://www.w3.org/2000/10/swap/log#>.
>
> (<file:/temp/bijan.n3>.log:semantics).log:conjunction =>
> {
> @prefix q: <http://www.w3.org/2004/ql#>.
> @prefix e: <http://www.agfa.com/w3c/euler/log-rules#>.
> @prefix xsd: <http://www.w3.org/2001/XMLSchema#>.
> @prefix : <http://www.agfa.com/w3c/temp/bijan#>.
> @prefix log: <http://www.w3.org/2000/10/swap/log#>.
> @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
> @prefix math: <http://www.w3.org/2000/10/swap/math#>.
> @prefix owl: <http://www.w3.org/2002/07/owl#>.
> @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
>
> {{:A a :BaseClass} e:evidence <file:/temp/bijan.n3#_48>} => {
> {:A :isRewrittenAs :A} e:evidence <file:/temp/bijan.n3#_41>}.
>
> {{:B a :BaseClass} e:evidence <file:/temp/bijan.n3#_49>} => {
> {:B :isRewrittenAs :B} e:evidence <file:/temp/bijan.n3#_41>}.
>
> {{(:tilde (:tilde (:tilde (:and :A :B)))) a :GivenClass} e:evidence
> <file:/temp/bijan.n3#_51>.
> {(:tilde (:and :A :B)) a :GivenClass} e:evidence
> <file:/temp/bijan.n3#_50>.
> {{(:tilde (:and :A :B)) a :GivenClass} e:evidence
> <file:/temp/bijan.n3#_50>.
> {{:A a :BaseClass} e:evidence <file:/temp/bijan.n3#_48>} => {
> {:A a :GivenClass} e:evidence <file:/temp/bijan.n3#_40>}.
> {{:B a :BaseClass} e:evidence <file:/temp/bijan.n3#_49>} => {
> {:B a :GivenClass} e:evidence <file:/temp/bijan.n3#_40>}.
> {{:A a :BaseClass} e:evidence <file:/temp/bijan.n3#_48>} => {
> {:A :isRewrittenAs :A} e:evidence <file:/temp/bijan.n3#_41>}.
> {{:B a :BaseClass} e:evidence <file:/temp/bijan.n3#_49>} => {
> {:B :isRewrittenAs :B} e:evidence <file:/temp/bijan.n3#_41>}} => {
> {(:tilde (:and :A :B)) :isRewrittenAs (:or (:tilde :A) (:tilde :B))}
> e:evidence <file:/temp/bijan.n3#_43>}} => {
> {(:tilde (:tilde (:tilde (:and :A :B)))) :isRewrittenAs (:or (:tilde :A)
> (:tilde :B))} e:evidence <file:/temp/bijan.n3#_42>}.
>
> {{(:tilde (:and :A :B)) a :GivenClass} e:evidence
> <file:/temp/bijan.n3#_50>.
> {{:A a :BaseClass} e:evidence <file:/temp/bijan.n3#_48>} => {
> {:A a :GivenClass} e:evidence <file:/temp/bijan.n3#_40>}.
> {{:B a :BaseClass} e:evidence <file:/temp/bijan.n3#_49>} => {
> {:B a :GivenClass} e:evidence <file:/temp/bijan.n3#_40>}.
> {{:A a :BaseClass} e:evidence <file:/temp/bijan.n3#_48>} => {
> {:A :isRewrittenAs :A} e:evidence <file:/temp/bijan.n3#_41>}.
> {{:B a :BaseClass} e:evidence <file:/temp/bijan.n3#_49>} => {
> {:B :isRewrittenAs :B} e:evidence <file:/temp/bijan.n3#_41>}} => {
> {(:tilde (:and :A :B)) :isRewrittenAs (:or (:tilde :A) (:tilde :B))}
> e:evidence <file:/temp/bijan.n3#_43>}.
>
> # Proof found for file:/temp/bijanC.n3 in 145 steps (14485 steps/sec)
> using 1 engine (11 triples)
> }.
>
> so the e.g. 3rd solution says ~~~(A&B) is rewritten as ~A v ~B
> and all those () are actually rdf list triples
>
>
> --
> Jos De Roo, AGFA http://www.agfa.com/w3c/jdroo/
>
Received on Friday, 7 January 2005 22:04:24 UTC