counted inclusion + exclusion criteria in OWL

Scott asked about what I was working on with Helen.  Here's the note  
I sent to her, which has pointers to the code.
I'd be glad to explain this in more detail to anyone who is  
interested. I'll write this up on the wiki when I have a chance.

-Alan

Hi Helen,

I said I would give an example of a counted inclusion + exclusion  
criteria in OWL.

Here is what I came up with. It's a little message in OWL 1.0. I'm  
attaching the lisp code and the resulting ontology for you to look at.
I don't know if I have given enough information to understand it, so  
let me know if it makes sense.

In OWL 1.1 it is much easier because there are qualified cardinality  
restrictions. I'll give an example of that when I start doing more  
work with 1.1

Basically, in this scheme, diagnoses (recommendations) are encoded as  
classes. If the class is satisfiable then the recommendation passes  
the test.

The code I'm attaching prints out:
(children !ex:diagnosedPatient) => (!ex:patient4Simple-Cold ! 
ex:patient1Simple-Cold)

In other words, the test passes for patient1 and patient4, but not  
for patient2 or patient3.

patient2 fails because there aren't enough symptoms.
patient3 fails because one of the symptoms is an exclusion criterion.

If you classify the attached ontology in protege (or swoop) you  
should see two unsatisfiable classes  corresponding to these two cases.
The attached image (thanks to Jeremy Zucker for creating it) shows  
what it looks like in protege.

If this is understandable I'll put it up on the wiki.

-Alan

Received on Monday, 12 February 2007 17:06:39 UTC