protegeproject / protege

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

Automatically attach metadata to new classes #283

Closed cmungall closed 8 years ago

cmungall commented 8 years ago

in OBO-Edit, anytime an editor creates a new class, they are automatically stamped with two annotation assertions:

It would be useful to have an option/configuration to do this in Protege.

matthewhorridge commented 8 years ago

Chris, please can you clarify a couple of point? 1) Can the user name be configured or is it obtained from the logged in user name?
2) What format should the date be in?

cmungall commented 8 years ago

We don't need a duplicate of existing functionality but for reference:

  1. Obtained entirely from the logged in username, I believe. Represented as a string
  2. ISO-8601, e.g. 2009-04-28T10:22:40Z. But note that this gets translated to an xsd:string in OWL which is suboptimal

Both use the http://www.geneontology.org/formats/oboInOwl# namespace

Do 'view source' here for an example http://purl.obolibrary.org/obo/GO_0000968

Others should chime in on this ticket with their preferences, but I would say

You can imagine all kinds of extensions; adding metadata on a per-axiom basis; tracking modifications as well as creation.

But I think just having the two creation properties above auto-added would do a lot to help migrate OE users.

tberardini commented 8 years ago

Re: username "Obtained entirely from the logged in username, I believe. Represented as a string"

Not from logged in username, as one doesn't log into OBO-Edit. It comes from the Configuration Manager, User name setting in the application.

mellybelly commented 8 years ago

prefer use of a URI or ORCID for the created_by field

mcourtot commented 8 years ago

I would prefer a URI (ORCID or else) for the created_by field. I'm wondering if it should be a user, or a group? For example, when I edit the GO file, wouldn't it make more sense for the user to be "the GO consortium"? In short, being able to edit it would be optimal.

On a related note I have been thinking about having a "template" metadata for ontologies, which would include creation date, licensing, version, md5 checksum, contact email, tracker etc - would it be feasible to have a way to use such a template within Protege? The idea is that if ontologies can capture the metadata directly in the file, people hosting repositories (OLS, aber-owl, Bioportal, OBO) could potentially just read that and it would go a long way in making it easier to maintain.

dosumis commented 8 years ago

I would prefer a URI (ORCID or else) for the created_by field

Agree, but best if readable. This might be achieved in Protege/OWL by having individuals for each editor, with URI from ORCID and label = name.

I'm wondering if it should be a user, or a group?

User is much better. Allows clear attribution of credit/blame. Editors can use this field to chase up editors who created a term for the purpose of clarification.

Not from logged in username, as one doesn't log into OBO-Edit. It comes from the Configuration Manager, User name setting in the application.

I believe OBO-Edit uses the logged in user name if no configuration is specified (although point it moot if we go ORCID/URI route).

On Mon, Nov 23, 2015 at 9:22 AM, Melanie Courtot notifications@github.com wrote:

I would prefer a URI (ORCID or else) for the created_by field. I'm wondering if it should be a user, or a group? For example, when I edit the GO file, wouldn't it make more sense for the user to be "the GO consortium"? In short, being able to edit it would be optimal.

On a related note I have been thinking about having a "template" metadata for ontologies, which would include creation date, licensing, version, md5 checksum, contact email, tracker etc - would it be feasible to have a way to use such a template within Protege? The idea is that if ontologies can capture the metadata directly in the file, people hosting repositories (OLS, aber-owl, Bioportal, OBO) could potentially just read that and it would go a long way in making it easier to maintain.

— Reply to this email directly or view it on GitHub https://github.com/protegeproject/protege/issues/283#issuecomment-158884964 .

mcourtot commented 8 years ago

Re readable: We were planning on having a file somewhere be a repository of people with their URI and label. An embryonic start is at https://docs.google.com/spreadsheets/d/1aLkZyVryQaa5BmDg8fG650-P2bhaoqZT6OmsNLKPQGc/edit#gid=0

Re user vs group: I agree - sorry read to quickly and thought we were talking ontology-wide metadata rather than per class.

dosumis commented 8 years ago

Think this is just a start though. Better to embed name lookup in the OWL.

On Mon, Nov 23, 2015 at 11:26 AM, Melanie Courtot notifications@github.com wrote:

Re readable: We were planning on having a file somewhere be a repository of people with their URI and label. An embryonic start is at https://docs.google.com/spreadsheets/d/1aLkZyVryQaa5BmDg8fG650-P2bhaoqZT6OmsNLKPQGc/edit#gid=0

Re user vs group: I agree - sorry read to quickly and thought we were talking ontology-wide metadata rather than per class.

— Reply to this email directly or view it on GitHub https://github.com/protegeproject/protege/issues/283#issuecomment-158909306 .

cmungall commented 8 years ago

On 23 Nov 2015, at 1:22, Melanie Courtot wrote:

I would prefer a URI (ORCID or else) for the created_by field. I'm wondering if it should be a user, or a group? For example, when I edit the GO file, wouldn't it make more sense for the user to be "the GO consortium"? In short, being able to edit it would be optimal.

It seems the feature people like from OE is association with the user. However, given that most groups work from an ID space file, automatic post-edit assigning of either user or group should be trivial (doh, didn't think of this when I made the ticket. Auto-annotation of date still useful though).

On a related note I have been thinking about having a "template" metadata for ontologies, which would include creation date, licensing, version, md5 checksum, contact email, tracker etc - would it be feasible to have a way to use such a template within Protege? The idea is that if ontologies can capture the metadata directly in the file, people hosting repositories (OLS, aber-owl, Bioportal, OBO) could potentially just read that and it would go a long way in making it easier to maintain.

This is per-ontology, not per-class? Why not just provide a template OWL file and merge it in?


Reply to this email directly or view it on GitHub: https://github.com/protegeproject/protege/issues/283#issuecomment-158884964

matthewhorridge commented 8 years ago

I've added a preferences panel for specifying the user name (by default the system user name) and an ORCID:

userprefs

and a preferences panel for configuring the author and timestamp annotations.

metadataprefs

If you annotate entities with ORCIDs then the values are actually IRIs and are clickable - clicking opens a browser and displays info about the person (assuming a valid ORCID).

example

Some things may need tweaking, but this will be available in the next release.