05
Jan
08

Raid ontology sneak peek

I’ve been working on an interesting project related to WoW in my free time. Today I made the first breakthrough in the effort, and the rest of it should come to me quickly over the next couple of weeks. I need to get some input from raiders.

So what is it?

Quite simply, I’ve created a World of Warcraft guild ontology and raiding knowledgebase. The gist of it is that raid leaders can use the ontology to describe their current raid roster (as well as alternates and recruits) to get a snapshot of their core raiding capabilities. This roster takes the form of high level classes (not WoW classes, but ontology classes) that define the roles in the raid.

For example, you’d have a class for healer, class for tank, class for dps, and so on. The ontology I’ve created is extensible, so if you want a more granular way to define roles, you’re able to. The raid leader can then create a knowledgebase through the ontology by defining the actual implementations of the classes.

In other words, for each class “Druid” the raid leader can create instances of druids in the knowledgebase. Say you have druids named “Karl,” “Leonid,” and “Feifei” in your regular raid roster. You would add these three to your knowledgebase as instances of the Druid class.

Then what?

Well, the Druid class has several slots (i.e., attributes) that you use to define the individual instance. If Karl is a resto druid, then you give him the Healer attribute. If Leonid is a boomkin, you give him the Magic Damage attribute. And so on.

Now you might be saying, “Ok, sounds like a database.” And in a manner of speaking, it is. But this goes further by letting you query your knowledgebase with questions like, “How many healers do I have that can do HoTs?” “How many melee DPSers do I have that can heal?” That is its power.

So let’s take a look at some screenshots.

First, we have the Protege tool open and we’re looking at our ontology. On the left is the list of classes I’ve defined, and on the right is the detail for the class.

image

This is the view of the Slots (attributes) that are defined for the classes. You can see that I’ve defined two damage roles for druids, Melee and Magical. (Since this is still a work in progress, the healing stuff isn’t in there yet.)

image

Let’s skip past the rest of those details for the moment and look at the really cool stuff: visualizations. Protege lets you visualize the ontology and the knowledgebase in ways that are truly amazing. These visualizations give you a birds eye view of your raiding situation. The first one is a static visualization that shows the hierarchy of the Druid class.

image

And finally, we have another visualization of the Druid class in the form of a TouchGraph. This graph is interactive, allowing you to click through the graph and dive deeper into the details of your ontology and knowledgebase. Here is a TG visualization of the Druid class.

image

You can see in this image that the Druid class (highlighted in green) is connected to the Damage class, which in turn is connected to the Magical class, and so on. You can also see that Mage, Rogue, and Hunter are connected to Damage as well, as are Priest, Paladin, Shaman, and Warlock. If you take a closer look at the graph, you can also see that Priest has a connection to Healer, while Rogue does not. At a simple level, that gives you an idea of what you can use this graph for.

The next step is to finish the ontology and create a working knowledgebase of my guild. I will work with a raid leader to define the knowledgebase for our specific raid core. I think that process will reveal much more about what belongs in the ontology.

I know BigRedKitty will love this. ;)
Stay tuned!


1 Response to “Raid ontology sneak peek”


  1. 1 Matticus Jan 6th, 2008 at 4:10 am

    That’s an amazing piece of software, angryraider! I’d really like to try it out when it’s up for beta.

Leave a Reply

You must login to post a comment.