Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
wdduncan opened this issue Apr 28, 2023 · 7 comments
Open

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

wdduncan opened this issue Apr 28, 2023 · 7 comments

Comments

@wdduncan
Copy link
Member

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
Copy link
Collaborator

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
Copy link
Member Author

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
Copy link
Collaborator

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
Copy link
Member Author

wdduncan commented May 1, 2023

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
Copy link
Collaborator

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

  • Retaining the formal semantics, which, among other things would help maintain QC
  • Perhaps making the some queries easier while ensuring them be correct and complete. (with the caveat that there would still be issues if users added new subclasses to the OHD procedures)
  • Leaving the logic of the query as part of the build process, during which there is heavy lifting in any case, rather than on the user of the ontology.

@wdduncan
Copy link
Member Author

wdduncan commented May 4, 2023

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
Copy link
Member Author

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants