- From: Benjamin Nowack <office@e-senses.de>
- Date: Wed, 10 Sep 2003 20:50:04 +0200
- To: Morten Christensen <mortench2003@yahoo.dk>
- Cc: www-rdf-interest@w3.org
Morten Christensen (mortench2003@yahoo.dk) schrieb am 10.09.2003: > <CabernetSauvignonGrape > rdf:ID="SomeSpecificArticleAboutCabernetSauvignonGrape" /> >This change facilities use of commonly available OWL Lite >reasoners to answer all relevant classification questions, >including “which articles exists that is about WineGrape ?” >(answer: SomeSpecificArticleAboutCabernetSauvignonGrape). hmm. wouldn't the only question you can ask a reasoner be: "which articles exist that ARE_A WineGrape?"? In order to be able to ask "is_about" you would need an ObjectProperty beforehand to relate two things plus a class definition for "Article". but i guess, that is just what you are saying: people may not use predicates but subclass-axioms to relate things, leading to something like: - Grape - WineGrape - CabernetSauvignonGrape - RestaurantsThatServeCabernetSauvignon To be honest, this is such an obvious misuse of not only subClassOf but of the whole OWL language that I don't think that modelers will really go that way. And it will be hard to use a "commonly available" OWL editor as well: imagine you want to add separate class for books and websites (e.g. in order to automatically generate a link to amazon or a link to the website, depending on the type of the information object). Where do you add these classes in your taxonomy?: - Grape - WineGrape - CabernetSauvignonGrape - RestaurantThatServesCabernetSauvignon - Book - Website this would mean, that any book IS_A Restaurant (or "is_about" a Restaurant using your semantics). o.k. wrong, let's put it higher, directly into Grape. - Grape - Book - Website - WineGrape - CabernetSauvignonGrape - RestaurantThatServesCabernetSauvignon now our owl editor will not let us add a book to the Restaurant "classification" because "Book" is not a subClassOf "RestaurantThatServesCabernetSauvignon". Sure, we did not think enough. Any individual we add will be an information object. we have to set "Book" as root node. and "Website" as well: - InfoObject - Book - Grape - WineGrape - CabernetSauvignonGrape - RestaurantThatServesCabernetSauvignon - Website - Grape - WineGrape - CabernetSauvignonGrape - RestaurantThatServesCabernetSauvignon what does the reasoner see? Any Instance of "Grape" is_a "Book". And: any instance of "Grape" is_a "Website". so any information object (that "is_about" "Grape") will say: "I'm both a book and a website". So I conclude (maybe I'm wrong): Reasoners will only return proper results if the underlying technology is used the way it's meant to. You will not be able to set up a satisfying application when you for instance import or link to the wine ontology and then assert "Book" subClassOf "Grape" or "Grape" subClassOf "Book". You would be forced to quickly adjust your taxonomy and would then probably use classes such as "GrapeTopic", "WineGrapeTopic" and "InformationObject" and attach a property "isAbout" to your InformationObject instances. You might say: "Bad example. I only have one type of information object. The reasoner works perfectly well. Many people will use OWL just this way. The Semantic Web gets a big problem." I think we won't get a problem either because if you only have one type of instance, then your taxonomy is valid. You just labeled your classes in a way that leads to confusion. Rewritten taxonomy: - InfoObject InfoObjectAboutGrape InfoObjectAboutWineGrape InfoObjectAboutCabernetSauvignonGrape ... All the way nice "isSublassOf" relations... And I surely missed the point completely, right? anyway, greetinx ;-) bnjmn
Received on Wednesday, 10 September 2003 14:50:57 UTC