- 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