Re: review of n-ary extension

Thanks for the review.

On 7 Apr 2009, at 19:58, Michel_Dumontier wrote:

> Hi,
>   Here is my review of the n-ary extension document
> http://www.w3.org/2007/OWL/wiki/Data_Range_Extension:_Linear_Equations
>
>
> 1.      Overview
> Awkward: “Predicates can only relate values data properties which  
> are rooted in the same individual”

Fixed to:
"""Equation-based dataranges can only constrain values of data  
properties of a single individual. That is, one cannot compare the  
boiling point of the one individual,''water'', with the boiling point  
of another individual, say, ''copper''. Restrictions using dataranges  
this way are known as '''path free'''. While the theory for arbitrary  
data restrictions is well known, there is still a dearth of  
optimizations that would make their inclusion practical. """

> 2.      Examples
> Remove ‘it is clear that’ “From these assertions it is clear that  
> the boiling point of water is greater than its melting point”

To make an ungrammatical sentence? I think not :) How about:
    """From these assertions it follows that the boiling point of  
water is greater than its melting point."""

> Change“This physical law cannot be expressed without a datarange  
> with two free variables:”to the affirmative and describe the  
> required elements:
> “This physical law can be expressed with a datarange with two free  
> variables x and y, representing the melting and boiling point,  
> respectively.”

Done.

> I would prefer if the examples walked you through the axiom, step by  
> step, explaining the components. Introduce the role of the  
> DataAllValuesFrom, DataComparison, Arguments and the comparison  
> operator.

I'd like a pony too :)

I hear you. I'd definitely like this bit to get up to the level of  
explanation that the Syntax document has. But I think it'll have to  
wait another round as I'm not 100% pleased with the examples at all.

> Drug example raises questions: Give the use case first – that a safe  
> dose is less than 2x the weight of the patient. Then give the axiom  
> that represents it. Currently, the explanation of the axiom says  
> that the safe “does”-> “dose” is 2mg/kg, but if that’s the case, I  
> don’t see it.

Does this improve matters?
"""This axiom states that the safe dose is 2 milligrams per kilogram,  
and thus that a safe dose (in milligrams) for a person of a given  
weight must be less than 2 times the weight (in kilograms) of the  
patient."""

> What’s the relationship between tookdrugInMilligrams and totalDose?

The latter is the formal parameter of the lambda function, the former  
is the source of the actual arguments bound to that formal parameter.

> The naming appears inconsistent - why doesn’t’ totalDose contain the  
> unit, or vice versa, tookDrugInMilligrams is ‘dose’).

Because I got frustrated with lack of unit support ;)

Is this clearer:

"""EquivalentClasses(SafelyDosedPatient  
DataAllValuesFrom(tookDrugInAmount weight  
DataComparison(Arguments(totalDoseInMg weightinKg) leq(totalDoseInMg  
times(2, weightInKg)))))"""

> This example needs to be broken down and better explained with some  
> hand holding (sadly, I’m not Bijan *smart* ;-)

But are you Bijan Lazy?

>  It also becomes unclear why the previous example used variables x&y  
> and now we see dataproperties in the arguments and comparison  
> relation.

That's the confusion. totalDoseInMg is *not* a property. It's the name  
of a variable. Just like x.

This is both an advantage and a disadvantage. Since you can pick your  
variable names, you can make your equations readable. Furthermore, you  
can reuse the same equation with different properties. OTOH, you do  
end up with a plethora of names. Would you fine this easier:

"""EquivalentClasses(SafelyDosedPatient  
DataAllValuesFrom(tookDrugInAmount weight DataComparison(Arguments(x  
y) leq(x times(2, y)))))"""

> This seems inconsistent without an informative discussion (either in  
> the introduction, or as we’re walked through the examples). Perhaps  
> we should have an example for each of the 3 DataComparison.

I intend it. But probably next WD. I'd like to get some more worked  
out examples from real ontologies.

> 3.1 Functional Syntax
> ScaledComparison – needs white space between Arguments and  
> ComparisonRelation

Fixed!

Thanks!

Cheers,
Bijan.

Received on Tuesday, 7 April 2009 20:28:59 UTC