Draft other comments on OWL reference

DRAFT for information of RDFCore

In reviewing the Owl Reference last call WD at

   http://www.w3.org/TR/2003/WD-owl-ref-20030331/

for RDFCore, I noticed the following comments that were not directly 
related to RDFCore's interests.

-----------------------

3. Classes
[[
When in this document we use wording such as "a class of individuals ..", 
this should be read as the "a class with a class extension containing 
individuals ...".
]]

typo: "should be read as the ...
                        ^^^^^^^
-----------------------

[[
OWL Full allows the freedom of RDF Schema: a class may act as an instance 
of another (meta)class (the same holds for properties).
]]

The phrase "the same holds for properties" is unclear.  Does it mean

   properties may act as an instance of class

or

   properties may act as an instance of another (meta) property

I think the former is the only one that makes sense.  This confused me and 
doesn't seem to add much so I suggest dropping the phrase in brackets.

---------------------------

3.1

[[
The other five forms of class descriptions are represented as anonymous 
instances of owl:Class (a blank node with the rdf:type owl:Class).
]]

Two things wrong with this.  If my understanding is correct then the class 
descriptions are represented by sets of triples, not by a single node.  The 
single node represents the class, not its description.

Secondly, nodes don't have types; nodes can be the subject of a 
triple.  Perhaps:

[[
The other five forms of class descriptions consist of a set of RDF triples 
in which a blank node represents the class being described.  That blank 
node has an rdf:type property whose value is owl:Class.
]]

-----------------------------
[[
The class extension of owl:Thing is the set of all individuals in the 
domain of discourse.
]]

First use of the term "domain of discourse".  Is this part of the 
vocabulary you expect your readers (users of the owl language) to have?

I suggest you just say its the set of all individuals, define the term or 
import a definition of the term.

-----------------------------

[[
NOTE: owl:Nothing is not included in OWL Lite.
]]

I'm not sure what that means.  Does this mean it is not predefined or does 
it mean that any reference to it will render a document not in OWL 
Lite?  If the latter:

[[
NOTE: An OWL Lite document may not refer to owl:Nothing.
]]

-------------------------------

3.1.1

Is there a restriction that there may be only one enumeration for a class 
description?

What happens with:

<owl:Class rdf:ID="c">
   <owl:oneOf rdf:parseType="Collection">
     <owl:Thing rdf:about="#a1"/>
     <owl:Thing rdf:about="#a2"/>
   </...
</...
<owl:Class rdf:about="#c">
   <owl:oneOf rdf:parseType="Collection">
     <owl:Thing rdf:about="#b1"/>
     <owl:Thing rdf:about="#b2"/>
     <owl:Thing rdf:about="#b3"/>
   </...
</...

----------------------------

There is no discussion of inconsistency.  This is an omission from the 
document that should be fixed.

----------------------------

3.1.2.1

[[
To see why this is so, observe that the owl:allValuesFrom constraint 
demands that all values of P belong to class P, and if no such values 
exist, the constraint is trivially true.
]]

Typo - I don't think you mean "belongs to class P".

-----------------------------------

3.1.2.2

[[
Note that an owl:minCardinality of one or more means that a value for the 
property is required of any instance of the class.
]]

I find the language confusing - whether to interpret 'any' as an 
existential or a universal quantifier.  Clearer would be:

[[
Note that an owl:minCardinality of one or more means that all instances of 
the class must have a value for the property.
]]

-------------------------------------

3.1.3

[[
owl:complementOf is analogous to logical negation, but restricted to 
individuals only.
]]

The language here is not clear.  How do you logically negate an individual?

<aside>it occurs to me that is a question that often may occur to WG's 
processing last call comments</aside>

