Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Identifiers #7

Open
mcdittmar opened this issue Mar 17, 2023 · 1 comment
Open

Identifiers #7

mcdittmar opened this issue Mar 17, 2023 · 1 comment

Comments

@mcdittmar
Copy link
Collaborator

Extracted from DM mail list (20160427 - Identifiers in Party package);
There was no discussion on the topic at the time, but its worth revisiting.

This is follow-up from a comment by Marcus during the previous review period which I'd like to discuss further to clarify the scope and details.

The comments are related to the various identifier attributes in the model.. specifically:

  • Curation.publisherDID:anyURI = IVOA Identifier format
  • DataID.creatorDID:anyURI = IVOA Identifier format
  • DataID.datasetID:anyURI = persistent identifier
    ? Publication.refCode:string = doi or bibcode or free text
    and
  • Publisher.publisherID:anyURI = IVOA Identifier of the publisher (rather than the dataset)

Marcus wrote:

(6)
I'd much rather see an Identifier type:

Identifier.kind: (publisher, creator, persistent, ...)
Identifier.form: (doi, ivoid, generic-uri, ...)
Identifier.value: (well, you know).

[kind and form would be open vocabularies with recommended terms defined in the standard).

(10) Having said that, I think orcids will become a smash hit in the near future if they aren't one already. Hence, I'd add

identifier

to the Party attributes. The stuff on defining identifiers as in (7)
applies here, too (if we go the URI way, we should say whether we
want orcid:0000-... or http://orcid.org/0000-...)

I like the idea of having an Identifier Type which makes it easier to migrate flavors of identifiers. I think I would prefer subclassing a base Identifier type, rather than having a 'form' attribute.

The 'kind' attribute comes from the suggestion that all the Dataset related Identifiers be assembled to a common list:
Dataset.Identifiers:Identifier[0..*]
which I'm also not in favor of.

So.. lets say we have an Identifier type, with some means of specifying the flavor (ivoaid, doi, bibcode, orcid, generic-uri).
We want to apply this type to:

  • Objects (Dataset IDs) == bibcode, doi, ivoaid, generic
  • Party-s (Publisher) == ivoaid, orcid, generic

Questions:

  1. How do we restrict the flavors which would be allowed for the various attributes?
    We don't want to see a 'bibcode' for the Publisher ID
    Perhaps 'form' as semanticconcept facilitates this.. allowing the same form under multiple topconcepts?

  2. Associating it with the Party..
    It's not clear to me if the identifier should be associated with the Party, or the Role.
    The same Individual can have multiple Identifiers which serve different roles. I have a Passport and a
    driver's license. In some cases, I can use either ID; but I cannot show the policeman my Passport when
    I am a driver, or the TSA agent my driver's licence when I'm a traveler.

    So, in some sense, I'd like to see the Role associated with a single Identifier which is appropriate for that role.
    However, let's say we have a Contact
    Contact extends Role which refers to an Individual

    If we swap out the Individual playing this role, then the identifier on Role would also need to change.. which
    doesn't seem right.

  3. Where should this type live?
    There was an Identity type in the 'ivoa' base types model which leans in this direction, but is not the same.
    Or it could be defined in the Party package.. assuming we incorporate it to some object there.

@pahjbo
Copy link
Member

pahjbo commented Mar 20, 2023

Where should this type live?
There was an Identity type in the 'ivoa' base types model which leans in this direction, but is not the same.
Or it could be defined in the Party package.. assuming we incorporate it to some object there.

I would be in favour of putting the idea of an identifier in the base model (see for example ivoa/vo-dml#5) as I think that it would encourage a consistent reuse.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants