protegeproject / protege

Protege Desktop
http://protege.stanford.edu
Other
1.02k stars 231 forks source link

Make it possible to disambiguate entity names with IRIs in Manchester Syntax #868

Open matthewhorridge opened 5 years ago

matthewhorridge commented 5 years ago

This is motivated by the discussion at the tail end of https://github.com/obophenotype/mammalian-phenotype-ontology/issues/2964. There are some previous issues relating to this as well.

Given two entities :p and :q that have the same renderings (usually due to having the same labels), it is currently impossible to disambiguate between the two once rendered. This causes problems for parsing class expressions, since one of them will arbitrarily chosen.

To fix this, we could add some form of disambiguation e.g. for a label "Hello", Hello (:q). This would be an extension to the Manchester Syntax and requires OWL API changes (if the changes are to be made there).

matthewhorridge commented 5 years ago

Note: The other option is to simply change the rendering throughout protege so that the disambiguated form appears everywhere.

matentzn commented 5 years ago

Thanks a lot @matthewhorridge .

I really want to emphasise here that I have not thought this through very much. I dont want to be responsible for making the most important feature of Protege (class expression editor) unusable for the community.. Only do this if you think it really makes things easier.. We cant expect that people would type 'quality (BFO:00000020)' in their class expressions rather than just 'quality'; many people dont yet know about autocomplete shortcuts. So if this is done, it should be done with some very smart UI changes as well that makes this foolproof.. Otherwise, better reject this ticket and I will teach people to use the rendering functionality more effectively. (FYI @dosumis )

matthewhorridge commented 5 years ago

Thanks for the followup @matentzn. I've just been thinking about this more and it's likely to require some fairly hefty changes for it to work properly. Would be nice if this worked though..

matentzn commented 5 years ago

Yeah, ok! Best to leave it until at least one larger requirement emerges along the same lines. By the way, 5.5 is the best release for a very long time! Loving it!

matthewhorridge commented 5 years ago

By the way, 5.5 is the best release for a very long time! Loving it!

Awesome! So nice to hear.

matthewhorridge commented 5 years ago

NB: https://github.com/obophenotype/human-phenotype-ontology/wiki/Protege-and-label-based-editing-(PATO:quality-vs-BFO:quality)

matthewhorridge commented 5 years ago

@matentzn, wrt this is there any way to tell from looking at the structure of the ontology (in general) which 'quality' you prefer (i.e. PATO and not BFO)? .... or is this domain info that's only inside the heads of the curators?

matentzn commented 5 years ago

Yeah, its a good question.. My intuition would be: most frequently used.. In this case for sure!

matthewhorridge commented 5 years ago

Excellent. I'll get this into 5.6.0 at least.