geneontology / noctua-form-legacy

Simple annoton editor workbench for Noctua.
BSD 3-Clause "New" or "Revised" License
3 stars 3 forks source link

Modify annotons in a non-destructive way to preserve edges in graph #16

Open kltm opened 6 years ago

kltm commented 6 years ago

Ideally, instead of destroying and re-creating annotons on edit, the SAE could "hollow-out" an annoton and give it new class-expressions in-place. This would preserve edges at when working within the SAE.

This could also be implemented at the minerva-requests level, and could be used in other clients.

This is a clarification of the roadmap related to #4

tmushayahama commented 6 years ago

@kltm @lpalbou is this working. This was the issue I wanted to clarify if it is implemented or not

kltm commented 6 years ago

I think I was making an oblique reference to a manager-level API that does not exist for this, but we had talked about.

The class expression operation for working within an individual should be just fine.

Examples: https://github.com/geneontology/noctua/blob/7c75387b0724bc5be84d096f6b57f401ec93a317/js/lib/noctua-widgetry/widgetry.js#L1336 https://github.com/geneontology/noctua/blob/7c75387b0724bc5be84d096f6b57f401ec93a317/js/lib/noctua-widgetry/widgetry.js#L1312

Issue references: https://github.com/geneontology/simple-annoton-editor/issues/4#issuecomment-324790768 https://github.com/geneontology/simple-annoton-editor/issues/16#issue-265096393

Also, the minerva-requests library has some good tests for this: https://github.com/berkeleybop/minerva-requests/blob/master/tests/core.tests.js And an early API overview: https://github.com/berkeleybop/bbop-manager-minerva/wiki/MinervaRequestAPI