- From: Stephane Fellah <fellah@pcigeomatics.com>
- Date: Tue, 4 Nov 2003 11:22:05 -0500
- To: "Drew McDermott" <drew.mcdermott@yale.edu>, <www-rdf-logic@w3.org>
Hi, Thank for your example and ontology. It is very interesting. I would like to have opinions of the participants of this mailing list about how to express operators in RDF. I can distinguish two approaches: the CWM approach (relation as Property) (http://www.w3.org/2000/10/swap/doc/Built-In.html) versus your approach (relation as subject). Are they opposite/incompatible approach or is there any way to conciliate both ? Which one requires less parsing work ? Mathematically, I think the CWM approach seems more correct. Where can I find more resources discussing this issue ? Is there any ontology developed using the CWM approach ? Best regards Stephane Fellah Senior Software Engineer PCI Geomatics 490, Boulevard St Joseph Hull, Quebec Canada J8Y 3Y7 Tel: 1 819 770 0022 Ext. 223 Fax 1 819 770 0098 Visit our web site: www.pcigeomatics.com -----Original Message----- From: Drew McDermott [mailto:drew.mcdermott@yale.edu] Sent: Monday, November 03, 2003 4:48 PM To: Stephane Fellah; www-rdf-logic@w3.org Subject: Re: Expressing operators and functions in RDF [Stephane Fellah] I am working on the design of a OWL ontology for operations and functions (some are spatial and temporal) that can be used by a Rule language (for example current draft OWL Rules). Prior developing the ontology, I am trying to produce some examples in RDF-XML syntax to express these operations/functions. CWM has already some build-in operators. I can distinguish 3 cases for the moment: .... The basic idea behind OWL Rules and other encodings of logic in RDF (although CWM doesn't use this trick) is to make an atomic formula be an object of discussion instead of a triple. Disjunctions, variable bindings, etc., are then RDF trees whose leaves are atomic formulas. So I would represent absolute value thus: <Absolute_value> <operand rdf:datatype="http://www.w3.org/2001/XMLSchema#int">-1</operand> <result rdf:datatype="http://www.w3.org/2001/XMLSchema#int">1</result> </Absolute_value> Then one can translate the formula (forall (x x1) (if (and (< x 0) (unaryMinus x x1)) (absolute_value x x1))) into (where "drs:" is the namespace prefix for http://cs-www.cs.yale.edu/homes/dvm/daml/drsonto.owl#) <drs:Forall> <drs:bound_vars> <drs:Var_bag rdf:parseType="collection"> <drs:Var rdf:ID="v199" drs:name="x"/> <drs:Var rdf:ID="v203" drs:name="x1"/> </drs:Var_bag> </drs:bound_vars> <drs:Implies> <drs:antecedent> <drs:And> <drs:conn_args rdf:parseType="collection"> <math:Less> <math:left_arg rdf:resource="#v199"/> <math:right_arg rdf:datatype="http://www.w3.org/2001/XMLSchema#int"> 0 </math:right_arg> </math:Less> <math:Unary_minus> <math:operand rdf:resource="#v199"/> <math:result rdf:resource="#v203"/> </math:Unary_minus> </drs:conn_args> </drs:And> </drs:antecedent> <drs:consequent> <math:Absolute_value> <math:operand rdf:resource="#v199"/> <math:result rdf:resource="#v203"/> </math:Absolute_value> </drs:consequent> </drs:Implies> </drs:Forall> If you love RDF syntax, you gotta love this. -- -- Drew McDermott Yale Computer Science Department
Received on Tuesday, 4 November 2003 11:22:11 UTC