bridgedb / BridgeDb

The BridgeDb Library source code
https://bridgedb.org/
Apache License 2.0
28 stars 21 forks source link

introduce API for "secondary" identifiers #59

Closed egonw closed 4 years ago

egonw commented 7 years ago

Many databases have the concept of secondary identifiers, e.g. of deprecated identifiers, replaced by new identifiers. This issue is to coordinate the work to update the data model and APIs to support this notion.

AlasdairGray commented 7 years ago

Are these some form of internal linkset?

egonw commented 7 years ago

Actually, yes... do you got ideas about that? Mind you, they are directed linksets...

AlasdairGray commented 7 years ago

Actually, yes... do you got ideas about that?

We did some in OPS. Maybe not strictly internal, but when we went from your ChEMBL-RDF to the EBI one we had to do something similar. But ultimately they can just be linksets. That way people can choose to use them or not.

Mind you, they are directed linksets...

Not sure what you mean here. All linksets are directed, but many use symmetric properties. We have used non-symmetric ones already in OPS.

egonw commented 7 years ago

ChEMBL-RDF <> ChEBI is not internal. I'm talking about ChEBI<>ChEBI.

AlasdairGray commented 7 years ago

ChEMBL-RDF <> ChEBI is not internal. I'm talking about ChEBI<>ChEBI.

Yes I realise that. That is not what I was claiming. I was talking about the evolution of ChEMBL.

Another example would be the OPS-CRS linksets that link stereo forms with their non-stereo form.

egonw commented 7 years ago

Well, I did not want to oppose the idea of linksets, I was more thinking about the predicate to use, and how to annotate the reason why it is linked.

AlasdairGray commented 7 years ago

Important considerations but probably case dependent.

If the identifier space was restructured then exact match would seem appropriate.

However, if it is to do with splitting two items or something of that kind then close match.

For both a suitable justification would need to be used.

egonw commented 4 years ago

This was implementated last year in a Google Summer of Code project.