- From: Jim Hendler <hendler@cs.umd.edu>
- Date: Thu, 24 Jan 2002 22:06:07 -0500
- To: webont <www-webont-wg@w3.org>
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