There is an inconsistency between what you wrote and what you said. This may be the crux of why the hasBattery property is inconsistent.
On Aug 15, 2008, at 10:20 AM, mbikinyi brat wrote:
I have an object property "hasBattery" in my ontology.
This ontology is a radio ontology and there are 4 types of radios. 3 of them uses battery and the other does not.
So my object property "hasBattery" applies only to the 3(Radio1, Radio2, Radio3).
So a colloquial way of interpreting is that if some radio has a battery then it is either a Radio1 or a Radio2 or a Radio3 type of radio.
Note that there are alternatives. I might reasonably interpret the english above as saying also that any radio of type Radio1 or Radio2 or Radio3 would have a battery. This is a different type of statement and doesn't fit with the domain assertion that you have below.
So I now type "hasBattery" in the ObjectProperty pane and then in the Property domain section I typed Radio1 and Radio2 and Radio3 to mean their intersections.
So what you have said here is that if something has a battery then it has all of the three types Radio1 type, Radio2 type and Radio3 type. I think that what you actually wanted to say is that something that has a battery has one of these three types - you wanted "Radio1 or Radio2 or Radio3". This is probably where the problem arose. There is probably another statement somewhere in the ontology that says that the three radio types are disjoint. This means that the intersection that you put in the domain (Radio1 and Radio2 and Radio3) is empty.
A couple of other comments. First this domain statement rules out the possibility that anything that is not a radio could have a battery. For instance if you add the class Car to your ontology and assert that no Car is a radio, then the inference engine can infer that no car can have a battery. Since the name of the property, hasBattery, is so generic, this would appear to be a standard modeling issue. Some ontologies handle this by making the name of the property very specific as in "radioHasBattery" which would be a different property than "carHasBattery".
Also I mentioned before the possibility that you wanted to say that any Radio of type Radio1 has a battery. This you could say in the classes tab by giving Radio1 a superclass of the form "hasBattery some Thing".
This therefore reads "Radio1 and Radio2 and Radio3 hasBattery" to mean each of the radios has a battery as intersection implies.
When I classify my ontology while highlighting the "hasBattery" it turns red. This indicates an error even though I do not get any error message any where.
Can any one help please??
_______________________________________________ p4-feedback mailing list [hidden email] https://mailman.stanford.edu/mailman/listinfo/p4-feedback