geneontology / noctua

Graph-based modeling environment for biology, including prototype editor and services
http://noctua.geneontology.org/
BSD 3-Clause "New" or "Revised" License
36 stars 13 forks source link

Disallow ability to create more than one title per model #682

Closed vanaukenk closed 2 years ago

vanaukenk commented 4 years ago

The ShEx schema shows cardinality of '1' for a model title, but it is possible to create more than one title for a GO-CAM model in Noctua.

Ideally, creating more than one model title would not be allowed in the Noctua editors, but violations of this rule should be included in model validation reports.

image

image

image

Note that in the form editor, only the first title is displayed, while all three are displayed in the graph editor.

lpalbou commented 4 years ago

Interesting, I didn't know that either Noctua form or graph would allow multiple titles ! @tmushayahama

vanaukenk commented 4 years ago

You can create multiple titles in the form without realizing it, but because of the differences in how titles are added in the graph, the curator should always know they've added more than one title via the graph editor.

We need to re-visit adding titles in the form, though, because it's currently not behaving as expected and not how it's documented for curators on the wiki.

cmungall commented 4 years ago

Let's put an annotation on the constraint to make it clear this is a SHOULD but not yet a MUST

On Fri, Jul 17, 2020, 08:48 vanaukenk notifications@github.com wrote:

You can create multiple titles in the form without realizing it, but because of the differences in how titles are added in the graph, the curator should always know they've added more than one title via the graph editor.

We need to re-visit adding titles in the form, though, because it's currently not behaving as expected and not how it's documented for curators on the wiki.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/geneontology/noctua/issues/682#issuecomment-660181559, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAMMOK5URDUXAWSVQPSBVLR4BXEFANCNFSM4O6N4NPQ .

kltm commented 4 years ago

While it looks like it's time to revisit it, I just wanted to add a little historical context. At one time, having multiple "titles" (possibly differently scoped), was under consideration as one part of easing identification of models, search, etc. The ability to treat titles as just another piece of model metadata like comments (although I guess at least one is required now) was an active choice at once upon a time.

ukemi commented 4 years ago

@kltm, this is my recollection as well.

vanaukenk commented 4 years ago

I'd like to discuss this issue on tomorrow's GO-CAM specifications call.

What was the original rationale/requirement for allowing multiple titles, and given the expanded search interface, do we still need to allow for multiple titles?

ukemi commented 4 years ago

I think it was just for searching, but somewhere in my mind I remember that discussion because it was hard to find models. It will be good to discuss.

cmungall commented 4 years ago

I strongly recommend moving towards title cardinaliity=1, this standard, use another property like rdfs:comment or dc:description for other searchable info

On Mon, Jul 20, 2020 at 7:09 AM David Hill notifications@github.com wrote:

I think it was just for searching, but somewhere in my mind I remember that discussion because it was hard to find models. It will be good to discuss.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/geneontology/noctua/issues/682#issuecomment-661063228, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAMMONXCQRKD32MK2ARBT3R4RF2BANCNFSM4O6N4NPQ .

vanaukenk commented 4 years ago

Decision from GO-CAM specifications call 2020-07-21: We will retain title cardinality=1 as in the ShEx.

To do:

tmushayahama commented 4 years ago

@vanaukenk @ukemi I think (will double check) this is the same behavior with model state and as well. You can put more than one state. So far on Noctua Form, the first state is returned.

ukemi commented 4 years ago

@vanaukenk do you think we will ever want a production model that is also a template. I think probably yes.

vanaukenk commented 4 years ago

The current choices for model state are: Development Production Review Closed Delete

I think it is possible that a model could be more than one of these, e.g. a Development model that needs Review.

Template is not a model state, AFAIK.

All of this being said, the list of possible states may need to be re-visited at some point in the future, especially in the context of curator training.

kltm commented 4 years ago

@vanaukenk That's correct: template is a separate concern from state. I.e. there can be dev templates and production templates.

vanaukenk commented 4 years ago

Correction to above: models can ONLY have one state.

From 2020-07-22 workbenches call:

Wrt titles: we agree that models should only have one title. We'll need to enforce this in minerva so that models with 1+ title are not allowed/flagged as violations.

Wrt model states: we agree that models can only have one state. Noctua seems to handle this properly in both the form and graph; we need to make sure it's enforced in minerva, as well.

@tmushayahama - I'd like to review how titles are handled in the Noctua form again, though, because it seems to be different than what it used to be.

goodb commented 4 years ago

@vanaukenk I think we would be handling this in Minerva like the rest of the schema. Minerva isn't going to croak if it sees a model with zero or two titles but it will use the shex validator to identify them just like it can for any other schema violation. It does this now. Is there some other behavior you are thinking of here ?

kltm commented 4 years ago

@goodb For example, IIRC, minerva does not allow a model to be saved if it does not have a title--there are a few items like that that Minerva takes on at a different level than the shex. Naturally, this could be handled at the client policy + the after-the-fact shex reporting. I believe the request here is to see how hard it would be for up-front enforcement, rather than waiting for the shex.

goodb commented 4 years ago

@kltm my take here is that this is primarily a client problem. The server, as it stands, provides the client with the information needed to detect this and many other violations of the schema. I don't see why we would introduce (or extend) a secondary mechanism when we have the shex-driven pattern at hand. The client could also provide the up-front enforcement and simply not offer the user a way to add more than one title.

In principle, we could start having the server refuse to save models that have metadata errors (like it does now when there is no title). We have thus far always decided to allow models to exist even when they are in violation of the schema - focusing on warnings instead. If we are going to change that pattern, then we should think through all of the different aspects that ought to be checked before a model save, not just the title.

vanaukenk commented 2 years ago

Closing this as I'm no longer able to add multiple titles to a model in Noctua. Noting here, though, that the form and graph have slightly different behavior with how they display model titles and curators may need to reload the form page to see a new title entered on the graph editor.