Dear all,

I've been doing some work recently using the CRM rdfs.
http://cidoc.ics.forth.gr/rdfs/cidoc_v4.2.rdfs

The naming convention adopted for the class and property identifiers strikes me 
as inconvenient in some respects.
Currently, the names used for the class and property identifiers contain both 
the CRM code and the English label.

1. If the labels get changed at any time in the future, the identifiers are 
broken
2. Non English speakers are put at a disadvantage
3. The rdf syntax is more verbose than necessary ... this may sound trivial but 
that overhead can be huge when migrating large datasets.
4. The names have been mangled with underscores to make them respect xml/rdf 
syntax. 

I would suggest using just the codes (i.e. E1, P2, etc.) as class identifiers 
and including the names (in various languages) as rdf:labels.

The result would like something like this:

<rdfs:Classrdf:ID="E21"> 
      <rdfs:labelxml:lang="en">Person</rdfs:label> 
      <rdfs:labelxml:lang="fr">Personne</rdfs:label> 
      <rdfs:labelxml:lang="gr">Πρόσωπο</rdfs:label> 
      <rdfs:subClassOf rdf:resource="#E20"/> 
      <rdfs:subClassOf rdf:resource="#E39"/> 
</rdfs:Class>
 
Rather than this:
    
<rdfs:Classrdf:ID="E21.Person"> 
      <rdfs:subClassOf rdf:resource="#E20.Biological_Object"/> 
      <rdfs:subClassOf rdf:resource="#E39.Actor"/> 
</rdfs:Class>

(NB I've removed the rdfs:comments for clarity)

It would be nice, of course, to be able to have both forms and define 
equivalence relationships between them. 
This could perhaps be done with the rdfs:isDefinedBy property? but I'm not sure 
that it's meant for this.

Best wishes

Nick Crofts


 

Reply via email to