Comments about ObjectPropertyExpressions on owl2-syntax of 20091027

Hi,

OWL2 is clearly a significant improvement in conceptual organization over OWL1, this is exciting.
The four comments below pertain to http://www.w3.org/TR/2009/REC-owl2-syntax-20091027/

1) http://www.w3.org/TR/2009/REC-owl2-syntax-20091027/#Object_Property_Expressions

As one can see from the figure, OWL 2 supports only two kinds of object property expressions. Object properties are the simplest form of object property expressions, and inverse object properties allow for bidirectional navigation in class expressions and axioms.

I believe that there should be an explicit statement about what an ObjectPropertyExpression actually is.
Suggestion:

An ObjectPropertyExpression is an expression specifying a set of ordered
tuples where the first and second member of each tuple is are respectively
individuals in the ObjectPropertyDomain and ObjectPropertyRange of the
ObjectPropertyExpression.

2) http://www.w3.org/TR/2009/REC-owl2-syntax-20091027/#Object_Property_Range

Currently:

An object property range axiom ObjectPropertyRange( OPE CE ) states that the range of the object property expression OPE is the class expression CE - that is, if some individual is connected by OPE with an individual x, then x is an instance of CE. Each such axiom can be seen as a syntactic shortcut for the following axiom:

SubClassOf( owl:Thing ObjectAllValuesFrom( OPE CE ) )

The above syntactic shortcut is wrong as owl:Thing cannot be the subclass of ObjectAllValuesFrom( OPE CE )
Perhaps this is a typo for:

SubClassOf( ObjectAllValuesFrom( OPE CE ) owl:Thing )

Note that the above says nothing about the range of the OPE; it is not a syntactic shortcut for ObjectPropertyRange(OPE CE).

3) http://www.w3.org/TR/2009/REC-owl2-syntax-20091027/#Object_Property_Restrictions

The document is written in a controlled subset of English grammar; some conventions need to be explicitly clarified for the reader; e.g.:

"X is connected by an OPE to Y"
=> X and Y are in the domain and range of the OPE respectively.

"individuals that are connected through an OPE"
=> the individuals above are in the domain of the OPE

"individuals that are connected by an OPE"
=> the individuals above are in the domain of the OPE

In other places, I suggest being more explicit, again, to facilitate understanding.

Currently:

The ObjectSomeValuesFrom class expression allows for existential quantification over an object property expression, and it contains those individuals that are connected through an object property expression to at least one instance of a given class expression.

The ObjectAllValuesFrom class expression allows for universal quantification over an object property expression, and it contains those individuals that are connected through an object property expression only to instances of a given class expression.

The ObjectHasValue class expression contains those individuals that are connected by an object property expression to a particular individual.

Suggestion:

The ObjectSomeValuesFrom class expression allows for an existentially quantified subclass of the domain of an object property expression, and it contains those individuals that are connected through that object property expression to at least one instance of a given class expression.

The ObjectAllValuesFrom class expression allows for a universally quantified subclass of the domain of an object property expression, and it contains those individuals that are connected through that object property expression only to instances of a given class expression.

The ObjectHasValue class expression contains those individuals in the domain of an object property expression that are connected by that object property expression to a particular individual in its range.


I think it would help to remind the reader that all OPE/DPE specify a subclass of the domain of an OPE/DPE respectively as clearly specified in the OWL2 Direct Semantics here: http://www.w3.org/TR/2009/REC-owl2-direct-semantics-20091027/#Class_Expressions

4) http://www.w3.org/TR/2009/REC-owl2-syntax-20091027/#Object_Property_Cardinality_Restrictions

The first sentence in the description below of cardinality restrictions is incorrect with the second sentence:

All cardinality restrictions can be qualified or unqualified: in the former case, the cardinality restriction only applies to individuals that are connected by the object property expression and are instances of the qualifying class expression; in the latter case the restriction applies to all individuals that are connected by the object property expression (this is equivalent to the qualified case with the qualifying class expression equal to owl:Thing). The class expressions ObjectMinCardinality, ObjectMaxCardinality, and ObjectExactCardinality contain those individuals that are connected by an object property expression to at least, at most, and exactly a given number of instances of a specified class expression, respectively.

In the first sentence, "individuals that are connected by the object property expression" refers to the individuals in the domain of the OPE.
Thus, "individuals that are connected by the object property expression and are instances of the qualifying class expression" would suggest that the qualifying class expression applies to individuals in the domain of the OPE whereas the last sentence clearly suggests that the specified class expression (presumably the same as the 'qualifying class expression' mentioned earlier) are in the range of the OPE.

Perhaps the following might help some readers:

Given:

Object{Min,Max,Exact}Cardinality( nNI OPE CE )

Then the following should be true:

SubClassOf( Object{Min,Max,Exact}Cardinality( nNI OPE CE ) ObjectPropertyDomain( OPE ) )
SubClassOf( CE ObjectPropertyRange( OPE ) )

- Nicolas.

Received on Sunday, 29 November 2009 08:22:15 UTC