Re: OWL Guide 1.0 - Comments, questions, typos

David,

Thanks for the careful reading.  Some comments below on things other than
typos.

- Mike

Michael K. Smith, Ph.D., P.E.
EDS - Austin Innovation Centre
98 San Jacinto, #500
Austin, TX  78701

* phone: +01-512-404-6683
* mailto:michael.smith@eds.com

> 1) The guide contains the definition of the WineYear class:
> ...
> but this class does not appear to be present in the file wine.owl.

"VintageYear" in wine.owl should be "WineYear".  

> 5) Unique naming
> 
> The guide says:
> 
> > In the example above, we asserted identity between two distinct names.
But it is just as possible for this sort of identity to be inferred.
Remember the implications that can be derived from a functional property.
Given that hasMaker is functional, the following is
> >              not necessarily a conflict. 
> > 
> >                  <owl:Thing rdf:about="#BancroftChardonnay">
> >                    <hasMaker rdf:resource="#Bancroft" />
> >                    <hasMaker rdf:resource="#Beringer" />
> >                  </owl:Thing>
¬ 
> > 
> >              It may simply mean that Bancroft = Beringer. 
> 
> Well, does it?  Either it is a conflict, or Bancroft = Beringer, but
> which? If this is an application -dependent choice, are interoperability
> problems likely if systems make different assumptions?

In OWL, it is not a conflict.  Formally, it means Bancroft = Beringer, 
barring a differentIndividualFrom. I was insufficiently clear on the
distinction
here between what is true in the world and what is entailed by the knowledge
base.
Note that this example is not part of the wine ontology (as denoted by the
¬ ).

> I think the point about explosion of properties has been made already -
> with large numbers of distinct individuals, the number of
> differentIndividualFrom properties required to express this becomes very
> large. But presumably one could define a uniqueId property for each such
> individual (inverseFunctionalProperty?) to achieve this?

In OWL Full, you can create unique names for resources by defining a 
DataTypeProperty that is both functional and inverseFunctional.  
That gives you a one-to-one mapping, and then you can infer that resources 
are different because they have different names.  You just need to go 
through a level of indirection.

But the application of InverseFunctionalProperty to a DataTypeProperty 
depends on the use of OWL Full. So the answer depends on what language 
level you have selected.

If you use ObjectProperty, the target is another resource and you are
back where you started.

Received on Monday, 11 November 2002 18:03:41 UTC