DC Application Profile

From MPDLMediaWiki
Revision as of 09:59, 19 June 2009 by Natasab (talk | contribs) (→‎External Links)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

This page is to summarize the DCMI specifications and concepts of DC Metadata profiles and howto create them.

DCMI Description Set Profile[edit]

Resources, properties and values are given in a Description set which can be defined in a Description Set Profile (DSP). A Description Set Profile (DSP) basically consists of Templates and Constraints. Templates are to express structures and Constraints limit those structures. The following graphic from DCMI shows the basic structure of a DSP:

Structure of DSP from http://www.dublincore.org/documents/2008/03/31/dc-dsp/


In the left part of the graphic all kinds of Templates are given. Templates describing

  • resources (Description Template)
  • statements or properties (Statement Template, Literal Statement Template, Non-literal Statement Template)


The right part of the graphic shows the different kinds of constraints that can occur in a DSP.

Constraints are used to define limitations on

  • resources e.g. only resources of type foaf:person are allowed (Resource Constraints)
  • properties e.g. a person has a property called foaf:name (Property Constraints)
    • two ways: giving an explicit list of allowed properties, requiring the property to be a sub-property of a given property
  • values e.g. the value of a special property must be a Literal (kinds of Literal Constraints, Value Constraints and Vocabulary Encoding Schemes)

