- From: <jos.deroo@agfa.com>
- Date: Fri, 20 Oct 2006 00:39:18 +0200
- To: connolly@w3.org
- Cc: Dave Reynolds <der@hplb.hpl.hp.com>, "Public-Rif-Wg (E-mail)" <public-rif-wg@w3.org>, public-rif-wg-request@w3.org
>On Tue, 2006-10-17 at 02:07 +0200, jos.deroo@agfa.com wrote: >> Dan Connolly wrote: >> [...] >> >> Are functions, relations to be purely local to the XML source file? >> > >> > Yes... er... no... the "holds" relation and "list" function that I'm >> > using are intended to be globally defined. So I guess I should have >> > made URIs for those. >> >> I really prefer the variable predicate declaration instead of the >> "holds" function as I think it is a matter of implementation wether >> your inference engine uses a "holds" or for instance a Prolog =.. > > True, but those "implementation details" also show up in the semantics. > http://www.w3.org/2005/rules/wg/wiki/A.1_Basis%3A_Positive_Conditions > > I wouldn't mind hiding the holds predicate in the semantics... > > i.e. limit IR to just the one holds predicate and change... > > Atomic formulas: I(r(t1,...,tn)) = IR(r)(I(t1),...,I(tn)) > > to > > Atomic formulas: I(r(t1,...,tn)) = IR(holds)(I(r),I(t1),...,I(tn)) > > but I'm not sure that's as appealing overall. For OWL interpretations the recommendation says [[ P is a subset of R , the properties of I. I I EXT is used to give meaning to properties, I and is a mapping from P to P(R x R ). I I I ]] -- http://www.w3.org/TR/owl-semantics/rdfs.html#5.2 so why have that I(r) only (and not its extensional interpretation)? > And I'm not sure what a Prolog =.. is. It is the so called "univ" [[ T =.. L [ISO] The list L is built with the functor and arguments of the term T. If T is instantiated to a variable, then L must be instantiated either to a list whose head is an atom, or to a list consisting of just a number. ]] -- http://www.ncc.up.pt/~vsc/Yap/documentation.html As a practical example, euler1 translates the n3 rule {?P a owl:TransitiveProperty. ?X ?P ?O. ?S ?P ?X} => {?S ?P ?O}. into the euler5 prolog rule 'log:implies'(lf(('rdf:type'(_P,'owl:TransitiveProperty',_), atom(_P), _U4238646=..[_P,_X,_O,_], _U4238646, atom(_P), _U4238649=..[_P,_S,_X,_], _U4238649, atom(_P), _U4238652=..[_P,_S,_O,'_'])), lf((_U4238652)),_). -- Jos De Roo, AGFA http://www.agfa.com/w3c/jdroo/
Received on Thursday, 19 October 2006 22:39:40 UTC