- From: Guus Schreiber <schreiber@cs.vu.nl>
- Date: Thu, 19 Jun 2003 16:13:40 +0200
- To: WebOnt WG <www-webont-wg@w3.org>
Brian McBride wrote: http://lists.w3.org/Archives/Public/public-webont-comments/2003May/0054.html > 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. > > Brian Brian, Thanks very much for these helpful comments. Unless indicated otherwise below we have made the changes you suggested. You can check the changes in the editor's draft of this document [1]. Guus Schreiber > ----------------------- > > 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. > ]] > Following a LC comment the WG has decided to include owl:Nothing in OWL Lite, so this note has been removed in the editor's draft. > ------------------------------- > > 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"/> > </... > </... > Suggest a little clarification. In section 3.1 we discuss the class description "enumeration", which do not include a class name. The class-axiom format you mention is discussed in Sec. 3.2.3, [[ <owl:Class rdf:ID="DaPonteOperaOfMozart"> <owl:oneOf rdf:parseType="Collection"> <owl:Thing rdf:about="#Nozze_di_Figaro"/> <owl:Thing rdf:about="#Don_Giovanni"/> <owl:Thing rdf:about="#Cosi_fan_tutte"/> </owl:oneOf> </owl:Class> This class axiom should be interpreted as follows: the class extension of the class DaPonteOperaOfMozart is exactly defined by the enumeration. This class axiom is semantically equivalent to the first example in the previous section, which included an additional owl:equivalentClass statement. ]] In Sec. 3.2 on owl:equivalentClass the document states: [[ It is possible to have multiple equivalentClass axioms about the same class. However, this requires care. Both axioms must lead to the same outcome, i.e. exactly the same class extension. ]] which we suggest answers your question: in your example the two class axioms for class "c" must lead to he same class extension. This would, for example be the case if: a1 sameAs b1 a2 sameAs b2 b2 sameAs b3 This issue of individual identity in relation to enumerations is discussed in a note after an example about an intersection of enumerations in Sec. 3.1.3.1: [[ NOTE: This assumes that the three individuals are all different. In fact, this is not by definition true in OWL. Different URI references may refer to the same individuals, because OWL does not have a "unique names" assumption. In Sec. 6 "Individuals" one can find OWL language constructs for making constraints about equality and difference of individual ]] We propose to leave the text as it is. > ---------------------------- > > owlref-bwm-inconsistency > > There is no discussion of inconsistency. This is an omission from the > document that should be fixed. > Consistency is discussed in detail in the S&AS document. We suggest to add a sentence at the end of the 3rd paragraph of Sec. 1.1, making this clear: [[ Notions such as consistency of OWL ontologies are discussed in that document. </p> ]] and also suggest to add a parenthetical remark in the 4th paragraph of the same section that the test document contains consistency tests: [[ Test cases for OWL tools (<em>e.g.</em>, entailment tests, consistency tests) .... ]] > ---------------------------- > > 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. Changed to: [[ <code>owl:complementOf</code> is analogous to logical negation: the class extension consists of those individuals that are NOT members of the class extension of the complement class. </p> ]] > --------------------------------------- > > [[ > 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? > With properties we mean here the properties defined with the help of OWL, not the built-in ones. Suggest the following revised text: [[ OWL distinguishes between two main categories of properties that an ontology builder may want to define: * Object properties link individuals to individuals. * Datatype properties link individuals to data values. NOTE: OWL also has the notion of annotation properties (owl:AnnotationProperty) and ontology properties (owl:OntologyProperty). These are needed in OWL DL for semantic reasons. See Sec. 7 and the OWL Semantics and Abstract Syntax document [OWL S&AS]. ]] > ---------------------------------- > > 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? > See the suggested change to oneOf earlier. > > 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 These three are defined as instances owl:OntologyProperty. This construct is similar to owl:AnnotationProperty, but all have owl:ontology as their domain and range. In the editor's draft [1] added a number of notes about ontologies to explain this in a better way,e.g. at the start of Sec. 7: [[ NOTE: The ontology-import construct owl:imports and the ontology-versioning constructs owl:priorVersion, owl:backwardCompatibleWith and owl:inCompatibleWith are defined in the OWL vocabulary as instances of the OWL built-in class owl:OntologyProperty. Instances of owl:ontologyproperty must have the class owl:ontology as their domain and range. It is permitted to define other instances of owl:OntologyProperty. ]] > o deprecatedClass > o deprecatedProperty > > Suggest the description of what makes something an annotation property and > what the effect of being an annotation property should be clearer. owl:DeprecatedClass and owl:DeprecatedProperty are classes, e.g. see Appendix B of Reference [[ <rdfs:Class rdf:ID="DeprecatedClass"> <rdfs:label>DeprecatedClass</rdfs:label> <rdfs:subClassOf rdf:resource="&rdfs;Class"/> </rdfs:Class> <rdfs:Class rdf:ID="DeprecatedProperty"> <rdfs:label>DeprecatedProperty</rdfs:label> <rdfs:subClassOf rdf:resource="&rdf;Property"/> </rdfs:Class> ]] > ------------------------------------------ > > 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 Sec. 1.2 of the document it says: [[ OWL Full and OWL DL support the same set of OWL language constructs. Their difference lies in restrictions on the use of some of those features and on the use of RDF features. ]] Therefore, all notes about DL in the document are about these restrictions, and never include statements like "this language construct is in DL". We suggest to leave it as it is. > ------------------------------ > > 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. Removed. > ------------------------------------ > > 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, > ]] > [1] http://www.daml.org/2002/06/webont/owl-ref-proposed -- Free University Amsterdam, Computer Science De Boelelaan 1081a, 1081 HV Amsterdam, The Netherlands Tel: +31 20 444 7739/7718 E-mail: schreiber@cs.vu.nl Home page: http://www.cs.vu.nl/~guus/
Received on Thursday, 19 June 2003 10:13:41 UTC