How to create class restrictions with multiple criteria?

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

How to create class restrictions with multiple criteria?

raza
Hi all,
I am struggling through the following scenario and would appreciate any insights:

Symptoms can have properties like Severity, Duration, etc.
Each of these properties I consider as classes themselves that can have various options e.g. Mild, Moderate, Severe, Worst ever for Severity, and I am considering these options also as classes.

However, I am unable to generalize the concept of 'Severity' across different symptoms because for headache it may make sense to have mild, moderate, severe, worst ever, while for fever I might want to specify only the first three as possible options.

My approach now is to build a 3 way relationship (in database terms) or a class restriction, that allows me to define not only the type of property to be applied to a given symptom, but also which options from within that property.

For instance, I want to be able to represent the following:
- Headache has property Severity and Severity options Mild, Moderate, Severe, Worst ever
- Fever has property Severity and Severity options Mild, Moderate, Severe

Can someone comment on the approach as well as how to represent this in Protege?

Thanks
- Usman

The information in this message may be confidential and is intended only for the individual to whom it is addressed. If you are not the intended recipient of this message, you are hereby notified that any use, review, retransmission, dissemination, distribution, or reproduction of this communication is strictly prohibited. If this message was received in error, please immediately notify the sender and delete or destroy any copy of it.
_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
Reply | Threaded
Open this post in threaded view
|

Re: How to create class restrictions with multiple criteria?

samsontu
Hi,

On Jun 6, 2019, at 4:42 PM, Usman Raza <[hidden email]> wrote:

Hi all,
I am struggling through the following scenario and would appreciate any insights:

Symptoms can have properties like Severity, Duration, etc.
Each of these properties I consider as classes themselves that can have various options e.g. Mild, Moderate, Severe, Worst ever for Severity, and I am considering these options also as classes.

However, I am unable to generalize the concept of 'Severity' across different symptoms because for headache it may make sense to have mild, moderate, severe, worst ever, while for fever I might want to specify only the first three as possible options.

My approach now is to build a 3 way relationship (in database terms) or a class restriction, that allows me to define not only the type of property to be applied to a given symptom, but also which options from within that property.

For instance, I want to be able to represent the following:
- Headache has property Severity and Severity options Mild, Moderate, Severe, Worst ever
- Fever has property Severity and Severity options Mild, Moderate, Severe

Can someone comment on the approach as well as how to represent this in Protege?


I probably won’t say that the “Severity” property itself has severity options and that there are different types of properties.

One approach is to think of Severity as a scale with scale values of mild, moderate, severe or a different scale with four values. Symptoms have severity some severity scale value. So you may have classes:

Symptom subclassOf hasSeverity some SeverityScaleValue
Fever subclassOf hasSeverity some ThreeValuedSeverityScaleValue
        HeadAche subclassOf hasSeverity some FourValuedSeverityScaleValue
SeverityScaleValue
ThreeValuedSeverityScaleValue=={mild, moderate, severe}
        FourValuedSeverityScaleValue=={mild, moderate, severe, worstEver}

This way you can define “severe fever” as Fever and (hasSeverity value severe)

With best regards,
Samson


_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user

smime.p7s (1K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: How to create class restrictions with multiple criteria?

raza
Thanks very much Samson for the response. I ended up simply assigning two parent classes to the property options. The reason I went in that direction was I had to associate the combination of a triple (symptom, property and property option) with a certain quantitative values and in my mind, I felt converting the property options to a value would make it harder to do that. I may be wrong though.

- Usman

___________
Usman Raza
MBBS, MS, MIMS
Product Manager
HealthTap Inc.


On Thu, Jun 6, 2019 at 7:29 PM Samson Tu <[hidden email]> wrote:
Hi,

On Jun 6, 2019, at 4:42 PM, Usman Raza <[hidden email]> wrote:

Hi all,
I am struggling through the following scenario and would appreciate any insights:

Symptoms can have properties like Severity, Duration, etc.
Each of these properties I consider as classes themselves that can have various options e.g. Mild, Moderate, Severe, Worst ever for Severity, and I am considering these options also as classes.

However, I am unable to generalize the concept of 'Severity' across different symptoms because for headache it may make sense to have mild, moderate, severe, worst ever, while for fever I might want to specify only the first three as possible options.

My approach now is to build a 3 way relationship (in database terms) or a class restriction, that allows me to define not only the type of property to be applied to a given symptom, but also which options from within that property.

For instance, I want to be able to represent the following:
- Headache has property Severity and Severity options Mild, Moderate, Severe, Worst ever
- Fever has property Severity and Severity options Mild, Moderate, Severe

Can someone comment on the approach as well as how to represent this in Protege?


I probably won’t say that the “Severity” property itself has severity options and that there are different types of properties.

One approach is to think of Severity as a scale with scale values of mild, moderate, severe or a different scale with four values. Symptoms have severity some severity scale value. So you may have classes:

Symptom subclassOf hasSeverity some SeverityScaleValue
Fever subclassOf hasSeverity some ThreeValuedSeverityScaleValue
        HeadAche subclassOf hasSeverity some FourValuedSeverityScaleValue
SeverityScaleValue
ThreeValuedSeverityScaleValue=={mild, moderate, severe}
        FourValuedSeverityScaleValue=={mild, moderate, severe, worstEver}

This way you can define “severe fever” as Fever and (hasSeverity value severe)

With best regards,
Samson

_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user

The information in this message may be confidential and is intended only for the individual to whom it is addressed. If you are not the intended recipient of this message, you are hereby notified that any use, review, retransmission, dissemination, distribution, or reproduction of this communication is strictly prohibited. If this message was received in error, please immediately notify the sender and delete or destroy any copy of it.
_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user