- From: Dan Connolly <connolly@w3.org>
- Date: Thu, 06 Sep 2001 15:23:17 -0500
- To: las@olin.edu
- CC: www-rdf-logic@w3.org
I think I've got a handle on how to relate N3 {} syntax to KIF, i.e. FOPL + quoting. log:forAll and log:forSome are special-magic syntax, but all the rest comes out in the wash. rdf-logic folks, this might not make much sense; I'm mostly writing it down to discuss with one or two people, but I'm copying the rest of rdf-logic just in case it's useful to some folks... Some examples for discussion: (based in http://www.w3.org/2000/10/swap/test/ though many are not checked in/chacl'd) basic RDF: --- test/meet/blue.n3 -- (see also http://www.w3.org/2000/10/swap/test/meet/blue.rdf) @prefix p: <http://www.example.org/personal_details#> . @prefix m: <http://www.example.org/meeting_organization#> . <http://www.example.org/people#fred> p:GivenName "Fred"; p:hasEmail <mailto:fred@example.com>; m:attending <http://meetings.example.com/cal#m1> . <http://meetings.example.com/cal#m1> m:homePage <http://meetings.example.com/m1/hp> . --->KIF--> (prefix "p" "http://www.example.org/personal_details#") (prefix "m" "http://www.example.org/meeting_organization#") (and (p__GivenName http://www.example.org/people#fred "Fred") (p__hasEmail http://www.example.org/people#fred mailto:fred@example.com ) (m__attending http://www.example.org/people#fred http://meetings.example.com/cal#m1 ) (m__homePage http://meetings.example.com/cal#m1 http://meetings.example.com/m1/hp ) ) --- with a so-called anonymous node: -- test/meet/red.n3 @prefix m: <http://www.example.org/meeting_organization#> . @prefix g: <http://www.another.example.org/geographical#> . <http://meetings.example.com/cal#m1> m:Location [ g:zip "02139"; g:lat "14.124425"; g:long "14.245" ]; m:chair <http://www.example.org/people#fred> . --- (prefix "m" "http://www.example.org/meeting_organization#") (prefix "g" "http://www.another.example.org/geographical#") (exists (?thing_1 ) (and (g__zip ?thing_1 "02139") (g__lat ?thing_1 "14.124425") (g__long ?thing_1 "14.245") (m__Location http://meetings.example.com/cal#m1 ?thing_1 ) (m__chair http://meetings.example.com/cal#m1 http://www.example.org/people#fred ) ) ) --- question: does it matter whether the ground facts are inside the (exists () ...) or not? Now onto the tricky bits... subformulas/scopes/contexts... N3 {} is mapped to KIF quasi-quoting ^(...). --- test/subformula1.n3 @prefix log: <http://www.w3.org/2000/10/swap/log#>. @prefix : <http://www.w3.org/2000/10/swapt/test/quot-sem#>. { :weather :is :rainy } log:implies { :I :giveRideTo :you }. :weather :is :rainy. ---- in KIF: (prefix "log" "http://www.w3.org/2000/10/swap/log#") (prefix "" "http://www.w3.org/2000/10/swapt/test/quot-sem#") (and (log__implies ^ (__is __weather __rainy ) ^ (__giveRideTo __I __you ) ) (__is __weather __rainy ) ) ---- Quantifying into the quoted expression... --- subformula2.n3 @prefix log: <http://www.w3.org/2000/10/swap/log#>. @prefix : <http://www.w3.org/2000/10/swapt/test/quot-sem#>. this log:forAll :x. { :x a :Dog } log:implies { :x :gets :Fleas }. :fido a :Dog. --->KIF--> (prefix "log" "http://www.w3.org/2000/10/swap/log#") (prefix "" "http://www.w3.org/2000/10/swapt/test/quot-sem#") (forall (?x ) (and (log__implies ^ (http://www.w3.org/1999/02/22-rdf-syntax-ns#type , ?x __Dog ) ^ (__gets , ?x __Fleas ) ) (http://www.w3.org/1999/02/22-rdf-syntax-ns#type __fido __Dog ) ) ) --- Quantifiers inside the quoted part: --- test/tom-mary.n3 @prefix : <whatever#> . :Tom :believes { :Mary :wants { :Mary :marriedTo [ a :Sailor ] } }. --->KIF--> (prefix "" "file:/home/connolly/w3ccvs/WWW/2000/10/swap/whatever#") (__believes __Tom ^ (__wants __Mary ^ (exists (?thing_3 ) (and (http://www.w3.org/1999/02/22-rdf-syntax-ns#type ?thing_3 __Sailor ) (__marriedTo __Mary ?thing_3 ) ) ) ) ) --- and the grand finale... http://www.w3.org/2000/10/swap/test/acl-pf.n3 http://www.w3.org/2000/10/swap/test/acl-pf.kif (not yet chacl'd) All above examples produced by a KIF sink module: http://www.w3.org/2000/10/swap/KIFSink.py $Id: KIFSink.py,v 1.1 2001/09/06 20:13:05 connolly Exp $ I've also got a KIF parser, though I don't have it connected with the rest of the swap/cwm stuff: http://www.w3.org/2000/10/swap/kifForm.html http://www.w3.org/2000/10/swap/kifForm.g -- Dan Connolly, W3C http://www.w3.org/People/Connolly/
Received on Thursday, 6 September 2001 16:23:20 UTC