- 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