- From: Natasha Noy <noy@SMI.Stanford.EDU>
- Date: Wed, 19 May 2004 19:18:10 -0700
- To: Alan Rector <rector@cs.man.ac.uk>
- Cc: best-practice <public-swbp-wg@w3.org>
[OEP task force name added to the subject] Alan, I have to qualify the rest of the comments with a disclaimer, that unlike for Alan, my preference lies with the second approach. That said, the note is so well done that Alan almost managed to convince me that the two approaches are equally good and I can easily see why (the issue of reasoners aside) the first approach can be preferable in some cases I really like the note -- it outlines the choices clearly and gives a good explanation of what each choice entails. I do have a few comments (of course! :) I think the choice of height as an example is somewhat unfortunate: many readers would have in their mind that height is a quantity rather than a qualitative value and this may muddy the example for them somewhat (in particular for has_height property). I am not advocating changing the example, since it's a considerable hassle but thought I'd throw it out anyway. (Perhaps, something like personality -- introvert vs extrovert -- would have been a slightly better example.) At the very least, in the first paragraph for Approach 1, you may want to point out that there may also be a numeric property for height and that there is no relation between the two. You may want to give a more detailed explanation of why approach 1 can be used for multiple partitioning and approach 2 cannot (a very important point). I had to spend some time to convince myself that this is the case and in fact I am not sure yet I am convinced. Perhaps an example of how you would do it in 1 and some explanation of why the same trick won't work for 2 would be sufficient. In considerations for approach 1, I wasn't sure what second bullet meant. To me having to create an instance of johns_height would -- an extra level of abstraction that you don't have in approach 2 -- is at least a consideration (that makes 1 slightly more complicated) In the OWL code for approach 2, you may want to put a comment next to the first "owl:differentFrom" statement that that's where you make all the instances different and without this statement, reasoning won't give the results expected. In considerations for approach 2, I would be a bit more clear on bullet 2 (really, the crucial one), Indeed, DL reasoners today cannot reason with individuals, but the correct expected reasoning is well within semantics that DL reasoners should be able to do. This is different from some other things in OWL DL (notably annotation properties, or approach 3 in "classes as values") where while we are still within OWL Dl, the reasoning that we might want to have is not really "DL reasoning" and we can't expect even future more complete DL reasoners to do that. So, the bullet may something like: - Although the representation is in OWL DL and a DL reasoner can be expected to make correct inferences with individuals defined in this way, neither FaCT nor Racer (essentially the only two OWL DL reasoners that exist today) can do that inference now. Bullet 2 in semantic/ontological issues has an incomplete sentence. Natasha
Received on Wednesday, 19 May 2004 22:31:34 UTC