Terms and Definitions[edit]

 An entity which uses a Unicode string as a lexical form, together with an optional language tag or datatype, to denote a resource (i.e. "literal" as defined by RDF [RDF].
 Dublin Core Abstract Model 
 A generic syntax for metadata records.
 DCMI syntax guidelines/DCMI Encodings
 Which use the generic syntax for concrete implementation encodings.

DCMI Application Profile (DCAP)[edit]

What is DCAP?[edit]

Dublin Core Application Profile (DCAP) is a description and specification of the metadata used in a particular application. It consists of one or more documents and contains:

  • Functional Requirements of the application (mandatory)
  • Domain Model - types of things that are described my metadata and relationships (mandatory)
  • Description Set Profile (DSP) - catalogue with metdata terms and constraints (mandatory)
  • Usage Guideline - describes how to apply the application profile, how the used properties are intended to be used in the application context etc.(optional)
  • Encoding Syntax Guidelines and Data Formats - which syntax/format is used to encode the data (optional)

Why DCAP?[edit]

  • Different applications have different metadata needs and use several formats and vocabularies.
  • need to provide metadata across applications and semantic interoperability.


  • DCAP is a framework that meets specific application needs while providing semantic interoperability with other applications on the basis of globally defined vocabularies and models (DCMI Profile Guidelines).
  • DCAP is generic and you can use it with any metadata terms that are defined in accordance with the RDF.

DCMI Abstract Model[edit]

What is DCAM?[edit]

  • it is an information model that specifies the components and constructs used in DC metadata
  • it defines how the components can be combined to create information structures
  • it is syntax independent
  • it uses the RDF concepts

DCAM deals with three basic concepts:

  • DCMI Resource Model
  • DCMI Description Set Model
  • DCMI Vocabulary Model

The DCMI Resource Model[edit]

What is a Resource?[edit]

  • DCMI uses the RDF idea of a resource: RDF defines a resource as anything that is identifiable by a URI reference [1]
  • each resource is described by one or more property-value pairs e.g. dc:creator "Hans Müller"
  • a property-value pair consists of one property (e.g. dc:creator) and one value (e.g. "Hans Müller")
  • each value can be a non-literal value (or resource: a physical, digital or conceptual entity) or a literal value
  • a literal is a Unicode String with an optional language tag or datatype e.g. "2005-03-06"^^xs:date

The DCMI Description Set Model[edit]

What is a Description Set?[edit]

  • set of one or more descriptions (each description describes a single resource)

What is a Description?[edit]

  • description is made of one or more statements (about one resource) and zero or one URI

What is a Statement?[edit]

  • instance of a property-value pair (property-URI and a value), e.g. dc:creator "Max Müller"

The DCMI Vocabulary Model[edit]

DCMI Process of Building an DCAP[edit]

Step 1: Defining Functional Requirements[edit]

  • involved people: service manager, experts in the material being used, technical application developers and potential endusers of the service
  • goal:
  • content: general goals and specific tasks.
    • user tasks that must be supported
    • developer needs

Ideally, functional requirements should address the needs of metadata creators, resource users, and application developers so that the resulting application fully supports the needs of the community

  • methodologies: e.g. business process modeling, methods for visualizing requirements (such as UML), definition of use cases and scenarios for a particular application

Step 2: Selecting or Developing a Domain Model[edit]

The Domain Model describes the entities or things appear in the application and the relationships between them. Picture 2 shows a sample.

Picture 2: A simple DCMI Domain Model, Source: http://dublincore.org/documents/2008/11/03/profile-guidelines/

Step 3: Selecting or Defining Metadata Terms[edit]

In this step all entities identified by building the Domain Model have to be described using Metadata Terms as properties.

Define a Description Set for each entity of the Domain Model[edit]

Each entity of the Domain Model is described by a Description Set [1], which contains of a list of Statements. A Statement is a property-value surrogate pair (e.g. dc:title = SimpleLiteral).


  Description Set: Book
     Statement: title
     Statement: creator
     Statement: date

Assign properties to Metadata Terms[edit]

Each Statement-property needs to be assigned to a Metadata Term. If no pre-defined term fits to the property intention, create a new one. Within a Description Set Metadata Vocabularies can be mixed up. Most metadata vocabularies are intended for a special purpose or special kinds of entities.


  Description Set: Book
     Statement: title
        Property: http://purl.org/dc/terms/title
     Statement: creator
        Property: http://purl.org/dc/terms/creator

Describe the property value[edit]

The property value have to be configured by considering the following issues:

  • is the value a free text or controlled vocabulary
  • does it have a special syntax format (Syntax Encoding Scheme, e.g. YYYY-MM-DD for date)
  • for controlled vocabulary: is there already a pre-defined list available?
    • Do you want to use the complete list as it is or use a customized version with extended or limited elements?
  • is the value a single string value like "text" (literal) or is it a composition of more values like "name, address, email" (non-literal)?
  • is it intended to store a URI to the value or refer to a value description?

Step 4: Designing the Metadata Record with a Description Set Profile[edit]

  • Description Set Profile (DSP) describes the metadata record in detail
  • DSP is a constraint language for DCAPs
  • DSPs are based on the Description Set Model, which is part of the DCAM
  • DSP contains one Description Template for each thing/entity in the domain model


  DescriptionSet: MyExample
     Description template: Book
     minimum = 1; maximum = 1
       Statement template: title
       minimum = 1; maximum = 1
         Property: http://purl.org/dc/terms/title

Step 5: Usage Guidelines[edit]

  • instructions to the person who creates the metadata records
  • the "how" and "why"
  • explain each property and decisions regarding the metadata record
  • some infos are also in the DSP, but more human-readable
  • Usage guideline can be included in DSP or a separate document

Step 6: Syntax Guidelines[edit]

Syntax Guidelines should help the developer to implement the Application Profile in a specific language. The DCMI has developed/is developing some encoding guidelines [2] in HTML/XHTML, XML, RDF/XML. But any other syntax can be used as long as the data conforms to the foundation standards defined in DCAP.

Appendix: Metadata Vocabularies[edit]

The following links refer to specifications of some common metadata vocabularies sorted by their purpose:

External Links[edit]


Powell, Andy, Mikael Nilsson, Ambjörn Naeve, Pete Johnston and Thomas Baker. DCMI Abstract Model. DCMI Recommendation. June 2007. http://dublincore.org/documents/2007/06/04/abstract-model/
Mikael Nilsson. DCMI Description Set Profile Model. Working Draft, December 2007. http://dublincore.org/architecturewiki/DescriptionSetProfile

Generic handling of metadata MPDL Draft