- From: Dan Connolly <connolly@w3.org>
- Date: Thu, 07 Jun 2001 15:09:20 -0500
- To: w3c-rdfcore-wg@w3.org
OK... so I made good on my hint/promise/threat to hack something to convert n-triples to KIF; it's just 138 lines of perl, including comments: #!/usr/bin/perl # # converts n-triples to KIF # # USAGE: # perl n-triples2kif.pl <foo.nt > foo.kif # # REFERENCES # n-triples: working specification # is a message I sent 30 May # http://lists.w3.org/Archives/Public/w3c-rdfcore-wg/2001May/0264.html # ratified in RDF Core WG 1 Jun telcon # http://lists.w3.org/Archives/Public/w3c-rdfcore-wg/2001Jun/0008.html " # # KIF # Knowledge Interchange Format draft proposed American National Standard (dpANS) # NCITS.T2/98-004 # Last Modified: Thursday, 25-Jun-98 22:31:37 GMT # http://logic.stanford.edu/kif/dpans.html # [...] # $Id: n-triples2kif.pl,v 1.4 2001/06/07 20:03:37 connolly Exp $ http://www.w3.org/2000/10/swap/n-triples2kif.pl As a test case, I converted the DAML ontology from RDF syntax to n-triples syntax and then to KIF syntax: http://www.daml.org/2001/03/daml+oil -- cwm + bug-workarounds --> http://www.w3.org/2000/10/swap/test/dpo/dpo.nt -- n-triples2kif.pl --> http://www.w3.org/2000/10/swap/test/dpo/dpo.kif dpo.kif looks like: (exists (?x0 ?x2 ?x1 ) (and (PropertyValue http\:\/\/www\.w3\.org\/1999\/02\/22\-rdf\-syntax\-ns\#type http\:\/\/www\.daml\.org\/2001\/03\/daml\+oil http\:\/\/www\.daml\.org\/2001\/03\/daml\+oil\#Ontology) (PropertyValue http\:\/\/www\.daml\.org\/2001\/03\/daml\+oil\#imports http\:\/\/www\.daml\.org\/2001\/03\/daml\+oil http\:\/\/www\.w3\.org\/2000\/01\/rdf\-schema) [...] (PropertyValue http\:\/\/www\.daml\.org\/2001\/03\/daml\+oil\#first ?x0 http\:\/\/www\.daml\.org\/2001\/03\/daml\+oil\#Nothing) (PropertyValue http\:\/\/www\.daml\.org\/2001\/03\/daml\+oil\#rest ?x0 ?x1) (PropertyValue http\:\/\/www\.daml\.org\/2001\/03\/daml\+oil\#first ?x1 ?x2) (PropertyValue http\:\/\/www\.daml\.org\/2001\/03\/daml\+oil\#rest ?x1 http\:\/\/www\.daml\.org\/2001\/03\/daml\+oil\#nil) ) ) While n-triples is only designed to capture the RDF abstract syntax/graph, converting to KIF syntax implies an underlying semantics too. I believe these semantics (the so-called existential conjunctive fragment of first order logic) are, implicitly, in the RDF 1.0 spec. One aspect of the interpretation is that I use the PropertyValue idiom (from the DAML axiomatic semantics) rather than holds (from KIF itself) to keep RDF predicates and classes as objects rather than making them two-place and one-place relations, resp. i.e. this is input to issues such as http://www.w3.org/2000/03/rdf-tracking/#rdf-formal-semantics http://www.w3.org/2000/03/rdf-tracking/#rdfms-resource-semantics http://www.w3.org/2000/03/rdf-tracking/#rdfms-identity-anon-resources I hope to elaborate on exactly how this little hack addresses those issues eventually, but I'm going to send just this much for now. -- Dan Connolly, W3C http://www.w3.org/People/Connolly/
Received on Thursday, 7 June 2001 16:09:26 UTC