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
