- From: <jos.deroo.jd@belgium.agfa.com>
- Date: Sun, 27 May 2001 00:58:54 +0100
- To: connolly@w3.org
- Cc: jborden@mediaone.net, drew.mcdermott@yale.edu, www-rdf-logic@w3.org
[..] > In KIF, there's an axiom schema... > (<=> (wtr 'p) p) > (provided wtr doesn't occur in p > cf http://logic.stanford.edu/kif/dpans.html#10.3). > > so we can trade (not color sky blue) for > (wtr '(not (color sky blue)) > > let's suppose rdf_type is defined ala > (forall (?C ?x) (<=> (rdf_type ?x ?C) (holds ?C ?x)) > and let's define a class Falsehood: > (forall (?formula) > (<=> (rdf_type ?formula Falsehood) (wtr '(not ^?formula))) ) > > and let's let ?s2 = '(color sky blue) > and ?s1 = '(rdf_type ?s2 Falsehood) > > and rdf_Statement = KIF triple (i.e. list of length 3) > and rdf_predicate = KIF first > and rdf_subject = KIF second > and rdf_object = KIF third > > then we have > (rdf_type ?s2 rdf_Statement) > (rdf_subject ?s2 'sky) ; note: 'sky, not sky > (rdf_predicate ?s2 'color) > (rdf_object ?s2 'blue) > > and > (rdf_type ?s1 rdf_Statement) > (rdf_subject ?s1 '?s2) > (rdf_predicate ?s1 'rdf_type) > (rdf_object ?s1 'Falsehood) > > > then it all works out: if we decide ?s1 is true, i.e. > (wtr ?s1) > then we can use the axioms of > triple/first/second/third to get > (= ?s1 '(rdf_type ?s2 Falsehood)) > so then substituting, we get > (wtr '(rdf_type ?s2 Falsehood)) > and using the wtr axiom schema, we get > (rdf_type ?s2 Falsehood) > and using triple/first/second/third again, we have > (= ?s2 '(color sky blue)) > and substituting, we have > (rdf_type '(color sky blue) Falsehood) > then using our definition of Falsehood, we have > (wtr '(not (color sky blue))) > and using wtr once more, > (not color sky blue) > QED. Yep and very nice! [...] > in order to spell out S2, we must write: > > <rdf:Description rdf:about="#S2"> > <rdf:type > rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement/> > <rdf:subject rdf:resource="data:,http://example/stuff#sky"/> > <rdf:predicate rdf:resource="data:,http://example/vocab#color"/> > <rdf:object rdf:resource="data:,http://example/stuff#blue"/> > </rdf:Description> > > or perhaps: > > <rdf:Description rdf:about="#S2"> > <rdf:type > rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement/> > <rdf:subject>http://example/stuff#sky</rdf:subject> > <rdf:predicate>http://example/vocab#color"</rdf:predicate> > <rdf:object>http://example/stuff#blue</rdf:object> > </rdf:Description> I've been working for months and months with a similar one <rdf:Statement rdf:about="#S2"> <rdf:subject>http://example/stuff#sky</rdf:subject> <rdf:predicate>http://example/vocab#color"</rdf:predicate> <rdf:object>http://example/stuff#blue</rdf:object> </rdf:Statement> and it actually worked quite well, but > but perhaps that's so different from the way > rdf:predicate/subject/object are specified, understood, > and used that we need to give them new names. So indeed for the log:quote in the RDF/xml notation, you couldn't have it made more clear! -- Jos De Roo, AGFA http://www.agfa.com/w3c/jdroo/ PS I'm not wtr'ing my garden
Received on Saturday, 26 May 2001 18:59:18 UTC