|Version 17 (modified by peter, 3 years ago)|
Which URI to use in your RDF?
Guideline 1: Be polite.
When referring to third-party data, use the URL that the data provider uses.
Ideally there should be no HTTP GET arguments in that URL, but if there are to avoid ambiguity for string comparison sort them in alphabetical order (e.g. http://www.example.com/?a=100&b=2 sorting a before b). (though it cannot be under-stated just how BAD & WRONG it is to put arguments in your URL!!) When minting new URLs please try to avoid this...
Guideline 2. If there is no official URL
Often a provider offers multiple URLs for the same resource. e.g. the entrez query http://www.ncbi.nlm.nih.gov/sites/entrez?Db=pubmed&Cmd=ShowDetailView&TermToSearch=22177139 is the same as http://www.ncbi.nlm.nih.gov/pubmed/22177139 (the community recommend to use the later) or http://www.ebi.uniprot.org/entry/P05067 is the same as http://purl.uniprot.org/uniprot/P05067 (where UniProt? asks you use the later, which will give RDF if your HTTP header requests it).
Document the URI pattern you use on freebase, to encourage uniformity. Exact Freebase URL to be confirmed, see http://www.freebase.com/view/user/biohackathon/
If you want to link to a provider for which the official URL is not clear, document the one you use on Freebase. State that you do not know if it is supported. Other providers should follow this first-come-first-served convention UNTIL the original provide states otherwise (see Guideline 1).
Guideline 3. Confusion
Sometimes there is more than provider and thus more than one official URI for a record about a common concept, which can happen with consortia. e.g. PDB is available at PDBj, PDBe, RCSB PDB. Then choose the one that you prefer. Consider adding owl:seeAlso references between them, in strong preference over owl:sameAs due that giving misleading semantics.