- From: Thomas Baker <tbaker@tbaker.de>
- Date: Wed, 16 Mar 2011 17:31:00 -0400
- To: Alistair Miles <alimanfoo@googlemail.com>
- Cc: Simon Reinhardt <simon.reinhardt@koeln.de>, Bob DuCharme <bob@snee.com>, SKOS <public-esw-thes@w3.org>
On Wed, Mar 16, 2011 at 11:18:45AM +0000, Alistair Miles wrote: > > Doesn't answer your question, but: > > The DC terms namespace contains all the elements properties, so http://purl.org/dc/terms/title exists: > > http://dublincore.org/documents/dcmi-terms/#terms-title > > AFAIK all the properties from the dc elements namespace have been "copied" > into the dc terms namespace. I believe the main reason for doing this was > to allow domains and ranges to be defined on the properties in the dc terms > namespace. E.g., dcterms:title has range rdfs:Literal, and dcterms:author has > range dcterms:Actor. I think the hope was to support more consistent usage of > properties like dcterms:author (usage of http://purl.org/dc/elements/1.1/author > is highly variable, and many people will put literals in the object position). > > So if you're doing RDF, the http://purl.org/dc/elements/1.1/ namespace is > effectively deprecated, use http://purl.org/dc/terms/ instead. If you want > to know more, Tom Baker is the man to ask. Thank you for the good summary, Alistair! (Note: s/author/creator/, s/Actor/Agent/) This question will be at the top of a revamped FAQ, as it keeps coming up, and in many contexts. Two years ago on this very list, I wrote [1]: DCMI has gotten alot of positive feedback from the Semantic Web community on the "makeover" of DCMI properties with domains and ranges. A longer explanation, with historical context: dc:title [1] and dc:subject [2] (and the other thirteen Dublin Core properties) were among the first RDF properties declared anywhere. They were declared as RDF properties before W3C standardized the notion of "range" in the RDF Schema specification. As RDF matured, the DC properties became criticized in SW circles for being underspecified. DCMI wanted to assign ranges, but in doing so did not want to "break" existing legacy data, which used "subject" (for example) both with literal and non-literal values. As described in [4, paragraphs starting "Formal domains..."], DCMI resolved this dilemma by creating fifteen properties in the /terms/ namespace in parallel to the corresponding terms in the /elements/1.1/ namespace, and declared the former as subproperties of the latter. It is not actually incorrect to continue using dc:subject and dc:title -- alot of Semantic Web data still does -- and since the range of those properties is unspecified, it is not actually incorrect to use (for example) dc:subject with a _literal_ value or dc:title with a _non-literal_ value. However, good Semantic Web practice is to use properties consistently in accordance with formal ranges, so implementers are encouraged to use the more precisely defined dcterms: properties. Tom (wearing his DCMI hat) [1] http://dublincore.org/documents/dcmi-terms/#elements-title [2] http://dublincore.org/documents/dcmi-terms/#elements-subject [3] http://dublincore.org/documents/dcmi-terms/#H1 [4] http://dublincore.org/documents/dcmi-terms/#terms-subject [5] http://lists.w3.org/Archives/Public/public-swd-wg/2009Jan/0000.html Tom [1] http://lists.w3.org/Archives/Public/public-esw-thes/2009Jun/0017.html -- Tom Baker <tbaker@tbaker.de>
Received on Wednesday, 16 March 2011 21:31:47 UTC