W3C home > Mailing lists > Public > public-swbp-wg@w3.org > January to March 2004

RE: [OPEN] Guideline for when standard definitions are inadequate (was philosophy of SWBPD (was Re: [OPEN] and/or [PORT] : a practical question))

From: Uschold, Michael F <michael.f.uschold@boeing.com>
Date: Mon, 29 Mar 2004 17:29:22 -0800
Message-ID: <823043AB1B52784D97754D186877B6CF034F287E@xch-nw-12.nw.nos.boeing.com>
To: "Jim Hendler" <hendler@cs.umd.edu>, "Jeremy Carroll" <jjc@hplb.hpl.hp.com>
Cc: "Christopher Welty" <welty@us.ibm.com>, "Bernard Vatant" <bernard.vatant@mondeca.com>, "Ian Horrocks" <horrocks@cs.man.ac.uk>, "SWBPD" <public-swbp-wg@w3.org>, <public-swbp-wg-request@w3.org>

A standard definition is one that is widely used and published in some standard, eg: dc:subject 

Let make an analogy with software code. 

"Use standard definitions where possible" translates to: 
If you have specific task to code up, use an existing procedure (say from a library) if you can.

"try to pull out common pieces of both definitions" translates to:

instead of re-inventing the wheel,  find one or more pieces in an existing procedure that does part of the job you want, and then use those and augment it to do the job you want.  There might be sub-procedures that are useful, for example.

Back to ontology engineering... here is a abstract description of what I'm talking about. Suppose two people use the same term foo  to refer to two different, but related things (foo1 and foo2). Suppose that foo1 is characterized using two other things (call them notions) n1 and n2. Suppose that foo2 is characterized using n2 and n3.  The guideline says to tease out the underlying notions, define them explicitly, and define foo1 and foo2 in such a way that there common link to n2 is clear.

Mother might be a good example here, there are lots of kinds of mothers:
* biological
* adopting
* primary one who raised a child
* ...

There are some common notions underlying these that are shared by some but not all of the difnerent 'mother' concepts.

Teacher is another  example. Is a teacher one who is now teaching? is it one who currently is emplyed as a teacher? It is one who has the ability to teach, and has taught before?  Again, there is a core element here common to all, say a binary relation: teaching(?Teacher, ?Taught). This relationship may be used to captuer some of the different notions of teacher. Another core element is a capability. More generally, a role is sometimes taken to be a capability, or a set of capabilities (e.g. a CTO).

a highly ambiguous term like: 'role'. There are many different meanings of this, some are strongly related, some a fairly different.   One possible definition for role is:

Role1: a set of things defined by being in a  relationship with something in a certain way. e.g.  teacher =  {x |  exists x and y and teaching(x,y)}.  In general, a Role1 is a class of objects defined roughly like this: {x | R(x,y)}. What this really is is a class defined by being in a certain place in a relationship.

Role2: Another may have a different notion of role, which is similar, but is restricted such that the relationship, R is one to do with active doing requiring a capability.  E.g R can be "teaching", but not "to-the-left-of". 
e.g.  a agent that is teaching  by virtue of being in the teaching relationship.

The guideline I suggest would result in making the link between the two definitions explicit.  This is a simple case where the latter is subsumed by the former.  Lots of other notions exist about role, these involve capabilities, groups of capabilities, etc. My guideline would result in identifying the common conceptual building blocks that each variation can be expressed in. Think of it as a conceptual common denominator.  I'm not saying it will work in all cases, but it where it can work, the result is more perspecuity and more reusability.

Which natural language you use and where you put it, is outside the scope of the thought I have put into this.

In the case of dc: subject, the appropriate body would be whoever maintains the Dublin Core. You rais a good point about definitions that are built up from multiple standards - these are interesting and challenging cases.

Mike

 -----Original Message-----
From: 	Jim Hendler [mailto:hendler@cs.umd.edu] 
Sent:	Monday, March 29, 2004 3:54 PM
To:	Uschold, Michael F; Jeremy Carroll
Cc:	Christopher Welty; Bernard Vatant; Ian Horrocks; SWBPD; public-swbp-wg-request@w3.org
Subject:	Re: [OPEN]  Guideline for when standard definitions are inadequate (was philosophy of SWBPD (was Re: [OPEN] and/or [PORT] : a  practical  question))

At 14:45 -0800 3/29/04, Uschold, Michael F wrote:

>Try to use standard definitions where possible, if not, then try to 
>pull out common pieces of both definitions, and make the 
>relationship between them explicit. If that is not possible, then in 
>clear natural language, articulate how the new definition relates to 
>the standard one, as well as why the standard one was inadequate to 
>your purposes.  If you think that there are serious problems with 
>the standard one that warrants being upgraded, then make those 
>recommendations to the appropriate body.
>

I would vote against the publication of any document with those words 
in them, and it is so different from my world view that I'm not even 
sure how to propose rewriting it.  Instead, here's a few questions:

1 - what is a "standard definition"?
2 - What is a "common piece" of "both" definitions (what if I have 10 
of them - in the Air Force Ed Feigenbaum found 14 representations for 
"tail number" - the single thing everyone in the AF agrees that a 
plane has - and everyone of them was in some military standard system)
3 - Which natural language should I use?  Where should I put this - 
in the ontology document itself or on a separate page or why.
4 - What is the appropriate body?  I may have the following 
definition on my RDF home page:
   :felineLuekemia a nci:cancer;
       rdfs:subclassOf
         owl:restriction [
            owl:onproperty nci:organism;
            owl:AllValuesFrom OpenCyc:Cat]
Who do you wish to complain to?  Me? NCI,? Cycorp?  the inventor of 
OWL? the inventor of the Web?  All of them would seem to be the 
appropriate bodies depending on what exactly it was you could not use 
in this definition for you application.

Again, I wish to make it clear -- we're in a new game, with new 
rules, and we haven't had a whole lot of experience, but what 
experience we've had fielding RDF and RDFS applications, as well as 
DAML+OIL and proto-OWL ones, sure makes it clear that some of the old 
issues would be a lot easier if this Semantic Web thing never reared 
its ugly head...



-- 
Professor James Hendler			  http://www.cs.umd.edu/users/hendler
Director, Semantic Web and Agent Technologies	  301-405-2696
Maryland Information and Network Dynamics Lab.	  301-405-6707 (Fax)
Univ of Maryland, College Park, MD 20742	  240-277-3388 (Cell)
Received on Monday, 29 March 2004 20:36:45 EST

This archive was generated by hypermail pre-2.1.9 : Monday, 29 March 2004 20:36:56 EST