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 (
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:
-
a number of RDF idioms are no longer supported, such as Containers, Reification, "poor man's structured values", "poor mans language qualification", and more.
-
the regularity of expression has been greatly increased. There are no longer a "simple" and "qualified" version of the RDF encoding.
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.