Version 18 (modified by peter, 14 years ago)

Toned down the bold "don't use arguments in URLs" text.

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. sorting a before b). When minting new URLs for use as URIs please 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 is the same as (the community recommend to use the later) or is the same as (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

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.