I have been studying Protege and I have a question. I added an individual with name aaa in ontology "people.owl" which I downloaded from the internet.
I set type assertion as: sheep and hasCC value 200, where hasCC is data property. Then, in class animal I created two classes: hhh and lll. I set hhh as equivalent and there wrote: animal and (hasCC some decimal[>= 150]) For lll I set: animal and (hasCC some decimal[< 250])
When I run HermiT reasoner I see that the individual aaa is classified in both lll and hhh classes. But when I set lll and hhh classes to be disjoint and run the reasoner the classes are not classified in the class "Nothing" as, for example, the class "mad_cow". I get a message: "Your ontology is inconsistent which means that the OWL reasoner will no longer be able to provide any useful information about the ontology." After clicking the button "Explain" I get:
Could you say, why lll and hhh classes cannot be classified as Nothing? What should I correct to let lll and hhh classes to be classified as Nothing? Thank you!
答案 0 :(得分:0)
“您的本体是不一致的,这意味着OWL推理机将不再能够提供有关该本体的任何有用信息。”
这不是说全部吗?您抱怨推理机没有做任何事情,但是推理机明确地告诉您它无法提供任何有用的信息!使您的本体一致,然后可以从推理机中得到一些期望。
在任何情况下,都不能期望包含实例的类(此处的类hhh
和lll
都必须包含实例aaa
)等同于Nothing
。 Nothing
的确切含义是“没有任何实例的类”。