[Crm-sig] CIDOC CRM URI management

Richard Light richard at light.demon.co.uk
Thu Jan 16 20:36:20 EET 2020

On 16/01/2020 12:09, George Bruseker wrote:
Dear all,

I agree that this is an ongoing issue that creates barriers to uptake because of confusion. It is an oft repeated question and deserves a clear answer. We need a solution based on community wide best practice. Suggestions?


It sounds as though there are a number of issues here:

  *   what is returned (HTML or RDF)
  *   which version of the CRM is returned (how to know which you have; how to specify which one you want)
  *   how much of the CRM is returned (one concept or the whole thing). If it's the whole thing, where are you placed within it
  *   whether to return a set of RDFS statements or an OWL ontology

As things stand, the Erlangen implementation returns an OWL ontology. This includes version information. By default (in my Firefox browser) Erlangen returns an RDF/XML response.  You are placed at the start of this document.  So you get the same response, no matter which CRM class or property you specified in the URL.

Our implementation returns a set of RDFS class and property statements. By default it redirects to an HTML response, and uses the '#' notation (supported in native HTML) to place you at the correct place within that web page. The version number is given, but only as a human-readable heading.  If you specify RDF/XML in your HTTP request (e.g. using curl), it redirects to RDF/XML and gives you the whole thing, again starting from the beginning.

I think our approach (human-readable response by default) is the better one, especially as you end up reading about the concept you expressed an interest in. It would be nice if the RDF response could also take you to the correct declaration - this would require the addition of IDs to each declaration, plus the addition of a '#' to the redirected URL. (? does this work for XML docs?)  The RDF response could also be improved by the addition of a machine-processible header, including version info and possibly links to the various versions that are available.

Which brings us to the question of supporting different versions. Erlangen have the concept of 'current', which at 6.2.1 is rather more current than we manage. However, I don't see any way of getting at earlier versions.  We could support a URL pattern:


which would allow users to explicitly state which CRM version they are conforming to.

If we can agree on a spec for improved RDF delivery, I would be happy to help implement it.




On Thu., Jan. 16, 2020, 12:51 p.m. Francesco Beretta, <francesco.beretta at cnrs.fr<mailto:francesco.beretta at cnrs.fr>> wrote:
Dear all,

I have a question about CIDOC CRM URI management.

The last published version of CRMbase is 6.2.1. If I take the RDF
serialization, I find this base URI:


If I sent this URI in the web:


I have an error message.

If I sent this URI in the web:


I'm dereferenced on verson 5.0.4.

The machine cannot know which version of CRM is considered.

I have then the Erlangen URI:


dereferencing on a document of the whole version.

There are additional, earlier specific versions.

I have an issue in OntoME: which URI is to be used ?

We have a provisional, not dereferenced URI:


It is there to avoid confusion but it's bad practice.

I'm asking myself what to do, and people adopting the CRM are asking me
these kind of questions, beeing not happy with this situation.

I think there was already a discussion about this point in the SIG.

Shouldn't we find, and implement, a solution that meets current

The same issue is raised of course about the extensions familiy.



Crm-sig mailing list
Crm-sig at ics.forth.gr<mailto:Crm-sig at ics.forth.gr>

Crm-sig mailing list
Crm-sig at ics.forth.gr<mailto:Crm-sig at ics.forth.gr>

Richard Light
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ics.forth.gr/pipermail/crm-sig/attachments/20200116/3347fbba/attachment-0001.html>

More information about the Crm-sig mailing list