- From: Sean B. Palmer <sean@mysterylights.com>
- Date: Sun, 17 Jun 2001 19:29:19 +0100
- To: "Geoff Chappell" <geoff@sover.net>, <www-rdf-logic@w3.org>
> Sorry, I haven't bothered much the with xml serialization of rdf > and so always seem to get it wrong when I do use it -- [...] Me too, which is why I write things in Notation3 [1], and then convert them over with CWM [2]. It also saves time. > > [ :unionOf (:Animal [ :complementOf :Dog ]) ] . > [...] > Ultimately I'm trying to express the rule that if something is a dog > then it is an animal. Oh, easy:- :Dog rdfs:subClassOf :Animal . Remembering that:- type(x, z) :- type(x, y), subClassOf(y, z). And a full list of rules in English: if x is a dog, it must be an animal, if x is an animal, then it may or may not be a dog. If x is not an animal, then it is not a dog, and if x is not a dog it may or may not be an animal. I prefer to write out stuff like that in Notation3, because it has contexts, and then use TimBL's FOL namespace (http://www.w3.org/2000/10/swap/log#):- this log:forAll :x , :Dog , Animal . { :Dog rdfs:subClassOf :Animal . :x a :Dog } log:implies { :x a :Animal } . { :Dog rdfs:subClassOf :Animal . :x a [ daml:complimentOf :Animal ] } log:implies { { :x a :Dog } a log:Falsehood } . There are some other similar axioms written out in Notation3 (and some in Prolog) at [3] that you might find interesting. [1] http://www.w3.org/2000/10/swap/Primer [2] http://www.w3.org/2000/10/swap/cwm.py [3] http://infomesh.net/2001/05/rdflint/ -- Kindest Regards, Sean B. Palmer @prefix : <http://webns.net/roughterms/> . :Sean :hasHomepage <http://purl.org/net/sbp/> .
Received on Sunday, 17 June 2001 14:30:15 UTC