1

I'm creating my first ontology with protege 5.2 and I'm running into some trouble.

Let's say I have the following Classes:

Gender with subclasses Female and Male

Human with subclasses Patient and Doctor

Disease with subclass Cancer with subclass Prostate_Cancer

and the properties:

hasDisease (doman: Patient, range: Disease)

hasGender (domain: Patient, range: Gender)

Now I want to specify that a Patient who hasDisease Prostate_Cancer is a Patient who also hasGender Male.

Is this possible without creating new classes?

Mir4culix
  • 81
  • 7

1 Answers1

2

In Protege you can achieve this by adding a general class axiom:

hasDisease some Prostate_Cancer SubClassOf: Male

Then whenever you have an individual with a disease that is prostate cancer, the reasoner will infer that the individual is a Male.

You could model this as

hasDisease some Prostate_Cancer SubClassOf: hasGender some Male

as @StanislavKralin suggested, but then the reasoner will not infer that an individual is Male whenever it has prostate cancer. The reason for this is two fold:

(1) Domain and range restrictions merely state that whenever two individuals are linked via that property, the the first individual will be of the type of whatever is specified in the domain and the second individual will be of whatever type is specified as the range.

(2) In reality an ontology has infinite many inferences. To be usable tools cannot provide infinite inferences. Hence, tools like Protege only provide inferences for which there are named classes, i.e. like Male. Classes like hasGender some Male is referred to as anonymous classes and are not displayed as inferences.

Henriette Harmse
  • 4,167
  • 1
  • 13
  • 22
  • Or maybe `... SubClassOf: hasGender some Male`, following their strange modelling approach (as well as I understand it). – Stanislav Kralin May 07 '18 at 10:12
  • 1
    You could do it like that, though the problem will be if you then have an individual that has prostate cancer, it will **not** infer that the individual is `Male`. – Henriette Harmse May 07 '18 at 10:16
  • It seems that individuals of `Gender` are not people, perhaps the OP means something like this: https://stackoverflow.com/a/44387574, i. e. there are many genders, and some of them are `Male` genders etc. – Stanislav Kralin May 07 '18 at 10:28