I'm trying to build a very simlpe ontology to represent an RPG game with protege and owl.
Here you can download it -> LINK
There are two type of unit classes, enchanters and melee fighters.
There are a number of queries that I'd like to execute but do not return anything, for example:
I'm obviously doing something wrong here but I really don't get it. How can improve my ontology to support those queries (or better formed queries to get the same expected results)?
Hi - Welcome!
I presume that you're using the DL query editor in protege 4. If you look to the right side of the results box, there are a number of boxes that you can check to include equivalent classes / subclasses / individuals etc. in the result - checking some of these will help with your query.
I presume that you are also aware of the SPARQL query language? It tends to be more useful for querying - with the DL query tab better for experimenting with generating OWL classes.
The modelling could probably be improved in places eg. Modelling the individuals as direct types (using rdf:type) rather than stating that they ex:haveClass (then we can make Black Mages a Class). Makes queries a bit easier. Similarly theres no need to have a class of "specific spells" - you can model them as individuals of whatever type (this will happen anyways when the inferencer is run). eg. http://pastebin.com/QBAh7hcB
(Open world assumption - try to read as many explanations of it as you can and it will click - the concept of OWL being a licence for inference rather than constraints on data made it (reasonably) clear for me. There's some quite good assumptions on the site - also - http://semanticweb.com/introduction-to-open-world-assumption-vs-closed-world-assumption_b33688 has a nice example)