W3C home > Mailing lists > Public > public-owl-wg@w3.org > May 2008

RE: Understanding n-ary data predicates

From: Michael Schneider <schneid@fzi.de>
Date: Wed, 7 May 2008 10:51:38 +0200
Message-ID: <0EF30CAA69519C4CB91D01481AEA06A08BE291@judith.fzi.de>
To: "Bijan Parsia" <bparsia@cs.man.ac.uk>
Cc: "OWL Working Group WG" <public-owl-wg@w3.org>
Hi Bijan!

Thanks for the explanation.

I like this approach. It is very flexible and generic. Much better than
having specific restrictions for each case.


>-----Original Message-----
>From: public-owl-wg-request@w3.org [mailto:public-owl-wg-request@w3.org]
>On Behalf Of Bijan Parsia
>Sent: Tuesday, May 06, 2008 7:40 PM
>To: OWL Working Group WG
>Subject: Re: Understanding n-ary data predicates
>On 6 May 2008, at 16:15, Michael Schneider wrote:
>> Hi!
>> I haven't attended the last telco, where n-ary predicates were
>> discussed. I
>> would like to catch up on this topic. However, from looking into
>> the proposal
>> [1], I do not even understand the basic idea. :-(
>> The use-cases document [2] provides the following example:
>>   "For humans, the systolic blood pressure is always
>>   greater or equal than the diastolic blood pressure."
>> I speculated that the idea was to have a new "GreaterOrEqual" property
>> restriction, which is applied on two properties:
>>   SubClassOf( Human
>>               GreaterOrEqual(systolicBloodPressure
>> diastolicBloodPressure) ))
>> And the value ranges for these two properties can be specified by
>> additional
>> AllValues restrictions.
>> But it doesn't look to me that the actual proposal follows this
>> approach.
>It's not too far off. The basic point is that we want to specify
>arbitrary equations relating data values.  In this case where it's
>just a comparison, it's easy:
>	DatarangeExpression(x y geq (x y))
>(The first occurrences of x and y declare the variables; geq is a
>builting comparison.)
>Now you can use this in an existential or universal restriction:
>	AllValuesFrom( ex:hasSystolicBloodPressure
>ex:hasDiastolicBloodPressure DatarangeExpression(x y geq (x y)))
>(You can name expressions too.)
>> So,
>> can anyone please demonstrate the actual approach for the above
>> "systolic/diastolic" example?
>See above. Here's another:
>"Body mass index: the body mass index (BMI) of a patient is defined
>as 703 times weight in pounds divided by the square of the height in
>inches. The BMI is (among many other things) taken into consideration
>for insulin administration regimens. Similar to the examples above,
>it is used to derive an envelope within which a standard regimen
>should be."
>	DatarangeExpression(bmi weight height eq((times bmi (times height
>height)) (times(703 weight)))
>(since we don't have an explicit division, I had to mutliply both
>sides by the square of the height the equation in infix is:
>	bmi*height^2 = 703*weight).
>There's a passel of links to helpful literature at the bottom of the
>page...no need to speculate! :)

Received on Wednesday, 7 May 2008 08:52:16 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:42:04 UTC