In the latest RDF/XML DCTERMS document http://purl.org/dc/terms/, I believe there is a mistake at line 268. Specifically, it reads: " ... <rdf:type rdf:resource="&rdfns;Class"/> ... " whereas it should read as: " ... <rdf:type rdf:resource="&rdfsns;Class"/> ... " since the rdfs:Class is defined in rdfs and not in rdf namespace. Furthermore, I would like to ask if someone knows why rdf:type is used in the first place for defining the type of the resources &dctermsns;RFC1766 and &dctermsns;ISO639-2? Both of these resources already have a type, which is dcterms:LanguageScheme. E.g. ISO639-2 (I quote from http://purl.org/dc/terms/): <dcterms:LanguageScheme rdf:about="http://purl.org/dc/terms/ISO639-2"> <rdfs:label ...>...</rdfs:label> <rdfs:comment ...>...</rdfs:comment> <rdf:type rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Class"/> ;;;;;;;;;;;;; which is wrong as I mentioned above ;;;;;;;;;;;;; <rdfs:seeAlso rdf:resource=.../> <rdfs:isDefinedBy .../> <dcterms:issued>...</dcterms:issued> </dcterms:LanguageScheme> The above translates in N3 syntax as: <http://purl.org/dc/terms/ISO639-2> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.org/dc/terms/LanguageScheme> . ... <http://purl.org/dc/terms/ISO639-2> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/1999/02/22-rdf-syntax-ns#Class> . i.e. the resource <http://purl.org/dc/terms/ISO639-2> has 2 types. The above is of course perfectly legal RDF, as a resource can have multiple types in RDF, but rather confusing in its meaning. I guess that the intended meaning is that: dcterms:ISO639-2 is an instance of dcterms:LanguageScheme (which is an instance of rdfs:Class), but dcterms:ISO639-2 is also a class itself, that's why we make it an instance of rdfs:Class, too. I believe that the above semantics could be more elegantly and comprehensibly encoded in RDF as follows: dcterms:LanguageScheme rdf:type rdfs:Class (which is already there) dcterms:LanguageScheme rdfs:subClassOf rdfs:Class (this is new, and makes dcterms:LanguageScheme a meta-class, i.e. a class of classes) dcterms:ISO639-2 rdf:type dcterms:LanguageScheme (which is already there) ... and nothing more about dcterms:ISO639-2 typing. In this way it is clearly stated that dcterms:ISO639-2 is an instance of dcterms:LanguageScheme, which is a class of classes, therefore dcterms:ISO639-2 is a class itself. Below I quote the complete definitions of (I believe) the more elegant definition of dcterms:LanguageScheme and its instances: lines 247-273: <rdfs:Class rdf:about="http://purl.org/dc/terms/LanguageScheme"> <rdfs:label xml:lang="en-US">Language Encoding Schemes</rdfs:label> <rdfs:comment xml:lang="en-US">A set of language encoding schemes and/or formats.</rdfs:comment> <rdfs:subClassOf rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Class"/> <dcterms:references rdf:resource="http://purl.org/dc/elements/1.1/'language"/> <rdfs:isDefinedBy rdf:resource="http://purl.org/dc/terms/"/> <dcterms:issued>2000-07-11</dcterms:issued> </rdfs:Class> <dcterms:LanguageScheme rdf:about="http://purl.org/dc/terms/RFC1766"> <rdfs:label xml:lang="en-US">RFC1766</rdfs:label> <rdfs:comment xml:lang="en-US">Internet RFC 1766 'Tags for the identification of Language' specifies a two letter code taken from ISO 639, followed optionally by a two letter country code taken from ISO 3166. </rdfs:comment> <rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/> <rdfs:seeAlso rdf:resource="http://www.ietf.org/rfc/rfc1766.txt"/> <rdfs:isDefinedBy rdf:resource="http://purl.org/dc/terms/"/> <dcterms:issued>2000-07-11</dcterms:issued> </dcterms:LanguageScheme> <dcterms:LanguageScheme rdf:about="http://purl.org/dc/terms/ISO639-2"> <rdfs:label xml:lang="en-US">ISO 639-2</rdfs:label> <rdfs:comment xml:lang="en-US">ISO 639-2: Codes for the representation of names of languages.</rdfs:comment> <rdfs:seeAlso rdf:resource="http://www.loc.gov/standards/iso639-2/langhome.html"/> <rdfs:isDefinedBy rdf:resource="http://purl.org/dc/terms/"/> <dcterms:issued>2000-07-11</dcterms:issued> </dcterms:LanguageScheme> Thanks, Nick Bassiliades -- ************************************************************** * Dr. Nick Bassiliades * * * * Programming Languages And Software Engineering (PLASE) Lab * * Logic Programming and Intelligent Systems (LPIS) Group * * * * Dept. of Informatics, Aristotle University of Thessaloniki * * 54006 Thessaloniki, Greece * * * * Tel: +30310998418 E-mail: [log in to unmask] * * Fax: +30310998419 URL: http://www.csd.auth.gr/~nick * **************************************************************