Feature request for compare tool

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

Feature request for compare tool

Alan Ruttenberg-2
Hi,

I've just tried this today. Following are observations, requests, etc

- GCIs are not compared, so differences in them are not noted. Could this be added?
- Could IRIs for terms please be displayed. In cases where an IRI has changed and nothing else we see a term reported as being deleted and then created. This can be confusing, and would be less so if the IRI were displayed, or if this kind of change was considered a modification (although this may be difficult)
- In cases where a textual value changes, the two values are presented side by side. When the values are similar enough it would be more useful to display a single textual value with edits (strike thru, insertions in a different color, etc). I am sure there are available libraries that will compute the diff in a form which allows such a display.

Regards,
Alan

_______________________________________________
p4-feedback mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/p4-feedback
Reply | Threaded
Open this post in threaded view
|

Re: Feature request for compare tool

Timothy Redmond
On 7/24/13 8:01 AM, Alan Ruttenberg wrote:
Hi,

I've just tried this today. Following are observations, requests, etc

- GCIs are not compared, so differences in them are not noted. Could this be added?

Actually they are compared but their placement in the gui is a bit obscure.  One way to find it is to select Window->Tabs->Ontology Differences.  In the "Ontology Differences" tab there is a sub-tab with the title "Differences with No Subject".  This is where the differences involving the GCI's can be found.  In this case we have not done anything to aid presentation so the differences will always show up as axiom added and axiom removed.  If you bring up both the original and revised ontology windows, this tab will only work in the revised ontology window.  The "Differences with No Subject" is also a view and can be seen by inserting the view in any tab.

In my own ontologies, when I use GCI's I have sometimes thought that it would be nice if Protege gave the user a way to specify the entity that the GCI is "about".  It is true that this concept is not well-defined but sometimes when writing a GCI the author knows the context in which the GCI would be best viewed.  If such a mechanism existed then we might be able to figure out some better ways of presenting GCI differences.  Alternatively it would be cool if the tool performed some similarity analysis to determine when a GCI was a modification of some other type of axiom but this is probably not going to happen in the near future.  (We would need a reasonable corpus of GCI's to guide the development and testing for a start.)

- Could IRIs for terms please be displayed. In cases where an IRI has changed and nothing else we see a term reported as being deleted and then created. This can be confusing, and would be less so if the IRI were displayed,

Sounds like a good plan and I am making a note of this for future work (next Friday probably).

or if this kind of change was considered a modification (although this may be difficult)

This does work but it is based on heuristics.  If in the original difference dialog you select "Make a reasonable attempt to find refactor operations" several heuristics are run including:
  • Match by IRI
  • Match by rendering
  • Super-Sub class pinch
  • Match by IRI fragment
  • Match siblings with approximately similar renderings

There is also a "deprecate and replace" heuristic.  This one detects the pattern where a entity is deprecated but some of the axioms where the entity appeared are replaced with a new axiom where the deprecated entity has been replaced with a new entity.  This heuristic has been treated carefully because I think that we did some experiments where this heuristic gave bad results.

There is a plugin model (it has been a long time and I have forgotten exactly how it works) that allows you to add your own heuristics.  Even though this is a relatively small set of algorithms it did pretty well in some tests coming from the bioportal and there was one ontology where we were able to get both false positive and false negative information (because the authors of the ontologies recorded their refactors in annotation properties.)


- In cases where a textual value changes, the two values are presented side by side. When the values are similar enough it would be more useful to display a single textual value with edits (strike thru, insertions in a different color, etc). I am sure there are available libraries that will compute the diff in a form which allows such a display.

I agree that this would be cool.  I will look into it.

-Timothy


Regards,
Alan


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


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