> DCRDFTaskforce/DCRDFExecutiveSummary

Note: The following text is retained here for historical purposes only. No further editing takes place here.

Important changes in the new Dublin Core RDF Encoding

This is a summary of the most fundamental changes appearing in the new "Encoding Dublin Core in RDF" draft.

About this note

DCMI is currently considering the assignment of domains and ranges to DCMI metadata terms. Such a step would have important implications for the interpretation of legacy metadata. This note presents a high-level view of the issue and its implications. No such changes will be undertaken by DCMI until their impact has been well understood and discussed in a public comment period. Implementers with an opinion about the issues presented here are invited to participate in discussion on the DCMI Architecture Working Group mailing list ([WWW]http://www.jiscmail.ac.uk/lists/dc-architecture.html).

Support for the DCAM

The new recommendation is based on the DCMI Abstract model. Among the fundamental changes are that:

Support for domains and ranges

The new recommendation supports the use of domains and ranges for properties. The definitions of the Dublin Core properties are being supplemented with explicit specifications of domains and ranges that were previously implicit in the wording of the definitions.

For this reason, plain RDF literal values of properties are now only allowed when the range of the property includes rdfs:Literal. This alone will make many current uses of Dublin Core in RDF invalid. For example, it is no longer valid to state

<http://www.example.com>   dc:creator  "John Smith".
The reason is in the definition of dc:creator, the value of the property is "an entity primarily responsible...", and the RDF Literal string "John Smith" is no such entity. Had the dc:creator property been defined to accept as values the name of the entity, "John Smith" would have been an acceptable value.

Instead, the RDF encoding now only allows the following forms of the RDF expression:

<http://www.example.com>   dc:creator         _:xxx.
_:xxx                      rdf:type           foaf:Person
_:xxx                      dcrdf:valueString  "John Smith"

or

<http://www.example.com>   dc:creator  <http://www.example.org/person32>

where http://www.example.org/person32 is a resource of a valid type for entities. Note that the foaf:Person class is just an example of a possibly valid class, and that the dcrdf:valueString property might have a different name in the final version of the specification.

Assessment

The above changes are necessary for the integration of Dublin Core metadata into systems that implement the semantics of RDF, such as inference engines and ontology-based solutions. Previous recommendations from the DCMI have not taken these applications into account, which has resulted in an unknown amount of Dublin Core-based RDF data that is actually inconsistent with the definitions of the Dublin Core properties. The DC-RDF taskforce has judged that the above changes are necessary, albeit painful, to ensure the long-term viability of Dublin Core in RDF.