Re: best practice property to use for naming a skos:ConceptScheme

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