- From: Peter F. Patel-Schneider <pfps@research.bell-labs.com>
- Date: Tue, 31 Dec 2002 07:43:46 -0500 (EST)
- To: michael.smith@eds.com
- Cc: www-webont-wg@w3.org
> > Review of Web Ontology Language (OWL) Guide Version 1.0 > > > > NOTE: The example in the Guide does not correspond to the wine.owl file. > > I assume all of the instances you found are listed below. All I found are listed. However, there were too many to expect that I have caught them all. Someone (else) needs to go through yet again to check this. > ---------------------------------------------------------------------------- > > NOTE: With all the changes I am suggesting, another round of reviewing is > > indicated for this document. > > I appreciate the extensive review. Perhaps we can get this to the > point where a discussion at the face to face will be sufficient. Perhaps, but there are quite a number of substantive changes. A complete review of the changed document by someone else is indicated. > ---------------------------------------------------------------------------- > > SUGGESTED ABSTRACT: > > > > <p> > > The Web Ontology Language (OWL) is intended to provide a language that > > can be used to describe the classes and relations between them that > > are inherent in Web documents and applications. > > This document demonstrates the use of OWL to > > formalize a domain by defining classes and properties of those classes, > > define individuals and assert properties about them, and > > reason about these classes and individuals to the degree permitted > > by the formal semantics of the OWL language. > > The document is organized to present an incremental definition of OWL, > > beginning with the fundamentals and proceeding to more complex language > > components. > > </p> > > I was purposely pitching the abstract at a less academic audience. > When they read the first paragraph I wanted to provide some motivation > to read on. Perhaps I should assume that if they are reading the > Guide they are already motivated. I am flexible on this. What do > others think? Abstracts are supposed to meet quite a lot of requirements, the most important of which is conciseness. As I remember it, one of the sub-points of the conciseness requirement is that abstracts are to be one paragraph with no special formatting. > ---------------------------------------------------------------------------- > > NOTE: The document is confusing with respect to ontologies and knowledge > > bases. I have tried to make the situation clearer. > > The process of getting to this state was somewhat tortureous, so I > expect this can be improved. But I don't find most of the changes to > be clearer. In places it is less so. I have tried to make this an > OWL document, with reference to RDF as needed. So multiple occurences > of "non-OWL RDF documents" and "RDF document" seem confusing. Perhaps > they are necessary. I would appreciate some other folks input on > this. > ---------------------------------------------------------------------------- > > CHANGE > > > > OWL is a language for defining <em>Web ontologies</em> and their > > associated knowledge bases. > > > > TO > > > > OWL is a language for defining <em>Web ontologies</em>. > > Is point here is that when we see > > <Winery rdf:ID="ChateauChevalBlanc" /> > > there is no particular requirement that it have a sibling term > in the scope of the <RDF:rdf> tag of the form > > <owl:Ontology rdf:about="foo"> > > That is, there is nothing inherent in the instance data that is > particular to OWL? And of course, even if this file is marked as an > OWL ontology, it can still always be interpreted as RDF? > > But I remain at a loss here. OWL has a syntax that admits assertions > purely about instances. In the sense we have been trying to > distinguish the two, such a file would be considered a knowledge base > as opposed to an ontology. As we have informally tried to distinguish > two fuzzy ends of a spectrum. Ends of a fuzzy spectrum? The point is that this is a Guide. It should not introduce any new terminology. The term ``Knowledge Base'' is a new quasi-technical term introduced in the Guide. Upon further reflection, *all* occurences of the term ``knowledge base'' should be eradicated from the Guide. I believe that the Semantics document did use ``knowledge base'' quite extensively at one time. Currently the only place that it is used is in the abstract, where it is a synonym for ``Ontology''. I'm going to move this synonym mention into the body of the Semantics document (in the interests of Abstract conciseness). By the way, the Reference document should be have the following change An OWL ontology (or knowledge base) is an RDF Graph as defined in RDF Concepts .... I may have already made this suggestion. > ---------------------------------------------------------------------------- > > CHANGE > > > > An OWL ontology may include the following elements. > > </p> > > <ul> > > <li>taxonomic relations between <em>classes</em></li> > > > > <li><em>datatype properties</em>, descriptions of attributes of elements > of classes, </li> > > > > <li><em>object properties</em>, descriptions of relations between elements > of classes, </li> > > </ul> > > and, to a lesser degree, > > <ul> > > <li><em>instances</em> of classes and </li> > > <li><em>instances</em> of properties.</li> > > </ul> > > > > TO > > > > An OWL ontology may include as well > > <em>instances</em> of classes and > > <em>instances</em> of properties. > > </p> > > I think the suggested change is overly terse. The point is that the statement, although it is written ``An OWL ontology may include ...'', looks like it is defining the entirety of things that can be in an OWL ontology. However, the list is both incomplete and misleading. Shortening the exposition to ``In OWL, an ontology is a set of definitions of [should be instead ``information about''] classes and properties, .... An ontology may include as well ....'' makes it both clearer and much more correct. > ---------------------------------------------------------------------------- > > REMOVE > > > > <p> > > Datatype properties and object properties are collectively the > <em>properties</em> of a > > class. > > </p> > > Dependent on the change above. This statement is both wrong and misleading. Classes do not have properties in this sense. Regardless of any other change to the document, this sentence *needs* to be changed. > ---------------------------------------------------------------------------- > > CHANGE > > > > <p> > > A set of OWL assertions loaded into a reasoning system is called a > > <em>knowledge base</em> (KB). These assertions may include facts > > about individuals that are members of classes, as well as various > > <em>derived</em> facts, i.e. facts not literally present in the original > > textual representation of the ontology, but <em>entailed</em> > > (logically implied) by the semantics of OWL. These assertions may be > > based on a single ontology or multiple distributed ontologies that > > have been combined using defined <a href="#import">OWL > > mechanisms</a>. > > </p> > > > > <p> > > > > While ontologies for the most part do not include individuals (as > > distinct from knowledge bases), it is often the case that some > > individuals are needed in an ontology to define certain classes. For > > example, if we consider <i>Wine</i> and <i>Color</i> to be classes, > > and <i>red</i> to be an element of <i>Color</i>, then the class > > <i>Red Wine</i> would require the individual <i>red</i> as part of its > > definition and thus as an element of the ontology. As a result, no > > precise line can be drawn to distinguish when a collection of OWL > > assertions should be labeled an ontology and when it should be called > > a knowledge base. > > > > The <a href="#owl_Ontology"><tt>owl:Ontology</tt></a> tag > > does not necessarily identify a document as > > <i>an ontology</i>. There is nothing preventing > > a document marked as an OWL ontology document from containing > > exclusively individuals. The definition of ontology given above and used > > in this document is not enforced in any way (nor could it be) by the > > syntax of OWL. > > <!-- it is up to human users of OWL to use the tag as intended. --> > > </p> > > > > TO > > > > <p> > > An OWL reasoning system will generally work with more than just a single > > ontology. > > Where the distinction is important, we will call the entirely of the > > information present in an OWL reasoning system a > > <em>knowledge base</em> (KB). > > Such a knowledge base may include information derived from several OWL > > ontologies, perhaps combined using <a href="#import">OWL imports</a> > > directives, or even from non-OWL RDF documents. > > </p> > > I did not think this was the distinction that we were trying to make > between a knowledge base and an ontology. Maybe I have this wrong, > but I thought ontology was to knowledge base as database schema is to > database. Definitions of classes and relations as opposed to > instances. If this is incorrect, then we need a third term. Well, the Guide, as it stands, sure appears to be making this distinction. All I did was to make it clearer. Upon further reflection, I believe that all occurences of ``knowledge base'' should be removed from the Guide. Although there is a need for a term to describe the totality of information in an OWL reasoner, ``knowledge base'' is not appropriate. [...] > ---------------------------------------------------------------------------- > > CHANGE > > > > <li> > > <em>Owl Lite</em> has been defined with the intention of > > satisfying users primarily needing a classification > > hierarchy and simple constraint features. For example, while it > > supports cardinality constraints, it only permits cardinality values > > of 0 or 1. For these reasons, it should be simpler to provide tool > support for > > Owl Lite than its more expressive relatives. > > </li> > > > > TO > > > > <li> > > <em>OWL Lite</em> has been defined to admit simpler tools. > > It does not include all the OWL vocabulary, and places restrictions on > some > > of the OWL vocabularly. > > For example, while it > > supports cardinality constraints, it only permits cardinality values > > of 0 or 1. > > As well, OWL Lite incorporates the restrictions placed on OWL DL. > > </li> > > Is OWL Lite just about simpler tools? I thought we were additionaly > targetting a more basic audience. Maybe not. As disussed several times in WG teleconferences, *the* rationale for OWL Lite is to support simpler tools. The only other design criterion for OWL Lite was that it be a substantial extension to RDFS. > ---------------------------------------------------------------------------- > > CHANGE > > > > <li> > > <em>OWL DL</em> allows the complete OWL vocabulary, interpreted > > under a number of simple constraints. Primary among these is type > > separation. Class identifiers cannot simultaneously be properties > > or individuals. Similarly, properties cannot be individuals. > > OWL DL is so named due to its correspondence with > > <a href="#DescriptionLogics"><em>description logics</em></a>. > > It was designed to support the existing Description Logic > > business segment and has desirable computational properties > > for reasoning systems. > > </li> > > > > TO > > > > <li> > > <em>OWL DL</em> allows the complete OWL vocabulary, but places constraints > > on its use. > > Primary among these is type > > separation. Class identifiers cannot simultaneously be properties > > or individuals. Similarly, properties cannot be individuals. > > OWL DL is so named due to its correspondence with > > <a href="#DescriptionLogics"><em>description logics</em></a>. > > It was designed to have desirable computational properties > > for reasoning systems. > > </li> > > I'm agnostic about the above change re "the existing Description Logic > business segment". However, that was inserted based on a previous WG > suggestion. The change to the first sentence makes it much more correct. I am unhappy in general with wording like ``support the existing ...'' unless there is a direct existing whatever that can be pointed to. > ---------------------------------------------------------------------------- > > NOTE: Somewhere is needed a good comprehensive description of the OWL Lite, > > OWL DL, and OWL Full. > > In what sense? Or rather, how extensive? I hesitated to embark on > this because a good description would include a lot of text describing > all of the things you can do in OWL Full. I think of the Guide as > more of a primer, with useful examples of all of the common things you > might do. Someone will have an opportunity to write the textbook for > each of these, including clever ways to say things that may not be > very obvious. Agreed. The suggestion I made (elsewhere in my message) was to put it in Reference. I think that the description in the Guide is fine for the Guide. > ---------------------------------------------------------------------------- > > CHANGE > > > > <p> > > In this document we present examples using the <a href="#OWLXMLSyntax">OWL > XML syntax</a>, assuming XML will be familiar > > to the largest audience. The standard for interchange of OWL > > assertions between tools depends on <a href="#RDF1">RDF</a> > > triples. Note that OWL has been designed for maximal compatibility > > with RDF and RDF Schema. These XML and RDF formats are part of the > > standard. Other notations have been formulated, in particular a > > <a href="#OWLUMLSyntax">UML</a> version. > > <a href="#AppendixA">Appendix A</a> > > provides links to various primers on related standards. > > </p> > > > > TO > > > > <p> > > In this document we present examples in RDF/XML syntax > > <a href="#???">RDF/XML Syntax Specification (Revised)</a> > > assuming XML will be familiar to the largest audience. > > As OWL is a semantic extension to RDF, only the RDF information in this > > syntax is important - any information not carried through to the > > RDF Graph <a href="#???">RDF Concepts and Abstract Data Model</a> is > > irrelevant. > > </p> > > Glad you brought this up. Let me confirm: should I say explicitly > that the normative OWL XML syntax is RDF/XML? This is a good question. I believe that the normative OWL exchange syntax is defined to be whatever the normative RDF exchange syntax is. In any case, I believe that it is not necessary to state what the normative OWL exchange syntax is here, as this is a Guide. > I would be inclined to > change this to > > In this document we present examples using the > <a href="http://www.w3.org/TR/REC-rdf-syntax/#grammar">RDF/XML syntax</a>, > assuming XML will be familiar > to the largest audience. The standard for interchange of OWL > assertions between tools depends on <a href="#RDF1">RDF</a> > triples. Note that OWL has been designed for maximal compatibility > with RDF and RDF Schema. These XML and RDF formats are part of the > standard. Other OWL notations have been formulated, in particular a > <a href="#OWLUMLSyntax">UML</a> version. <a > href="#AppendixA">Appendix A</a> provides links to various primers on > related standards. The above is not correct. RDF Triples is not an exchange syntax at all. In fact it is not even really a syntax. N-Triples is a non-normative (?) syntax for RDF Graphs that could be used for exchange. OWL (Full) has been designed as a vocabulary extension to RDF, not to be maximally compatible with RDF (which may have been a design goal, however). I suppose that the Guide could mention other OWL syntaxes, but this should not be done unless such syntaxes end up in a WD, which they haven't to date. [...] > [Some changes made]------------------------------------------------- > > CHANGE > > > > <p> > > Before we can use a set of terms, we need a precise indication of what > > specific vocabularies are being used. > > A standard initial component of an ontology includes a set of > > <em>namespace</em> declarations enclosed in an opening <tt>rdf:RDF</tt> > tag. > > > > These provide a means to unambiguously interpret identifiers and make > > the rest of the ontology presentation much more readable. A typical > > OWL ontology begins with a <a href="#XMLNS">namespace declaration</a> > > similar to the following. > > </p> > > > > TO > > > > <p> > > XML namespaces can be used in the RDF/XML syntax. > > Although there is no notion of namespaces in RDF itself, XML namspaces can > > be used to shorten OWL ontologies written in RDF/XML and make them more > > readable. As well, we will often write URI references as if they were > > qualified names, appealing to an intuitive notion of the RDF rules that > > turn qualified names into URI references. > > Thus a typical > > OWL ontology begins with <a href="#XMLNS">namespace declarations</a> > > similar to the following. > > </p> > > This paragraph seems to take us too much into the weeds. Is this > detail needed here? Something is needed here to say why the namespace declarations are included. The current paragraphs are incorrect, however, in that OWL does not use ``vocabularies''. > ---------------------------------------------------------------------------- > > CHANGE [...] > > TO > > > > <pre><rdf:RDF > > xmlns ="#" > > xmlns:vin ="#" > > xmlns:food="food#" [...] > > xmlns:dte ="wine-dt#" > > > </pre> > > > > I was explicitly told in previous WG email that this form is > incorrect. Yes. Yet again, XML lets us down. :-( [...] > > CHANGE > > > > elements > > prefixed with <tt>owl:</tt> should be understood as referring to > > things drawn from the namespace called > > > > TO > > > > names > > prefixed with <tt>owl:</tt> should be understood as referring to > > URI references drawn from > > Don't understand this one. I thought that the OWL classes/properties > are resources. Why do we want to emphasize them as URI references? QNames can be used for more than elements. However, my change is not correct either. How about names prefixed with <tt>owl:</tt> expand to URI references drawn from > ---------------------------------------------------------------------------- > > REMOVE > > > > This is a conventional > > OWL declaration, required to introduce the OWL vocabulary. > > Not true? Or just not necessary? Not true. The declaration is not *required*, as there are lots of other ways to talk about the OWL vocabulary, some of which use different namespace declarations. [...] > ---------------------------------------------------------------------------- > > THE FOLLOWING IS SUSPECT > > > > <p> > > This OWL document is related to a separate document containing XML > > Schema datatype definitions. The final declaration says that elements > > prefixed with <tt>dte:</tt> should be understood as referring to > > things drawn from the namespace called > > <code>http://www.example.org/wine-dt#</code>, which contains > > the datatype definitions for this Guide document. > > </p> > > In the sense that the datatype definitions may not be correct? Or in > the sense that we can't reference these defined datatypes using the > style of reference I used? The latter. The WG officially postponed the use of such datatypes. I would have prefered it that the WG had gone ahead and stuck its neck out here. > ---------------------------------------------------------------------------- > > CHANGE > > > > As an aid to writing down references to lengthy URLs it can often be > > > > TO > > > > As another way of shortening URI references it can often be > > This is not strictly true. Attribute values are not URI references. > I was purposely being fuzzy. But these aren't ``references to [...] URLs''. You need some other way of saying what you want. > ---------------------------------------------------------------------------- > > CHANGE > > > > <pre><!DOCTYPE owl [ > > <!ENTITY vin "http://www.example.org/wine#" > > > <!ENTITY food "http://www.example.org/food#" > ]> > > </pre> > > > > TO > > > > <pre><!DOCTYPE owl [ > > <!ENTITY vin "#" > > > <!ENTITY food "food#" > ]> > > </pre> > > > > Again, this doesn't seem conventional. Who is right? I believe that this is well defined. Of course, it doesn't make much sense without the other change, which is not allowable. Yuck! One approach would be to give up on XML namespace declarations and use entities throughout. This would work, and work well, but it is probably not politically acceptable. :-( > ---------------------------------------------------------------------------- > > CHANGE > > > > <p><a id="owl_Ontology" name="owl_Ontology"></a> > > Once namespaces are established we begin with an assertion that > > what follows <em>is</em> an OWL document. > > </p> > > > > <pre><owl:Ontology rdf:about="http://www.example.org/wine"> > > </pre> > > > > <p> > > This assertion is formulaic. The <tt>about</tt> attribute will > > normally be the URL of the current file, indicating that the subject > > of this assertion is <em>this</em> document. If > > desired, the ontology may be given a name that is a URN and > > independent of a particular physical location. > > </p> > > > > TO > > > > <p><a id="owl_Ontology" name="owl_Ontology"></a> > > The next piece of an OWL document is generally a formulaic statement that > > this is an OWL ontology. > > </p> > > > > <pre><owl:Ontology rdf:about=""> > > </pre> > > > > <p> > > The <tt>about</tt> attribute will > > normally be empty, indicating that the ontology is <em>this</em> document. > > > </p> > > Again, I thought empty was not an option. Empty is an option here. The issue here is that we should be doing everything in our power to reduce the problems that OWL has from its use of triples. One way of doing this is by using rdf:about="" here, as it makes the syntax even more formulaic. > ---------------------------------------------------------------------------- > > NOTE: This use of a URI to refer to a document is suspect. > > Which use? Ontologies. OWL uses URIs to refer to ontologies, which reside in documents, in several places. > ---------------------------------------------------------------------------- > > REMOVE (it was stated above) > > > > <p> > > Note that not every document marked with the <tt>owl:Ontology</tt> > > tag need be <i>an ontology</i> as defined <a > href="#Introduction">above</a>. > > Strictly speaking, the <tt>owl:Ontology</tt> tag simply > > identifies a document as containing OWL syntax, and nothing prevents such > > a document from containing, for example, exclusively individuals. > > However, OWL syntax is not <i>required</i> for defining individuals - > > plain RDF syntax can be used (as shown > > <a href="#DefiningIndividuals">below</a>). > > </p> > > A little redundancy is not a bad thing. I will reread the document as > a whole, something I have not done for a while. Well besides being redundant, this is not even correct. OWL syntax here is RDF syntax for starters. Second, there is no need for an Ontology element in an OWL document. > ---------------------------------------------------------------------------- > > CHANGE > > > > <pre><owl:Ontology rdf:about="http://www.example.org/wine"> > > <rdfs:comment>An example OWL ontology</rdfs:comment> > > > > TO > > > > <pre><rdfs:comment>An example OWL ontology</rdfs:comment> > > A little extra context doesn't hurt. Added '...' after imports. This section of the document has the owl:Ontology stuff in close proximity. I think that having the snippets concatenate into syntactially-correct OWL is a good idea, particularly as the closing tag is included. > ---------------------------------------------------------------------------- > > CHANGE > > > > Importing another ontology brings the entire set of definitions > > > > TO > > > > Importing another ontology brings the entire set of information > > Seems clumsy. Is there another term, say 'set of assertions' ? ``Definitions'' is incorrect. ``Assertions'' could work, but has its own baggage, > ---------------------------------------------------------------------------- > > REMOVE > > It is transitive. If X is a subclass of Y > > and Y a subclass of Z then X is a subclass of Z. > > Why? Unnecessary, particularly here. It interferes with the flow of the example. [...] > > NOTE: The document is too cavalier about which document the various code > > sections come from. This needs to be carefully investigated. I believe that I did not catch all the places where there are similar problems. [...] > ---------------------------------------------------------------------------- > > NOTE: The cardinality restrictions all need to be changed to look like > > <span class="highlight"> <owl:Restriction> > > <owl:onProperty rdf:resource="#madeFromGrape"/> > > <owl:minCardinality > rdf:datatype="&xsd;NonNegativeInteger>1</owl:minCardinality> > > </owl:Restriction> </span> > > An entity for xsd should be added. > > Did this finally get nailed down? Yech. Will change, but not tonight. Yes, the last teleconference approved this. > ---------------------------------------------------------------------------- > > NOTE: wine.owl does not have a locatedIn restriction for wine. > > Does it need it? There is at least one example not marked as not being from wine.owl or food.owl that uses locatedIn. [...] > > NOTE: The example of years after 1700 is suspect. > > Again, is it the schema or the reference to it? The ability to do this is not in OWL. > ---------------------------------------------------------------------------- > > CHANGE > > <h3><a id="hasValue" name="hasValue">hasValue</a> [OWL DL]</h3> > > TO > > <h3><a id="hasValue" name="hasValue">hasValue</a></h3> > > The issues list shows this in OWL DL and Full, not OWL Lite. > > ---------------------------------------------------------------------------- > > NOTE: There are several other headers that say [OWL DL] nowhere is this > > convention described. > > <p> > When we introduce constructs that are only permitted in OWL DL or > OWL Full, they are marked by "[OWL DL]". > </p> I missed the explanation of the tag. I think that each use of the tag should be hyperlinked back to the explanation. I also think that OWL Lite constructs should be tagged as [OWL Lite]. The introduction of the tags needs to be fixed. As it stands, the two tags are introduced in different sections. In fact, the [OWL Full] tag is not used in the document as far as I could see. Also, OWL Full should be changed to OWL DL in the cardinality section. > ---------------------------------------------------------------------------- > > CHANGE > > ontology. This capability must be used with care. It is fairly easy > > to create necessarily empty sets when combining a set of distributed > > definitions. If the combined ontologies are contradictory (all A's > > TO > > ontology. This capability must be used with care. If the combined > > ontologies are contradictory (all A's > > I thought it reasonable to emphasize the extra care that is required > when you import and extend other ontologies. The point is that creating necessarily empty sets is not a well-defined notion. Further, creating incoherent (necessarily empty) classes is not necessarily an error or even a problem at all. > -------------------------------------------------------------------------- > > CHANGE > > Classes constructed using the set operations are > > <em>closed</em>. The members of the class are completely specified by > > the set operation. > > This is an important capability. > > It permits us to state that <tt>WhiteWine</tt> is <em>exactly</em> the > > TO > > This construct permits us to state that <tt>WhiteWine</tt> is > > <em>exactly</em> the > > Agree this could use a change. But are not all of the set operations > similarly closed and shouldn't this be stated? How about > > Classes constructed using the set operations are > <em>closed</em>. The members of the class are completely specified by > the set operation. > The example above states that <tt>WhiteWine</tt> is <em>exactly</em> the The set operations are not ``closed''. The term should not be used here at all. In fact, it should probably be removed from the discussion of oneOf as well. > ---------------------------------------------------------------------------- > > THE HISTORY section is not useful. > > I am agnostic on this. The Guide is very long. This section has no relationship to the rest of the Guide, and thus deserves to go. > ---------------------------------------------------------------------------- > > THE TERMINAL UML note is not useful. > > I am agnostic on this. The question is whether this adds to the utility of the Guide. I vote a very strong NO. peter
Received on Tuesday, 31 December 2002 07:44:13 UTC