- 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