---
# System prepended metadata

title: Application profiles

---

# Application profiles
January, 2023
By the [Application Profiles Working Group](https://www.dublincore.org/groups/application-profiles/)

An application profile defines metadata for a specific application. It describes, explains, and defines rules for how existing vocabularies and models should be used in a metadata instance.

Profiles are often created as texts that are intended for a human audience. These texts generally employ tables to list the elements of the profile and related rules for metadata creation and validation. Such a document is particularly useful in helping a community reach agreement on its needs and desired solutions. To be usable for a specific function these decisions then need to be translated to computer code, which may not be a straightforward task.

## Dublin Core Tabular Application Profiles (DCTAP)

DCTAP is a model developed by the [Dublin Core Application Profiles Working Group](https://github.com/dcmi/dctap). The goal of the DCTAP work is to provide a simple model that anyone can use to define their application profle. In keeping with the "core" philosophy of Dublin Core, this model does not attempt to cover every possible need but can be extended. The DCTAP uses a table format and only 12 primary elements, most of which are optional. The table requires no specific technical knowledge beyond the understanding of the metadata use case. It is intended to be eventually saved in a machine-actionable CSV (comma separated values) file which can then be input to application programs.

### Documents in this project

* [DCTAP Primer](https://dcmi.github.io/dctap/TAPprimer.html): The best starting point for understanding DCTAP. With just the primer you should be able to create your first DCTAP.
* [DCTAP Elements](https://dcmi.github.io/dctap/TAPelements.html): A basic list of elements with their definitions.
* [Framework for Talking About Metadata and Application Profiles](https://dcmi.github.io/dctap/talking\_about\_metadata.html): If you experience any confusion about the terminology used in the project, see this document.
* [DCTAP Cookbook](https://dcmi.github.io/dctap/DCTAP-Cookbook.html): Examples of extensions and other complex uses of DCTAP. The Cookbook is and will remain a work in progress.
* [Presentations](https://github.com/dcmi/dctap/tree/main/media) and [examples](https://github.com/dcmi/dctap/tree/main/examples) in the github repository. 

## Implementing DCTAP
### Starter files
There are three files on the working group's github site that you can use to begin your DCTAP. They each contain all of the columns of a DCTAP, but you can delete columns that you do not need.
* [Plain CSV](https://github.com/dcmi/dctap/blob/main/TAPtemplate.csv) which can be read by any spreadsheet program
* [Tab-delimited text (TSV)](https://github.com/dcmi/dctap/blob/main/TAPtemplate(TSV).txt) which can be read by any spreadsheet program
* [Microsoft Excel](https://github.com/dcmi/dctap/blob/main/TAPtemplate.xlsx) format
* [Open Office](https://github.com/dcmi/dctap/blob/main/TAPtemplate.ods) format


### Processing programs
These programs process the contents of the DCTAP directly and prepare the data for further use.
* dctap-python [documentation](https://dctap-python.readthedocs.io/en/latest/)

These programs (in progress) make use of the elements of a DCTAP.

* TAP-to-SHACL [github](https://github.com/philbarker/TAP2SHACL)
* TAP-to-ShEx [github](https://github.com/tombaker/tapshex)

### Examples
* [Simple book](https://github.com/dcmi/dctap/tree/main/examples/simple-book)
* [DCAT-AP](https://github.com/dcmi/dctap/tree/main/examples/dcat-ap)

## Background work
* [Guidelines for Dublin Core Application Profiles](https://www.dublincore.org/specifications/dublin-core/profile-guidelines/)
* The [Singapore framework](https://www.dublincore.org/specifications/dublin-core/singapore-framework/), developed in 2008, provides a context for application profiles as a stack of work items. 
* [Description Set Profiles](https://www.dublincore.org/specifications/dublin-core/dc-dsp/) an application profile constraint language based on the Singapore Framework
* [DCMI Abstract Model](https://www.dublincore.org/specification_status/recommendation/) is a general model of metadata that informs the application profile work



