CHAIR-NOTE: Defaults and etc.

WOWGers-
  In some offline converse with a number of you and with the 
"management" of W3C, I've begun to realize that we are arguing a 
number of important issues -- but they may be the wrong ones for the 
WG in some ways.  Let me take an example, where I expressed strong 
opinions of my own, but now realize what was wrong in my thinking - 
while I will use this example (since I only have to bash on myself), 
I'd like you all to think about your own opinions and requirements in 
this light.
  I apologize for the length of this message, but please try to read 
it as I think it is very important to the success of our group (not 
the specific example - the point that example makes)  -- if you don't 
have time to read it all, please read the next paragraph and then 
jump to the section at the end that starts with *** and read that.


  Here's some key points we all need to keep in mind:
    1) We are designing a language.  How that language is processed is 
up to the developers.  If we put something in our semantics, then it 
is considered the MINIMUM a developer should implement to have an OWL 
processor - they can do more if they want, and further we should NOT 
force them into anything we're not sure about!
    2) People can use our language and process it however they want, 
so if we make something a REQUIREMENT it also means "we expect 
everyone who uses the language to do this in a particular way.  We 
should NOT do this unless we have to (i.e. less is better)
    3) Our goal is to reach consensus - not to argue issues or "win" 
battles.  If something requires research to solve, it is out of our 
charter to require as a minimum.
    4) There is no expectation on us to be "perfect" or complete.  For 
example, if we decide to do something that we know has problems in 
the long run, but we don't know what else to do - we simply state 
that and move on.


Let me show you this w/respect to the defaults debate that I am one 
of the guilty parties on.
  I absolutely agree with Guus that our own Use cases demand some sort 
of ability to handle defaults.  But it was pointed out to me I can do 
this easily in DAML+OIL.  All I do is to create a property called 
something like "DefaultValue" and use it in some consistent way -- 
for example:

:mammal a owl:class;
    :birthmethod
       [def:DefaultValue :LiveBear].

:platypus a :mammal;
   :birthmethod :EggLaying.

:cow a :mammal;

  That is what I do at the LANGUAGE level.

Now what does that mean?

This means any user who reads this is entitled to conclude all and 
only those facts above and entailed by them.  This (according to D+O 
semantics) means
it would be legitimate to conclude

  :platypus :birthmethod :EggLaying.
  :platypus :birthmethod [def:DefaultValue :LiveBear].
  :cow :birthmethod [def:DefaultValue :LiveBear].

and if you want to claim to be an OWL reasoner, you should be able to 
conclude those things.

However, I being a smart fellow who wants to make more money than the 
people who don't have defaults, add some code to MY OWL processor 
that contains a statement that if something has two values for a 
property, and if one of them is an anonymous node which contain 
"def:DefaultValue" then I should return, if queried,  only the 
non-anonymous one, otherwise take the value of the anonymous one. 
Thus, my system if queried for
  ?X :birthmethod ?Y
will return the following
  ((?X :cow)(?Y : livebearing)
   (?X :platypus)(?Y :EggLaying))
[Note that it still knows the other facts stated above, it simply 
doesn't return them for this query]


I believe this would make my system better, so I would use this 
property, and I would encourage others to.  However, no one would be 
FORCED to use this and make these entailments (which they would if we 
made defaultvalue a specific language feature)
  So, now let's look at the 4 things above:

1) I am free to add to the langyage and did so with defaults.
2) DefaultValue was NOT a requirement of the language
3) Those who don't like default reasoning are happy, they are not 
forced to do messy non-logical things.   I have a mechanism that 
works just fine for my applications, and I can even team up w/Guus 
and others to get more people to agree to a "standard" way to do this 
-- so consensus is maintained
4) All of us are free to continue research into the best way to do 
defaults on the web, and if something that is more powerful and 
everyone likes can be arranged, then we are able to come back to W3C 
when we do WebOnt 2.0 and add it at that point.

Further, if a sizable minority of us like a particular solution we 
can put it on a FAQ page or the like (i.e. "Why doesn't OWL have 
defaults?"  -- Consensus could not be reached on how best to provide 
defaults in a manner consistent with the OWL semantics.  However, we 
suggest that def:DefaultValue be used as follows ... ")


*** To summarize - our mission is to reach consensus on the MINIMUM 
langauge we feel comfortable "forcing" everyone to use.  If some 
solution requires more study, we kludge it and go on.   In short, if 
you are fighting for a langauge feature to be a requirement, you 
should not think of it as one YOU cannot live without, you should 
think of it as one which NO ONE can live without -- it is a different 
mindset, but important.

  So, given this - I think we should be very careful with respect to 
what we decide to do with regard to
  1) Layering
  2) Defaults
  3) Procedural Attachments
and a number of other things we think are desirable, but don't 
necessarily have consensus on.  If we cannot reach consensus 
reasonably soon, my decision will be forced to be that we go with 
what DAML+OIL does (mandated by our charter) and move on.  If that 
means we are semantically "bad" - so be it, our successors will 
research this issue and fix it!

Remember your goal is CONSENSUS, not winning every battle.
  -JH
p.s. Yes, I realize that if taken to extreme it means we don't need 
to do anything and leave the world as it is -- obviously, we have to 
make some decisions, which is what makes this such fun!




-- 
Professor James Hendler				  hendler@cs.umd.edu
Director, Semantic Web and Agent Technologies	  301-405-2696
Maryland Information and Network Dynamics Lab.	  301-405-6707 (Fax)
AV Williams Building, Univ of Maryland		  College Park, MD 20742
http://www.cs.umd.edu/users/hendler

Received on Thursday, 24 January 2002 22:06:21 UTC