Re: [Use Case] ETRI-UC1: Filling the holes of OWL ontology

Thanks for commenting.

I have considered what Jim pointed out, and tried to elaborate the use case.
Unfortunately, I have no idea of how 'uncle' could be defined generally in
OWL, so I tried my version of 'uncle' definition in OWL. I realize that the
following elaboration has many weaknesses. But I hope this helps generate a
valuable discussion. ;-)

--------------<begin>-----------------
When building ontologies using OWL, we usually come up with such relations
or classes that are difficult to represent in OWL, which causes
vocabulary holes in the ontologies. The most representative hole is the set
of relations that are defined by chained properties[1][2]. For example,
with OWL alone, it's not feasible to represent "uncle" relation in a
general way.

One possible way of representing "uncle" is shown below.

ObjectProperty(hasSibling Symmetric)
Class(Man partial Human)
Class(Parent partial
   Human
   restriction(hasChild someValuesFrom(Human)))
Class(Uncle partial
   Man
   restriction(hasSibling someValuesFrom(Human)))

Individual(Sam type(Human))
Individual(Bob type(Parent) value(hasChild Sam) value(hasSibling John))
Individual(John type(Uncle))

With the above axioms, we can discover that John actually can be in Uncle
class as John is a sibling of Bob who has at least one child. But
unfortunately, we cannot derive the fact that "John is an uncle of Sam"!
We have to explicitly specify the relation between the two. The revised
version of the above definition follows.

ObjectProperty(isUncleOf inverseOf(hasUncle))
ObjectProperty(hasSibling Symmetric)
Class(Parent partial
  Human
  restriction(hasChild someValuesFrom(Human)))
Class(Uncle partial
  Human
  restriction(hasSibling someValuesFrom(Human))
  restriction(isUncleOf someValueFrom(Human)))
Individual(Sam type(Human))
Individual(Bob type(Parent) value(hasChild Sam) value(hasSibling John))
Individual(John type(Uncle) value(isUncleOf Sam))

As such, with OWL, we cannot represent 'uncle' relations among individuals
without explicitly specifying each and every of those relations. If you had
N individuals each of which with M uncles, you have to write N*M sentences
to say 'uncle' relations among them. This is infeasible considering that
all the 'uncle' relations can be inferred from other basic relations.

With rules, it's trivial to describe "uncle" relation in a general way,
with which all the 'uncle' relations between relevant individuals can be
inferred. Take the following OWL sentences and a rule for example.

ObjectProperty(hasSibling Symmetric)
Class(Human partial
  restriction(hasSibling allValuesFrom(Human)))
Class(Man partial Human)
Class(Parent partial
  Human
  restriction(hasChild someValuesFrom(Human)))
Individual(Sam type(Human))
Individual(John type(Man))
Individual(Bob type(Human) value(hasChild Sam) value(hasSibling John))

Uncle001: hasUncle(?x,?y) :- hasChild(?z,?x) ^ hasSibling(?z,?y) ^ Man(?y)

Now, you don't have to enumerate any "uncle" relation instances as they are
derived by the added rule. The above rule can be used to infer that "Sam has
an uncle John", which saves many sentences if it were to be described in OWL
only. Moreover, you don't need all the unnatural tweaks that were introduced
into the OWL ontology to express "uncle" relation.

In summary, RIF will be an essential semantic web tool that complements OWL
in representing data semantics in a standardized, interchangeable way.
------------------<end>---------------------

Cheers,
Minsu

On 2005.12.12 2:39 AM, "Jim Hendler" <hendler@cs.umd.edu> wrote:

> 
> At 19:57 +0900 12/11/05, Minsu Jang wrote:
>> This use case is too obvious that it might not be obvious to cast it as a
>> use case, but I'll try.
>> 
>> ** ETRI-UC1: Filling the holes of OWL
>> 
>> When building ontologies using OWL, we usually come up with such relations
>> or classes that are difficult or impossible to express in OWL, which creates
>> vocabulary holes in the ontologies. The most representative hole is the set
>> of relations that can be defined by chained properties[1][2]. For example,
>> with OWL alone, you cannot describe "uncle" relation, which is the
>> composition of "father" and "brother" relation, into the family ontology.
>> With rules, it's trivial to describe the relations defined by chained
>> properties. As such, RIF will be an essential semantic web language that
>> complements and extends OWL.
>> 
>> [1] OWL Web Ontology Language Use Cases and Requirements, W3C Recommendation
>> 10 Feb 2004
>> [2] Benjamin N. Grosof, Ian Horrocks, Raphael Volz, and Stefan Decker.
>> Description logic programs: Combining logic programs with description logic.
>> In Proc. of the Twelfth International World Wide Web Conference (WWW 2003),
>> pages 48-57. ACM, 2003.
>> 
>> Regards,
>> Minsu
>> 
> 
> Actually, let us be clear here - it is easy to come up with a
> definition of uncle in OWL and one can even rule out inconsistent
> cases using a DL reasoner (for example,  I could discover it was
> inconsistent for Bob to be in a "no siblings" class if I knew Bob was
> in the uncle class).  What each of the various approaches can do with
> "uncle" is actually quite complicated, gets into issues of grounded
> literals and other such things (i.e. many rule systems can't find all
> uncles because you may need unsafe reasoning to remain decidable) --
> I don't object to the thrust of the use case about doing things OWL
> cannot, but this canard about "not doing uncle" is a misunderstanding
> of something Ian Horrocks said in some email to the Web Ontology
> Working Group (i.e. it's been taken out of context)  and needs to be
> much more carefully elucidated if you want to use it in a use case...

----------
Minsu Jang
Senior Researcher
Intelligent Robot Research Division
Electronics & Telecommunications Research Institute
Phone: +82-42-860-1250    Fax: +82-42-860-6790
** Bossam Rule Engine: http://mknows.etri.re.kr/bossam/ **

Received on Tuesday, 13 December 2005 01:42:43 UTC