The document might be trying to say that you can only take the compliment 
of a class (or class description I'm not sure which) that contains only 
individuals.  Or it might be saying that the compliment will only contain 
individuals not in the complimented class, but will not contain things that 
are not individuals.

I now think it means the latter, but on first read thought it meant the 
former.  Needs clarifying, or possibly removing.

---------------------------------------

[[
4. Properties

OWL distinguishes between two types of properties.
]]

There are frequent references it he document to built-in properties.  Is 
this a third type of property with specific characteristics?

----------------------------------

4.1

[[
For a property one can define (multiple) rdfs:domain axiom.
]]

typo:                                                ^^^^^^

----------------------------------

4.3

[["functional" >For ...]]

Typo.

----------------------------------

4.3 owlInverseFunctionalProperty

[[
If a property is declared to be inverse-functional, the a range value
]]

Typo: "the a range"

---------------------------------

[[
Symmetric properties should have identical domains and ranges to make sense.
]]

Language?  Suggest:

[[The domain and range of a symmetric property are the same.]]

----------------------------------

owl:AllDifferent

Please clarify the relationship between owl:AllDifferent and owl:oneOf, 
i.e. does owl:oneOf imply that members of the list are distinct?

-----------------------------------

6.1 Datatypes

[[
A typed literal needs to have an XML attribute rdf:datatype ...
]]

Its not the literal that has an XML attribute - that is the way it is 
written in rdf/xml.

[[
In RDF/XML, the type of a literal is specified by an "rdf:datatype" attribute.
]]

Similarly:

[[
When using datatypes, please note that even if the range of a property is 
declared to be of a certain datatype, RDF still requires a rdf:datatype 
attribute in a statement about this property, otherwise it is treated as a 
plain literal.
]]

[[
When using datatypes, please note that even if a property is defined to 
have a range of a certain datatype, RDF/XML still requires that the 
datatype be specified each time the property is used.
]]

-------------------------------------
6.1 Datatypes

[[
A typed literal needs to have an XML attribute rdf:datatype of which the 
value is recommended to be one of the following:
...

* The RDF datatype rdf:XMLLiteral.
]]

The RDF datatype is not the value of the attribute, its the string

       http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral

Suggest:

[[
A typed literal needs to have an XML attribute rdf:datatype of which the 
value is recommended to be one of the following:
...

* The URIREF for the datatype rdf:XMLLiteral
]]

----------------------------------------

[[
* The primitive datatype  xsd:string, plus the following datatypes derived 
from xsd:strong:
]]

Typo: "derived from xsd:strong"

---------------------------------------

7.1 Annotations

Should any of the following also be annotation properties, as they seem to 
have no effect on the semantics:

   o priorVersion
   o backwardCompatibleWith
   o incompatibileWith
   o deprecatedClass
   o deprecatedProperty

------------------------------------------

owl:hasValue is described as taking either an individual or a data value as 
its value.  There is a note OWL Lite does not support hasValue.

Given that OWL DL requires a separation between object properties and data 
valued properties, please confirm that OWL DL supports owl:hasValue.  I 
suggest that since this caused me to pause, that the note be extended to 
specifically state that OWL DL does support it, perhaps because, as a built 
in property, it is exempt from the restriction.

------------------------------

In 3.1.2.2

[[
A restriction containing an owl:minCardinality constraint describes a class 
of all individuals that have at least N distinct range values (individuals 
or data values) for the property concerned, where N is the range value of 
the cardinality constraint.
]]

I presume that this means "semantically distinct" as mentioned elsewhere, 
but since it is specifically called out elsewhere, the omission here 
suggests that syntactic distinction is what is meant here.

-------------------------------

In 3.2

[[
For example, the following class axiom declares the URI reference Human to 
be an OWL class:
]]

Two things wrong with this.  'Human' isn't the URI reference, its 
'#Human'.  But more importantly, '#Human' isn't an owl:Class; it names the 
class.

-------------------------------

in 3.2.2

[[
This denotes indeed the same set of individuals as the previous axiom.
]]

The term denotes is confusing here and its not clear what 'this' refers 
to.  The text is liable to confuse the notion of class and its 
extension.  Suggest:

[[
This axiom defines a class with exactly the same instances as the previous 
axiom.
]]

--------------------------------

4.1

[[
The rdfs:domain restrictions are global, meaning that they cannot be used 
for an individual for which the class is not explicitly included in the 
domain restriction.
]]

Unparsable.  I have no idea what this means so can't suggest an alternative.

------------------------------------

4.2 owl:inverseOf

[[
Syntactically, owl:inverseOf is a property that takes instances of 
owl:ObjectProperty as domain and range values. An axiom of the form P1 
owl:inverseOf P2 asserts that for every pair (x,y) in the property 
extension of P1, there is a pair (y,x) in the class extension of P2, and 
vice versa.
]]

Typo: I think you mean:

[[
for every pair (x,y) in the property extension of P1, there is a pair (y,x) 
in the *property* extension of P2,
]]

---------------------------------

Received on Sunday, 27 April 2003 07:17:45 UTC