- From: Peter F. Patel-Schneider <pfps@research.bell-labs.com>
- Date: Thu, 06 Jan 2005 21:14:16 -0500 (EST)
- To: jos.deroo@agfa.com
- Cc: www-rdf-logic@w3.org
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 02:14:29 UTC