W3C home > Mailing lists > Public > www-rdf-logic@w3.org > June 2001

Re: Inference in daml

From: Sean B. Palmer <sean@mysterylights.com>
Date: Mon, 18 Jun 2001 00:29:40 +0100
Message-ID: <01b101c0f785$647e8c60$66da93c3@z5n9x1>
To: "Geoff Chappell" <geoff@sover.net>, "Ian Horrocks" <horrocks@cs.man.ac.uk>
Cc: <www-rdf-logic@w3.org>
> Say you have the inference rule:
>     isBiggerThan(X, house)->isBiggerThan(X,breadbox)
> [...] What is the daml expression of this?

"isBiggerThan" is a Transitive Property for a start, so:-

   :isBiggerThan rdf:type daml:TransitiveProperty .


   y(x, p) :- y(x, z), y(z, p), rdf:type(y, daml:TransitiveProperty).

And so I think that the "DAML expression" that you are looking for

   rdf:type(isBiggerThan, daml:TransitiveProperty),
   isBiggerThan(house, breadbox).

Because from those two triples (and using the definition of a
daml:TransitiveProperty, above, which should be inherent to DAML
processors) you can imply that:-

   isBiggerThan(x, house)->isBiggerThan(x, breadbox)

Which is your original inference rule. You can't state that directly
in DAML, because there is no predicate for "implies", but you can make
statements which people can then derive axioms from using the
defintitions of the DAML terms.

Using log:implies you could state that:-

   { :x :isBiggerThan :house }
   { :x :isBiggerThan :breadbox }
   a log:Truth; log:forAll :x .

Which is RDF (just about...), but not involving DAML.

Kindest Regards,
Sean B. Palmer
@prefix : <http://webns.net/roughterms/> .
:Sean :hasHomepage <http://purl.org/net/sbp/> .
Received on Sunday, 17 June 2001 19:28:23 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 2 March 2016 11:10:35 UTC