Monday, February 13, 2006

Now for my Tax Return

Sudoku in OWL "The OWL Ontology to represent the grid and rules of the puzzle is modeled as follows:

(a). Create OWL Individuals Vg_ij (1 <= g <= n, 1 <= i , j <= sqroot(n), here n = 4, g = sub-grid index, i = row index, j = column index) to represent specific values in various cells of the grid. For example, create individuals (V1_11, V1_12, V1_21, V1_22) to represent values in the cells of the first sub-grid.

(b). Create OWL Individuals 1, 2, 3, 4 to represent possible values for cells in the grid. Make all four individuals mutually distinct using owl:AllDifferent.

(c). Make all the individuals in a particular row (/column) of the entire grid mutually distinct using owl:AllDifferent, e.g., make the set of individuals corresponding to the values in the first row -- (V1_11, V1_12, V2_11, V2_12) mutually distinct.

(d). Also, make all the individuals in a particular sub-grid mutually distinct using owl:AllDifferent, e.g., make the set of individuals corresponding to the values in the first sub-grid (V1_11, V1_12, V1_21, V1_22) mutually distinct.

(e). Make the top concept, owl:Thing, a rdfs:subclassOf the OWL Enumeration {1,2,3,4} using owl:oneOf. This implies that each individual Vg_ij in the ontology is forced to be owl:sameAs one of the individuals (1,2,3,4)."

How simple and sensible?

Also, Open IRIS - Semantic Desktop PIM Released!. It does come with Calendar, Mail, Browser, Chat, Text Analyzer etc but at 130MB plus it makes the Semantic Web look like the ultimate form of bloat.

3 comments:

Paula said...

I think this is great!

I'm just wondering though... is it really legal to make owl:Thing a subclass of something? I thought owl:Thing was already defined.

OTOH, I'm not sure of this, so I'm asking here instead of embarressing myself in front of the Pellet guys. :-}

Even if it's not legal, there are other OWL constructs that will definitely work, so I agree that the concept is sound.

Andrew said...

I couldn't find anything specific.

One of the specs I remember says that cyclic subclasses are allowed. So it's possibly not breaking anything.

I just saw the whole things as cunning by reducing the set of things to solve a problem that way.

It also seems appropriate that the same kinds of people are attracted to Sudoku and the Semantic Web.

Paula said...

Lots of people are attracted to Sudoku, so that may not be saying a lot.

That said, Sudoku is a logic puzzle, not a mathematical one (though my brother suggested solving it as a set of simultaneous equations. Interesting notion.). While the Semantic Web is not about logic processing, OWL entailment, and Pellet are all about logic processing.

From that perspective, it's natural to consider Sudoku as a problem to be solved with Pellet. But it can't be too obvious (I hope), as I never thought about it. Doh!