oral-health-and-disease-ontologies / ohd-ontology

The OHD is an ontology for representing the diagnosis and treatment of dental maladies.
Creative Commons Attribution 4.0 International
7 stars 6 forks source link

annotation properties for the procures that materials are used in #75

Open wdduncan opened 1 year ago

wdduncan commented 1 year ago

On 2023-04-28 call, we discussed the possibility of using annotation properties to capture information about kinds of procedures a material is used in. E.g.:

resin 'used in' indirect procedure
resin 'used in' direct procedure

The more complex route would be to add OWL axioms. E.g.:

participates in only (direct procedure or indirect procedure)

This would require a fair amount of work, and the cost of doing this seems to outweigh the benefit.

alanruttenberg commented 1 year ago

The axiom wouldn't be correct in any case. The resin has to be shipped, for example, so would participate in that. Why not on the other side. Have appropriate procedures and say has participant some resin?

wdduncan commented 1 year ago

Yes, you're right. There are other process the material would participate in. We were mainly considering the merits (i.e., costs and benefits) of going the other way (material to procedure).

Many procedures do specify procedures. E.g., resin crown restoration procedure.

image
alanruttenberg commented 1 year ago

The cost will, at least for the annotations, is that they aren't inherited. So the method you propose answering the question will, on query, only return the upper class and you have to understand that, outside the formal semantics, that it applies to all subclasses of the so-annotated class (e.g. direct restoration). Or consider the query: what material is used in crown restoration procedure. You would get no answer since it's only the upper class that is in the annotation. You could have a used-in annotation for all the children classes, but that is actually more work than the has-participant method.

OTOH, using a query for participants you would get e.g. crown restoration procedure and all it's subclasses as an anwer.

wdduncan commented 1 year ago

With axioms, you have also pointed to cost of having to be concerned with other processes that aren't likely to be in scope for the OHD; E.g., participating in a shipping process.

It is also possible to use existential axioms, e.g. resin participates in some filling procedure. But this (from a metaphysical perspective) will be false too. There are lots of resin blocks that won't be used in fillings.

Complicated axioms can negatively impact reasoning and can be quite difficult to query using SPARQL.

alanruttenberg commented 1 year ago

Aside from the issue of it being false, what benefit would "resin participates in some filling procedure" vs "filling procedure has participant some resin" yield? If you don't mind my asking, what is the query that is desired to be made, i.e. how would the annotations be intepreted?

Another way to handle this would be to use the axioms (process has participant some x) and at build time run SPARQL or DL queries to give information to generate the annotations. This has the benefit of

wdduncan commented 1 year ago

what benefit would "resin participates in some filling procedure" vs "filling procedure has participant some resin" yield?

I believe Nevidita and Michael were wanting a means to go from the restoration material to kinds of procedures the restoration materials can be (or are most often) involved in. @gopi-kris may have some use cases in mind.

I think that going from procedure to material (e.g. "filling procedure has participant some resin" ) allows you do this to. I not sure if that covers all their needs, though.

Another way to handle this would be to use the axioms (process has participant some x) and at build time run SPARQL or DL queries to give information to generate the annotations.

Thanks for the suggestion! Yes, this may be best the way to implement this if we decide to take the annotation approach. I'm not so sure the annotation approach is needed yet, though.

wdduncan commented 1 year ago

On 2023-05-23 call we decided to insert the annotations during the build process. Here is an ad hoc mock up of the final out.

image