How to get individual results while solving Einstein's riddle with OWL in Protégé?
I would like to better understand ontologies and reasoning. There is an interesting puz开发者_如何学编程zle called Einstein's riddle on the net that can be solved with the help of ontologies and reasoning. I downloaded the OWL ontology from that site and imported it into Protege 4.0.2 (does not work with 4.1). I can start a reasoner by Reasoner → FaCT++, Reasoner → Classify…, but i don't know, how to visualize the individual results. How can I do this?
There are two ways in which you can visualise the results. Firstly, when you select the "Classes" Tab, you will see that there are two views available to you: the "Class hierarchy" view, which is the asserted taxonomy and the "Class Hierarchy View (inferred)", which is, as the name suggests, the inferred one. That gives you the class views. As Kaarel suggests, you can visualise the individuals reasoning in the Individuals tab.
Protege also allows you to add a number of other individuals views to the UI: make a new empty tab and then choose a view from the "Individuals View" sub-menue under the "Views" menue. Finally, you can use a number of external graphical tools to visualise: if you assert the inferred hierarchy and save it out to a file (in RDF-XML), you can then use tools such as Welkin, IsaViz etc. to get graphical representations.
After the reasoner has finished go to the Individuals-tab
and look for axioms that have a yellow background. These axioms are the entailed ones. If the components of the puzzle (i.e. the men, pets, drinks, etc.) have been modeled as OWL individuals then you would see some new object property assertions that the reasoner has found between these individuals.
There are also other options for seeing the entailments:
View -> Ontology views -> Classification Results
will show the list of entailed axioms. It might not show all the entailed axioms though, e.g. I've tried it with Protege 4.1 and didn't see any entailed object property assertions.- In the
DL Query tab
you can type in a class expression and have all its subclasses and individuals (including the entailed ones) listed. This might be the most natural way of exploring the entailments.
See also:
- ACE View examples: contains the "Zebra Puzzle" example, works in Protege 4.1
- Stackoverflow question: Solving “Who owns the Zebra” programmatically?: doesn't yet contain the OWL-based solution :(
精彩评论