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

More missing subclasses: short-term solution proposed. #160

Open
spc93 opened this issue Nov 12, 2024 · 6 comments
Open

More missing subclasses: short-term solution proposed. #160

spc93 opened this issue Nov 12, 2024 · 6 comments

Comments

@spc93
Copy link
Collaborator

spc93 commented Nov 12, 2024

After a few minutes of playing with a prototype PaNET term selector, it has become clear that there are more missing subclass/superclass relationships between the PaNET techniques. For example, ‘x-ray scattering’ has only 7 subclasses, where there should be many (including all of the x-ray diffraction techniques). Neutron scattering has none.

These could be modified explicitly, as per previous modifications. However, I believe it would be better to do this by formalizing the four ‘implied’ properties in PaNET, as outlined in the PaNET V1.0 paper: https://doi.org/10.5281/zenodo.4806026 (see Page 20):
definedByProcess
definedByProbe
definedByFunctionalDependence
definedByPurpose

As discussed at our last meeting, I propose that we (Terence, as part of his PhD work) makes the minimal changes to achieve this.
Specifically (and being mindful of the much more ambitious longer-term developments proposed by the ESRF and supported by OSCARS):

  • The modifications should introduce no new relationships (other than the four above).
  • No new PaN technique classes should added.
  • Four new classes (and their subclasses) should be added, with no links to external concepts: process, probe, functional dependence and purpose.
  • The changes are made by modifying the robot csv template file

These changes are proposed with the single goal of using a reasoner to add missing class/subclass relationships, required right now for the purpose of term selection for data catalogue input.

I think these changes can be made without need for additional domain knowledge or interpretation of the semantic. They would not conflict with longer-term developments (e.g. extending the relationships beyond the implied relationships in V1.0, improved semantic mapping and annotation).

If there are no objections then I would like to propose that Terence created a new branch, based on this change, for the group to review. As we do not intent to make other changes, we envisage that this could be completed in a few weeks.

@gkoum
Copy link
Collaborator

gkoum commented Nov 12, 2024

The proposal seems to be in the right direction since as discussed in our meetings manual handling of subclass relationships is a nightmare when the ontology has more than a few classes.
In order to better understand the suggested change @spc93 can you give an example of one technique described with the added object properties and the 4 new classes?

@spc93
Copy link
Collaborator Author

spc93 commented Nov 13, 2024

Example (using one for the four new classes and related property).

Classes:

Thing 
	process
		scattering
			diffraction

Properties:

topObjectProperty
	definedByProcess

Definition:

	Photon and neutron technique
		x-ray scattering (‘Photon and neutron technique’ and definedByProcess some scattering)
		x-ray diffraction (‘Photon and neutron technique’ and definedByProcess some diffraction)

We currently have ‘diffraction’ technique as a subclass of ‘scattering’ technique. However, this does not make ‘x-ray diffraction’ a subclass of ‘x-ray scattering’ unless this is defined explicitly (which we have neglected to do!).
In this example, we have not asserted that ‘x-ray diffraction’ a subclass of ‘x-ray scattering’. However, a reasoner should infer this to be the case.

@spc93
Copy link
Collaborator Author

spc93 commented Nov 13, 2024

Sorry - the formatting was screwed up. Hopefully it is clear.

@gkoum
Copy link
Collaborator

gkoum commented Nov 13, 2024

I updated the formatting as I believe you meant it to be.
Based on that some questions:

  • What is the relation of the new "diffraction" and "scattering" classes to the existing classes in "defined by experimental physical process" -> "scattering technique" -> "diffraction"?
  • What will be the domain and range for the new object properties?
  • Will the proposed definition be in the "Equivalent To" or in the "Subclass Of"section?

Using object properties is the way forward but it gets us out of the simple subclass relationships and we need to test the suggestion in protege to make sure that we have the expected results after running the reasoner.

We can try together put the above example in protege to test it.

@spc93
Copy link
Collaborator Author

spc93 commented Nov 14, 2024

What is the relation of the new "diffraction" and "scattering" classes to the existing classes in "defined by experimental physical process" -> "scattering technique" -> "diffraction"?

All of the existing classes are techniques, so "defined by experimental physical process" is the class of techniques that are defined by an experimental physical process (e.g. scattering but not imaging)

What will be the domain and range for the new object properties?
domain = photon and neutron technique
range = process/probe/purpose/functional dependence or their subclasses

Will the proposed definition be in the "Equivalent To" or in the "Subclass Of"section?
I think 'equivalent to', i.e equivalent to class AND (object property relationship) AND ...

We can try together put the above example in protege to test it.
This example works (Terence has created it in Protege). What we need to test is the affect the changes have on all the other terms, and to see that it has the desired effect. It's hard to know until we try it. The plan is to use Robot tool as we want this to be the smallest possible consistent change, rather than expanding out into general development.

@spc93
Copy link
Collaborator Author

spc93 commented Nov 14, 2024

And thanks for the formatting - that is indeed what was meant. The first cell is important, showing diffraction (process) as a subclass of scattering.

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