W3C home > Mailing lists > Public > www-webont-wg@w3.org > January 2003

RE: Review of Guide

From: Smith, Michael K <michael.smith@eds.com>
Date: Fri, 3 Jan 2003 17:32:44 -0600
Message-ID: <B8E84F4D9F65D411803500508BE3221412CE49BE@USPLM207>
To: Jeff Heflin <heflin@cse.lehigh.edu>, WebOnt <www-webont-wg@w3.org>

Thanks Jeff.  Reaction to comments below.  Most incorporated.

- Mike

> From: Jeff Heflin [heflin@cse.lehigh.edu]
> Sent: Thursday, January 02, 2003 3:21 PM
> To: WebOnt
> Subject: Review of Guide
> Major comments:

> - The sections should be numbered. It will make it easier for people to
> reference parts of the document, particulary when commenting on it.

> - You need a section called "Using Ontologies to Describe Data" (perhaps
> between Complex Property Axioms and Usage Examples). This section should
> point out that once an ontology is developed, you will want to describe
> data with it. It can mostly point back to the defining individuals and
> properties of individuals sections, but should have additional material
> on how ordinary documents (those without an owl:Ontology) tag import
> ontologies. i.e.:
> <rdf:Description rdf:about="">
>     <owl:imports rdf:resource="someURI">
> </rd:Description>

Will think about it.

> - Introduction, para. 7: Suggested rewording for last three sentences:
> The owl:Ontology tag indicates that an OWL document is intended to be
> used as an ontology. However, the use of this tag does not mean that the
> document has to contain classes or property definitions. Furthermore,
> class and property definitions may appear in documents that do not have
> the owl:Ontology tag.

> - The Structure of Ontologies, para. 1, "New information cannot negate
> previous information." This is false. New information CAN negate
> previous information, it would just be contradictory. New information
> cannot retract previous information.

> - Ontology headers, para. 3, "... the owl:Ontology tag simply identifies
> a document as containing OWL syntax.":  I disagree! In order to
> determine if a document contains OWL syntax, find out if it uses names
> from the OWL namespace. The owl:Ontology tag makes an assertion that the
> current document is an ontology. Now, this "ontology" may or may not
> have classes and properties, and may just consist of instances, but the
> author is stating that they think there is vocabulary worth reusing
> here.

You are right.  This is funny. But an owl document does not have to use 
names from the OWL namespace.  I think of owl:Ontology as a statement
of intent.  Perhaps  "... the owl:Ontology tag simply identifies
a document as an OWL document."  ?

> - Ontology headers, para. 7: owl:backCompatibleWith =>
> owl:backwardCompatibleWIth

> - Ontology headers, para. 6-8: The various ontology versioning stuff
> would be better in a separate section. First, owl:DeprecatedClass and
> owl:DeprectaedProperty do not go in the header. 

Actually, they are outside the header.  Maybe I added the closing
ontology tag post 12/18.

> Second, this is really
> advanced stuff that most people writing their first ontology won't need
> (if it's your first ontology, there shouldn't be a prior version!). I
> suggest you move this to a section titled "Ontology versioning" which
> would be between "Complex Classes" and "Usage Examples." You should be
> able to get some supporting text from Sect. 3.2 of the Requirements
> Document. I'd also be happy to contribute something if you need me to.

You are right.  I will try to get to that.

> - Ontology headers, para. 10, "Importing another ontology...": Add at
> end of paragraph "Note that the definition of a name can be distributed
> across many ontologies, some of which you may not agree with. With
> owl:imports you can select the ontologies whose definitions are
> appropriate for your context."

Will think about it.  Seems implicit.


> - Simple Properties - Defining Properties, para. 3: Explain in words
> what a
> domain and range are. 

Implicit in following paragraph.

> Point out that because the Web is an open world,
> these are not used to check data, but instead to infer things. For
> example, if I have W as the subject of a "made-from-grape" predicate but
> do not state that W is a Wine, this is not an error, but instead leads
> to the inference that W must be a Wine. It is only an "error" if this
> inference leads to a logical contradiction. Also mention that multiple
> domains or ranges mean the domain or the range is the intersection of
> all such classes.

> - hasValue, "... an individual will be a member of such a class whenever
> at least one of its property values is equal to the hasValue resource":
> This is confusing. First, it is not clear that "such a class" means the
> anonymous class in the restrciton and not the class that the restriction
> is applied to. It may be useful to add a clarification (perhaps at the
> beginning of Property Restrictions, since it applies to all) that says
> "A Restriction is used in combination with subClassOf or sameClassAs.
> When used with subClassOf it says that restriction provides a necessary
> but not sufficient condition but class membership. When used with
> sameClassAs, then it provides both necessary and sufficient conditions.

Added forward ref in restriction section to sameClassAs.

> - sameClassAs, samePropertyAs: It is essential that we point out that
> sameClassAs and samePropertyAs do not mean that two classes or
> properties are identical. It only means that they have the same members
> (or subject/object pairs). Nothing is said about any properties of the
> Class or Property itself. In order to say that the classes are
> identical, we would have to use sameInstanceAs or sameAs.

> Minor comments:

---[Deleted ref to other
> - Structure of Document, para 2: "Other notations ... in particular a
> UML version" => "Other notations ... in particular a (non-RDF) XML
> Presentation Syntax and a UML version."

> - Namespaces, para. 2, "The default namespace ... unprefixed elements
> and empty URI references refer to the current ontology": I don't believe
> that namespaces say anything about empty URI references. XML says they
> are relative to the current document.

In XML they do.  If my namespace declarations include 


Then <Wine> expands to <http://www.example.org/wine#wine>.

> - Ontology headers, para. 2: Add that if a URN is used to identify an
> ontology some name resolution would be needed in order to locate and
> access the ontology.

Implicit in URN use.

> - Ontology headers, syntax example: This would be a good place to also
> include: 
> <rdfs:Label>Wine Ontology</rdfs:Label>
> Since most ontologies will copy the patterns we use, we should get
> people in the habit of providing natural language titles for the
> ontologies. These will be useful in displaying human-readable ontology
> lists in both authoring tools and ontology catalogs.

> - Ontology headers, para. 5, "<rdfs:comment> provides the obvious needed
> capability to annotate an ontology": obvious => obviously

Adj vs adv.  obvious, needed vs obvious needed.


> - Defining Simple Hierarchical Named Classes, para. 5,
> "documentURI#Region" : Use the actual URI for the document here (to be
> consistent with the use of Region as opposed to a variable).


> - Defining Simple Hierarchical Named Classes, para "The fundamental
> taxonomic constructor for classes is subClassOf...":  Describe the other
> important property of subclassOf. Namely, add at end of para. "An
> instance of a class C is also an instance of every class that C is a
> subclassOf." 

> - Design for Use, bullets: The "levels of representation" and "subclass
> vs. instance" descriptions seem are confusing.

Will reread
> - Simple Properties - Defining Properties: "Defining properties" =>
> "Defining Properties" (use initial caps in heading)

> - Simple Properties - Defining Properties, "... two types of properties
> are distinguished": Remove commas after each item in bulleted list

> - Simple Properties - Defining Properties, para. 3: Say what
> "subPropertyOf" means generically. e.g. add "If X has property A with
> value Y, and A is a subPropertyOf B, the X als has property B with value
> Y."

> - Simple Properties - Defining Properties, para "Notice how the domain
> and range... And the transitive composition of the relation": Provide a
> forward pointer to TransitiveProperty when mentioning the transitive
> composition

> - Simple Properties - Defining Properties, "We can now define the class
> of Vintages, discussed previously." Perhaps not put the s in Vintage in
> teletype.

> - Simple Properties - Defining Properties:. 
> <owl:Class rdf:ID="Vintage"> 
>   <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> 
>   <rdfs:subClassOf>
>     <owl:Restriction> 
>       <owl:onProperty rdf:resource="#vintageOf"/>
>       <owl:minCardinality>1</owl:minCardinality>
>     </owl:Restriction>
>   </rdfs:subClassOf>
> </Class>
> </Class> => </owl:Class>

> - Properties and Datatypes
> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
>        xmlns="http://www.example.org/wine-dt.xsd">
>   <xsd:simpleType name="year"> 
>     <!-- year is an XMLS datatype based on integer --> 
>     <xsd:restriction base="xsd:integer"/> 
>   </xsd:simpleType>
>   <xsd:simpleType name="wineYear"> 
>     <!-- wineYear is an XMLS datatype based on year --> 
>     <!-- with the added restriction that values must be GEQ 1700 --> 
>     <xsd:restriction base="year"> 
>     <xsd:minInclusive value="1700"/>
>   </xsd:restriction> 
>   </xsd:simpleType>
> </xsd:schema>
> Indent is incorrect with the </xsd:restriction> part.

Going to undergo radical change anyway.

> - SymmetricProperty, "The property adjacentRegion is symmetric, while
> locatedIn is not. (To be more  precise, locatedIn is not intended to be
> symmetric. Nothing in the wine ontology at presetn prevents it from
> being symmetric.)": at presetn => at present

> - Functional Property: Functional Property => FunctionalProperty
> - Functional Property: mention that FunctionalProperty is equivalent to
> maxCardinality = 1 when used a restriction on owl:Thing


> - InverseFunctionalProperty, "In OWL Full, we can use tag a
> DatatypeProperty as inverseFunctional.": use tag a => tag a 

> - allValuesFrom, someValuesFrom, para. 2: Add a generic description of
> allValuesFrom, e.g.: "owl:allValuesFrom means that every value of the
> specified property must be an instance of the specified class
> restriction."

> - Cardinality, para. 2, "We defined hasVintageYear to be a functional
> property.": Change rest of paragraph to: "Note that this is the same as
> saying that every Vintage has at most one WineYear. When we use
> owl:cardinality equal to 1, then we assert something stronger, that
> every Vintage has exactly one WineYear."

> - Cardinality, last para: Mention that minCardinality is used to specify
> a lower bound.

> - hasValue, last para.: The first two sentences also apply to every
> property restriction, and should be moved earlier in the Property
> Restrictions section.

> - sameClassAs, samePropertyAs, "Of course the example above is somewhat
> contrived, since we can always use &vin;Wine anywhere we would #Wine and
> get the same effect without redefinition. A more likely use would be in
> a case were we ...": we would #Wine => we would use #Wine; in a case
> were => in a case where

> - differentFrom:
> <WineSugar rdf:ID="Sweet">  
>   <owl:differentFrom rdf:about="#Dry"/>  
> </WineSugar>
> rdf:about => rdf:resource 
> (can't use rdf:about as an attribute of a property)

> - Complex classes, para 1: "These are denoted unionOf, intersectionOf
> and complementOf" => "These are denoted intersectionOf, unionOf and
> complementOf" to make it fit right with regards to respectively.

> - Disjoint Classes, "A common requirement is to define as a class as the
> union of a set of mutually disjoint subclasses.": define as a class as
> => define a class as

> - References: (note some changes are indicated parenthetically inline
> with  =>)
> Wine Ontology Tutorial 
> Ontology Development 101: A Guide to Creating Your First Ontology (=> .) 
> Natalya Fridman Noy and Deborah L. McGuinness. Stanford Knowledge
> Systems 
> Laboratory Technical Report KSL-01-05 and Stanford Medical Informatics 
> Technical Report SMI-2001-0880, March 2001. 
> Wine Ontology in CLASSIC 
> Living with CLASSIC: When and How to Use a KL-ONE-Like Language , (, =>
> .) 
> Ronald J. Brachman, Deborah L. McGuinness , Peter F. Patel-Schneider ,
> Lori 
> Alperin Resnick , and Alex Borgida. in John Sowa, ed., Principles of
> Semantic 
> Networks: Explorations in the representation of knowledge,
> Morgan-Kaufmann: 
> San Mateo, California, 1991, pages 401--456. 
>  => insert a line here
> VerticalNet 
> Industrial Strength Ontology Management . Aseem Das, Wei Wu, and Deborah
> L. 
> McGuinness. Stanford Knowledge Systems Laboratory Technical Report
> KSL-01-09 
> 2001. In the Proceedings of the International Semantic Web Working
> Symposium. 
> Stanford, CA, July 2001
> OKBC: A programmatic foundation for knowledge base interoperability, V.
> K. 
> Chaudhri, A. Farquhar, R. Fikes, P. D. Karp, and J. P. Rice. In
> Proceedings of 
> the 15th National Conference on Artificial Intelligence (AAAI-98), pages
> 600?
> 607. AAAI Press,1998. 
> 600?607 => 600-607

> - Appendix B: History: Don't list both DAML and DAML-ONT, choose one or
> the other

> - Appendix B: History, "MNF- Meta Content Framework": MNF => MCF

> - Appendix C: An Alternate Region Ontology, "vineyards are located in
> towns: Chateau Margaux us a vineyard in Margaux, Avignonesi in
> Montepulciano": us => is

> - Appendix C: An Alternate Region Ontology, "This simplifies the model
> and is consistent with the fact that a "town" as a wine production area
> typically stands for an area  surrounding the town, which can be larger
> or smaller that the actual town area": larger or smaller that => larger
> or smaller than

> - Appendix C: An Alternate Region Ontology:
> Classes:
> <owl:Class rdf:ID="&vin;ProductionArea"/ >
> <owl:Class rdf:ID="&vin;Country:">   
>     <rdfs:subClassOf rdf:resource="&vin;ProductionArea"/>
> </owl:Class> 
> <owl:Class rdf:ID="&vin;Region:"> 
>     <rdfs:subClassOf rdf:resource="&vin;ProductionArea"/> 
> </owl:Class> 
> <owl:Class rdf:ID="&vin;Vineyard:"> 
>     <rdfs:subClassOf rdf:resource="&vin;ProductionArea"/> 
> </owl:Class>
> Country: => Country
> Region: => Region
> Vineyard: => Vineyard

> - Appendix C: An Alternate Region Ontology:
> Properties:
> ...
> <owl:ObjectProperty rdf:ID="&vin;hasVineyard">   
>     <rdfs:subPropertyOf rdf:resource="&vin;hasSubArea"/> 
>     <owl:allValuesFrom rdf:resource="&vin;Vinyard"/>
> </owl:ObjectProperty>
> ...
> Vinyard => Vineyard

> From: Jeff Heflin [heflin@cse.lehigh.edu]
> Sent: Thursday, January 02, 2003 4:31 PM
> To: WebOnt
> Subject: Re: Review of Guide

> One more thing: I really like the Term Index and Cross Reference, but it
> looks kinds of silly and useless to someone who has printed out the
> document. I'd like to make it more useful in print form. Ideally, if
> every document had numbered sections, we could give the appropriate
> section number for each document (instead of just repeating the name of
> the element). Then people who only had hard copies could look things up
> almost as easily as those people who were online.
> Jeff
Received on Friday, 3 January 2003 18:32:51 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:56:50 UTC