The Profiles Vocabulary is an RDF vocabulary created to allow the machine-readable description of profiles of specifications for information resources. It can be used to describe profile hierarchies wherein profiles of specifications may themselves have profiles indicated. It can also link multiple profile resources that make up a profile - guidelines, validation tools, schemas, term lists and so on - to it and allows for those profile resources to be described with formats, roles, and digital artifacts.

The namespace for PROF terms is http://www.w3.org/ns/dx/prof/.
The PROF vocabulary, defined in OWL and encoded in RDF Turtle, is available at prof.ttl.

Overview of DXWG documents on profiles

This document is one from a set of documents on profiles, edited by the W3C Dataset Exchange Working Group (DXWG) and the Internet Engineering Taskforce (IETF). The documents are:


This Profiles Vocabulary (PROF) provides a standardized, structured and human- & machine-readable set of terms to describe profiles. Its development was triggered by the appearance of multiple profiles of the Dataset Catalog Vocabulary (DCAT) [[VOCAB-DCAT]] and examples of profile description and implementation guidance systems such as the Guidelines for Dublin Core Application Profiles [[DCAP]] and the OpenGeospatial Consortium's Standard for Modular specifications [[MODSPEC]].

Profiles aim to increase interoperability within a community of users by introducing constraints, extensions or combinations on the use of more general specifications. PROF is an RDF vocabulary created to describe relations between specifications and profiles and the profile resources that define and implement profiles. A specification is "A basis for comparison; a reference point against which other things can be evaluated." (see the definition below) and a profile, perhaps an application profile, is defined as "A [data/application] specification that constrains, extends, combines, or provides guidance or explanation about the usage of other [data/application] specifications". Profile resources may be human-readable documents (PDFs, textual documents), vocabularies, schemas or ontologies (XSD, RDF), constraint language resources used by specific validation tools (SHACL, ShEx, Schematron), or any other files or profile resources that support the profile. In this specification, each profile resource is able to have roles assigned to it that define its functions within the profile.

This vocabulary's ontological basis for specification/profile relations is a specialization of the dct:Standard class which is defined here as a prof:Profile. A prof:Profile instance is related to either dct:Standard or prof:Profile instances by being a profile of them, formally, prof:isProfileOf. Resources that conform to either a dct:Standard or a prof:Profile are formally described as doing so with the use of the dct:conformsTo predicate.

Data that conforms to a profile, in PROF, must conform to anything the profile is a profile of. To represent this formally, this vocabulary includes the property chain axiom dct:conformsTo owl:propertyChainAxiom ( prof:isProfileOf dct:conformsTo ). Individual communities may define what conformance to their profiles and the things they profile means and how to test for conformance if indeed they wish to.

In recognition of the existence of specifications and profiles that are made up of multiple resources – perhaps PDF documents, machine-readable constraint language files, code lists etc. – this vocabulary also provides for the description of the parts that constitute a profile or a specification. It defines a prof:ResourceDescriptor class which is used to qualify the relationship between a profile and profile resources. A prof:Profile may have any number of prof:hasResource predicates indicating prof:ResourceDescriptor instances which then indicate the location (a URI) of the actual profile resource artifact with a prof:hasArtifact predicate and then may describes the artifact's format and any specifications it conforms to with dct:format & dct:conformsTo predicates respectively. The role that the profile resource plays with respect to the profile may be indicating using a prof:ResourceRole class instance linked to it with the prof:hasRole predicate.

A vocabulary of prof:ResourceRole instances is provided in but communities are encouraged to create additional prof:ResourceRole instances with definitions suited to their purposes and, in the best case, to publish those additional instances for others to reuse.

For the purpose of compliance, the normative sections of this document are:

Diagram Conventions

All diagrams in this specification, apart from , use elements defined in this key. The namespace prefixes in the key are defined in .

Diagram's element key
A key of the elements used in this specification's diagrams



A basis for comparison; a reference point against which other things can be evaluated.

Source: DCMI Metadata Terms [[DCTERMS]]'s definition for a Standard.

data specification

A specification, with human- and/or machine-processable representations, that defines the content and structure of data used in a given context.

data profile

A data specification that constrains, extends, combines, or provides guidance or explanation about the usage of other data specifications.

This definition includes what are sometimes called "application profiles", "metadata application profiles", or "metadata profiles". In this document, "data profile" and these other variants are all referred to as just "profiles".

data resource
An entity is identified by a URI. Familiar examples include an electronic document, an image, a source of information with a consistent purpose. [[RFC3986]]
Information that is supplied about a resource. [[RFC3986]]

A short name identifying something.

In the context of this specification, it is a profile that is usually identified by a token.


The namespace for PROF is http://www.w3.org/ns/dx/prof/, however, PROF makes use of terms from other vocabularies, in particular Dublin Core [[!DCTERMS]]. PROF itself only defines a small set of classes and properties of its own.

PROF also makes use of derivative namespaces of its own namespace for auxiliary vocabulary elements, such as instances of the prof:ResourceRole which are within the http://www.w3.org/ns/dx/prof/role/ namespace.

A full set of namespaces and prefixes used in this specification is given in the table below.

(others)All other namespace prefixes are used in examples only.
In particular, IRIs starting with "http://example.org" represent some application-dependent IRI [[RFC3987]]


Until this vocabulary's creation, there was no formal W3C method for describing profile objects (Internet resources).

There are a multitude of possible ways to describe the components needed to define a profile and support validation of data claiming conformance to profiles, such as:

Describing the components within a profile with documents or constraint languages only does not indicate many things that may be important or interesting to know about a profile such as:

Regarding profile/specification relations, a mechanism to relate profiles to specifications and other profiles, would allow both immediate knowledge of what things a profile profiles and also allow profile hierarchies to be established which could:

Motivating Requirements

For the purposes of dataset exchange and with the lack of a formal W3C method for describing the objects related to profiles, the DXWG undertook a process of Use Case and Requirements gathering. They established the Dataset Exchange Use Case and Requirements document (the UCR document) [[DCAT-UCR]] which groups requirements for profiles into the following sections:

PROF addresses many of those Requirements – those that can be addressed by describing profile components and relations – and those Requirements link back to the Use Cases that motivated them.

The UCR document lists a further profiles Requirements section: 6.14 Profile and content negotiation however those are not addressed here but by the related [[DX-PROF-CONNEG]] document.

Related Work

Here several RDF vocabularies related to PROF are described as well as non-RDF initiatives and models.

Conceptual Model

Vocabulary overview diagram
OWL [[OWL2-OVERVIEW]] overview diagram of this vocabulary

This vocabulary is for describing relationships between standards/specifications, profiles of them and supporting artifacts such as validating resources.

The model takes the dct:Standard Class as a starting point and defines a specialization, a Profile, which is a dct:Standard that profiles a dct:Standard or another Profile. Standardss or Profiles can have Resource Descriptors associated with them that define rules for implementation, provide guidance on how to implement, or play some other role. Resource Descriptors must indicate the role they play (to guide, to validate etc.), the formalism they adhere to (dct:format) and any dct:Standard that they themselves conform to (dct:conformsTo).

Any rdfs:Resource MAY indicate conformance to a profile as per by using dct:conformsTo. Individual communities MAY determine what constitutes an appropriate URI to identify a profile.

The remainder of this section is informative.

Initial Examples

The example below illustrates the use of most parts of PROF and indicates how non-PROF profile metadata is stored alongside PROF metadata.

A full example profile described using common metadata and the Profiles Vocabulary
@prefix dct: <http://purl.org/dc/terms/> .
@prefix prof: <http://www.w3.org/ns/dx/prof/> .
@prefix role: <http://www.w3.org/ns/dx/prof/role/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

<http://example.org/profile/x>  # a Profile; it's identifying URI
  a prof:Profile ;

  # common metadata for the Profile

  # the Profile's label
  rdfs:label "Profile X" ;

  # regular metadata, a basic description of the Profile
  rdfs:comment """This is a Profile of Dublin Core Terms used to describe items in
CSIRO's publications catalogue."""@en ;

  # regular metadata, URI of publisher
  dct:publisher <http://catalogue.linked.data.gov.au/org/O-000886> ;

  # PROF metadata

  # this is a profile of Dublin Core Terms, referenced by its namespace
  prof:isProfileOf <http://purl.org/dc/terms/> ;

  # this profile has a SHACL profile resource that constrains it's use of Dublin Core
  prof:hasResource [
    a prof:ResourceDescriptor ;

    # it's in Turtle format
    dct:format <https://w3id.org/mediatype/text/turtle> ;

    # it conforms to SHACL, here refered to by its namespace URI as a Profile
    dct:conformsTo <https://www.w3.org/TR/shacl/> ;

    # this profile resource plays the role of "Validation"
    # described in this ontology's accompanying Roles vocabulary
    prof:hasRole role:Validation ;

    # this profile resource's actual file
    prof:hasArtifact <http://example.org/profile/x/resource/validator.ttl>
  ] ;

  # other profile resources this profile contains
  prof:hasResource ... ;

  # a short code to refer to the Profile with when a URI can't be used
  prof:hasToken "profx"

The following example demonstrates how data resources can indicate conformance to a profile. Note that in , there is also an example of this pattern whereby the ResourceDescriptor is indicated as conforming to the [[SHACL]] specification, which is also understood to be a profile to which things may conform.

# Profile X
<http://example.org/profile/x> a prof:Profile ;
      dct:title "Profile X" .

# A data resource indicating conformance to Profile X.
# In this example it's a DCAT Dataset's Distribution
      a dcat:Dataset ;
      dcat:distribution :dataset-001-x .

      a dcat:Distribution ;
      dct:title "Distribution of imaginary dataset 001 that conforms to Profile X" ;
      dcat:downloadURL <http://www.example.org/files/001.x> ;
      dct:conformsTo <http://example.org/profile/x> .

This next example shows how a conclusion about conformance can be drawn due to this vocabulary's inclusion of a property chain axiom about conformance.

# Profile X, is a profile of Specification Y
<http://example.org/profile/x> a prof:Profile ;
      prof:isProfileOf <http://example.org/specification/y>
      dct:title "Profile X" .

# A data resource indicating conformance to Profile X is given
      dct:conformsTo <http://example.org/profile/x> .

# Due to the property chain axiom:
# dct:conformsTo owl:propertyChainAxiom ( prof:isProfileOf dct:conformsTo )
# the data resource above can be inferred to conform to Specification Y
      dct:conformsTo <http://example.org/specification/y> .  # this triple is inferred

Roles Vocabulary

A starting point vocabulary of Resource Role instances that is expected to be extended by implementers of PROF to suite specialised needs is provided within this vocabulary in .

Vocabulary Specification

RDF representation

The PROF vocabulary is available in RDF via the vocabulary namespace (https://www.w3.org/ns/dx/prof/). Alongside the primary artifact, there is a set of other RDF files that provide additional information, including:

  1. alignments to other vocabularies, some of which are normative, and others which are for guidance only
  2. additional axioms, which can be useful in some contexts
  3. validating graphs using [[SHACL]]

These other artifacts are linked to throughout this document.


This vocabulary makes use of [[DCTERMS]] properties conformsTo & format in its normative specification.

Class: Profile

OWL Classprof:Profile

A specification that constrains, extends, combines, or provides guidance or explanation about the usage of other specifications.

This definition includes what are sometimes called "application profiles", "metadata application profiles", or "metadata profiles".

Sub class of:dct:Standard
Usage Note:The Profile class "may be used to model aspects of data structure and content (as per profile) or any other declared behaviour where a base specification can be identified and further requirements asserted.

Property: hasResource

RDF Property:prof:hasResource
OWL type:owl:ObjectProperty
Label:has resource
Definition:A resource which describes the nature of an artifact and the role it plays in relation to the Profile

Property: isProfileOf

RDF Property:prof:isProfileOf
OWL type:owl:ObjectProperty
Label:is profile of
Definition:A specification for which this Profile defines constraints, extensions, or which it uses in combination with other specifications, or provides guidance or explanation about its usage
Sub property of:prof:isTransitiveProfileOf
Usage Note:

A Profile may define constraints on the usage of one or more specifications. All constraints of these specifications are inherited, in the sense that an object conforming to a profile conforms to all the constraints specified the targets of prof:isProfileOf relations. This property is optional, allowing any specification to be declared at the root of a profile hierarchy using the Profile class.

Note that the axiom within this vocabulary that allows the inference that conformance to a profile means conformance to anything it profiles is part of the definition .

The use of this prof:isTransitiveProfileOf as a super-property of prof:isProfileOf allows communities of practice to exploit transitive interpretations of hierarchical network of profiles as they see fit, while not interfering with the semantics of prof:isProfileOf, which cannot enforce such transitivity. Intuitively, one can interpret prof:isProfileOf statements as explicitly asserted direct profiling links, while prof:isTransitiveProfileOf is used to reflect more-general (and possibly indirect) ancestor relationships.

Property: isTransitiveProfileOf

RDF Property:prof:isTransitiveProfileOf
OWL type:owl:ObjectProperty
Label:is a transitive profile of
Definition:A specification this Profile conforms to
Super property of:prof:isProfileOf
Usage note:

This is a convenience property that may be used to access all specifications (including other profiles) that could provide useful information and related resources for the Profile (for example, for better identifying conformance requirements). This avoids forcing clients to traverse a profile hierarchy to find all relevant resources. If this property is used, then all such relationships should be present so a client can safely avoid hierarchy traversal.

Property isTransitiveProfileOf in use. See the full explanation in the example text below.
# A profile that is within a hierarchy of profiles may wish to indicate it profiles
# things "further up the chain". To do this, prof:isTransitiveProfileOf can be used
# to indicate anything the profile is related to by a series of one or more
# prof:isProfileOf properties.

# Here the New Zealand profile of the ISO addressing standard is presented in a chain
# of profiles:

@prefix dct: <http://purl.org/dc/terms/> .
@prefix prof: <http://www.w3.org/ns/dx/prof/> .
@prefix role: <http://www.w3.org/ns/dx/prof/role/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

  a prof:Profile ;
  rdfs:label "New Zealand Profile of ISO19160-1" ;
  rdfs:comment """This is a country-specific profile of the international
                  addressing standard, ISO19160-1:2015 (Address)""" ;
  prof:isProfileOf <http://linked.data.gov.au/def/iso19160-1-address> .

# The ISO thing that the NZ Profile profiles is actually a Web Ontology Language
# (OWL) version of the original ISO addressing standard
  a prof:Profile ;
  rdfs:label "OWL Profile of ISO19160-1" ;
  rdfs:comment """This profile profiles both ISO19160-1 (Addressing) and also
                  the Web Ontology Language (OWL)""" ;
  prof:isProfileOf <https://www.iso.org/standard/61710.html> ,
                   <http://www.w3.org/2002/07/owl#> .

  a dct:Standard ;
  rdfs:label "ISO 19160-1:2015 Addressing -- Part 1: Conceptual model" .

# Now, according to the semantics of prof:isTransitiveProfileOf, using the
# prof:isProfileOf statements above, one can infer the following additional
# statements:

  prof:isTransitiveProfileOf <http://linked.data.gov.au/def/iso19160-1-address> ,
                             <https://www.iso.org/standard/61710.html> ,
                             <http://www.w3.org/2002/07/owl#> .

# These statements may help consumers understand which broad, well-known
# profiles data they have conforms to when they are presented only with its
# conformance to most specialised (lowest) profile in a hierarchy which they
# may not understand.

# In this example too, a user of the profile
# <http://linked.data.gov.au/def/iso19160-1-address-nz-profile> will also
# understand that data conforming to it is also conformant with OWL which is not
# in the direct hierarchy of addressing standards (iso19160-1-address-nz-profile >
# iso19160-1-address > ISO 19160-1:2015) but is critical to know about when using
# the specialised standard as it can indicate reasoning possibilities.

Property: hasToken

RDF Property:prof:hasToken
OWL type:owl:DatatypeProperty
Label:has token
Definition:The preferred identifier for the Profile, for use in circumstances where its URI cannot be used.
Usage note:A simple lexical form of identifier that may be accepted in some circumstances, such as API arguments or in content negotiation, to reference a profile. This is a “preferred term”, since alternative identifiers may be declared and used by any implementation

Class: ResourceDescriptor

OWL Classprof:ResourceDescriptor
Label:Resource Descriptor
Definition:A resource that defines an aspect - a particular part or feature - of a Profile
Usage note:Used to indicate the formalism (via dct:format) and any adherence to a dct:Standard (via dct:conformsTo) to allow for machine mediation as well as its purpose via relation to a ResourceRole (via hasRole)

Property: hasArtifact

RDF Property:prof:hasArtifact
Label:has artifact
Definition:The URL of a downloadable file with particulars such as its format and role indicated by the Resource Descriptor
Usage Note:A property to link from a Resource Descriptor to an actual information resource (rdfs:Resource; an individual) that implements it

Property: dct:conformsTo

This property is from the [[DCTERMS]] specification however the property chain axiom declared here is new in PROF.

RDF Property:dct:conformsTo
Label:Conforms To
Definition:An established standard to which the described resource conforms
Sub property of:dct:relation
Property Chain Axiom:owl:propertyChainAxiom ( prof:isProfileOf dct:conformsTo )
Usage note:

This property is to be used to show conformance of a data resource to a specification (dct:Standard) or a profile (prof:Profile).

The property chain axiom declared for this property means that if the thing conformed to is a profile of something else (indicated by prof:isProfileOf), then the conforming data resource will be inferred to be conformant to that other thing too.

PROF does not specify the nature of conformance: communities using specifications and profiles are free to define appropriate conformance for their purposes.

Property: dct:format

This property's details are from the [[DCTERMS]] specification.

RDF Property:dct:format
Definition:The file format, physical medium, or dimensions of the resource
Sub property of:dc:format

Property: hasRole

RDF Property:prof:hasRole
Label:has role
Definition:A description of a resource that defines an aspect - a particular part, feature or role - of a Profile
Usage note:A set of common roles are defined by the Profiles Vocabulary. These are not exhaustive or disjoint, and may be extended for situations where finer-grained description of purpose is necessary. A profile resource may perform multiple roles

Property: isInheritedFrom

RDF Property:prof:isInheritedFrom
Label:is inherited from
Definition:A base specification, a Resource Descriptor from which is to be considered a Resource Descriptor for this Profile also
Usage note:This property is created for the convenience of clients. When profile describers wish to allow clients to discover all profile resources relevant to a Profile without having to navigating an inheritance hierarchy of prof:profileOf relations, this predicate may be used to directly associate inherited Profile Descriptors with the Profile. If this property is present, it should be used consistently and all relevant profile resources a client may need to utilise the profile should be present and described using this predicate

To illustrate the use of prof:isInheritedFrom, the following example is given in both pictorial and code forms.

Property isInheritedFrom in use. Here the prof:ResourceDescriptor instance Profile Y, Resource Descriptor 2 refers to the same artifact (a constraints file) as Standard X, Resource Descriptor 1 and it is inherited by Profile Y from Standard X which Profile Y is a profile of.
# If Standard X, described using PROF, is given as having a Resource
# Descriptor, RD_1, with role "Full Constraints" as follows:

@prefix ex1: <http://example.org/profile1/> .
@prefix ex2: <http://example.org/profile2/> .
@prefix dct: <http://purl.org/dc/terms/> .Property isInheritedFrom in use.
@prefix prof: <http://www.w3.org/ns/dx/prof/> .
@prefix role: <http://www.w3.org/ns/dx/prof/role/> .

# example standard
# with a single resource indicated for this Standard
    a dct:Standard ;
    dct:title "Standard X" ;
    prof:hasResource ex1:RD_1 .

# Example ResourceDescriptor for Standard X
#   * conforms to the ShEx Expression Language
#   * in the JSON format
#   * used to validate instance data claiming conformance to Standard X
#   * the actual file described is ex1:constraints.json
    a prof:ResourceDescriptor ;
    dct:conformsTo <http://shex.io/shex-semantics-20191008/> ;
    dct:format <https://w3id.org/mediatype/application/json> ;
    prof:hasRole role:validation ;
    prof:hasArtifact ex1:constraints.json .

# then, a profile of Standard X, perhaps Profile Y, may use
# prof:isInheritedFrom to re-use that Resource Descriptor RD_1

    a prof:Profile ;
    dct:title "Profile Y" ;
    prof:isProfileOf ex1:Standard_X ;  # this is a profile of Standard X
        # Resource Descriptor 2 in diagram
        #   * inherited from Standard X
        #   * conforms to SHACL
        #   * in the Turtle format
        #   * with an example role Part Constraints - not defined. A changed role from
        #       the Resource Descriptor's role in relation to Profile_X
        #   * the actual file described is ex1:constraints.json
        a prof:ResourceDescriptor ;
        prof:isInheritedFrom ex1:Standard_X ;
        dct:conformsTo <https://www.w3.org/TR/shacl/> ;
        dct:format <https://w3id.org/mediatype/text/turtle> ;
        prof:hasRole ex:partConstraints ;
        prof:hasArtifact ex1:constraints.ttl
    ] ,
        # Resource Descriptor 3 in diagram. Not inherited from anywhere
        #   * constraints are Profile Y's on top of Standard X's
        #   * this is indicate with example Role Extension Constraints
        a prof:ResourceDescriptor ;
        dct:conformsTo <http://www.w3.org/ns/shacl#> ;
        dct:format <https://w3id.org/mediatype/text/turtle> ;
        prof:hasRole ex:extensionConstraints ;
        prof:hasArtifact ex2:extension_constraints.ttl
    ] .

Class: ResourceRole

OWL Classprof:ResourceRole
Label:Resource Role
Definition:A role that an profile resource, described by a Resource Descriptor, plays
Sub class of:skos:Concept
Usage note:Specific terms must come from a vocabulary. Such a vocabulary is provided in but other terms may also be used

Resource Role Instances

Here are a small set of Resource Role instances developed during the creation of this vocabulary. Applications may choose to extend this list as required with new and specialised Resource Role instances for their purposes.

These instances are both owl:NamedIndividuals and skos:Concepts and have basic SKOS [[SKOS-REFERENCE]] properties.

Resource Role: Constraints

SKOS Concept role:constraints
Pref Label:Constraints
Definition:Descriptions of obligations, limitations or extensions that the profile defines
Usage Note:Use this Role when you want to indicate the constraints that the associated Profile imposes on top of base specifications

Resource Role: Example

SKOS Concept role:example
Pref Label:Example
Definition:Sample instance data conforming to the profile
Usage Note:Use this Role when you want to provide instances of data conforming to the profile to inform users

Resource Role: Guidance

SKOS Concept role:guidance
Pref Label:Guidance
Definition:Documents, in human-readable form, how to use the profile
Usage Note:Many existing profiles treat their human-readable forms (PDF documents etc.) as authoritative. This role is suggestive of non-authoritativeness. For a role for a human-readable resource that is authoritative, see Specification.

Resource Role: Mapping

SKOS Concept role:mapping
Pref Label:Mapping
Definition:Describes conversions between two specifications

Resource Role: Schema

SKOS Concept role:schema
Pref Label:Schema
Alternate Label:Shape, Structure
Definition:Machine-readable structural descriptions of data defined by the profile

Resource Role: Specification

SKOS Concept role:specification
Pref Label:Specification
Definition:Defining the profile in human-readable form
Usage Note:This role indicates authoritativeness. For a role for a human-readable resource that is not authoritative, see Guidance

Resource Role: Validation

SKOS Concept role:validation
Pref Label:Validation
Definition:Supplies instructions about how to verify conformance of data to the profile
Usage Note:This role implies inclusion or import of inherited constraints

Resource Role: Vocabulary

SKOS Concept role:vocabulary
Pref Label:Vocabulary
Definition:Defines terms used in the profile specification


This section contains a few examples of PROF in use to demonstrate aspects of this vocabulary. While efforts have been made to ensure they are accurate at the time of this document's publication, they are not to be considered authoritative; their purpose is only to illustrate this vocabulary's use.


This example showcases this vocabulary's description of parts of an existing, well-known, profile.

DCAT-AP is the widely used European Application Profile of DCAT. DCAT-AP is described in document form (PDF & DOCX) and a constraints profile resource for instance validation is available, formulated using the W3C's Shapes Constraints Language constraints language [[SHACL]]. An image of the DCAT-AP model is also provided.

The figure uses elements from this vocabulary to describe part of the DCAT-AP Profile graphically - PDF & RDF profile resources only - to simplify the example.

Part of the DCAT-AP Profile described using this ontology. Here two two Resource Descriptors are shown relating to the Profile indicating profile resources with "Guidance" and "Constraints" roles.

In words this vocabulary's descriptions of DCAT-AP is:

In RDF (turtle format), DCAT-AP is described using the Profiles Vocabulary, with many properties not listed in the summary figure and description above as:

@prefix dc:    <http://purl.org/dc/elements/1.1/> .
@prefix prof:  <http://www.w3.org/ns/dx/prof/> .
@prefix role:  <http://www.w3.org/ns/dx/prof/role/> .
@prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .

  a prof:Profile ;
  prof:hasToken "dcat-ap" ;
  rdfs:label "DCAT-AP" ;
  rdfs:comment "DCAT Application Profile for data portals in Europe" ;
  dc:publisher "European Union" ;
  prof:isProfileOf <http://www.w3.org/ns/dcat> ;

  # SHACL constraints for the profile, guidance doc in Word & PDF & an image of the profile components
    # Guidance doc in Word (DOCX)
    <https://joinup.ec.europa.eu/rdf_entity/http_e_f_fdata_ceuropa_ceu_fw21_f6f27f059_bf785_b4d7d_bb602_b6448aab73bd5> ,
    # Guidance doc in PDF
    <https://joinup.ec.europa.eu/rdf_entity/http_e_f_fdata_ceuropa_ceu_fw21_f17e18570_b1d77_b4171_b9df5_bb53cb4f017d4> ,
    # profile image (PNG)
    <https://joinup.ec.europa.eu/rdf_entity/http_e_f_fdata_ceuropa_ceu_fw21_f1131a208_b92e9_b4427_ba40c_b6c47746cd422> ,
    # Constraints in SHACL
    <https://joinup.ec.europa.eu/rdf_entity/http_e_f_fdata_ceuropa_ceu_fw21_f016d88c3_ba0b3_b4506_bae4e_b758e7401c096> ;

# The DCAT-AP profile itself has profiles: here GeoDCAT-AP v1.0 is given
  a prof:Profile ;
  rdfs:label "GeoDCAT-AP" ;
  prof:isProfileOf <https://joinup.ec.europa.eu/release/dcat-ap-v11> ;

  a prof:ResourceDescriptor;
	rdfs:label "DCAT-AP Guidance Document (Word)" ;
	dct:format <https://w3id.org/mediatype/application/msword> ;
	prof:hasRole role:Guidance ;

  a prof:ResourceDescriptor;
	rdfs:label "DCAT-AP Guidance Document (PDF)" ;
	dct:format <https://w3id.org/mediatype/application/pdf> ;
	prof:hasRole role:Guidance ;

  a prof:ResourceDescriptor;
	rdfs:label "DCAT-AP Image" ;
	dct:format <https://w3id.org/mediatype/image/png> ;
	prof:hasRole role:Guidance ;

  a prof:ResourceDescriptor;
	rdfs:label "DCAT-AP Constraints" ;
	dct:conformsTo <http://www.w3.org/ns/shacl>; # the namespace for SHACL
	dct:format "text/turtle" ;
	prof:hasRole role:FullConstraints ;

DCAT-AP hierarchy

This example showcases this vocabulary being used to indicated profiles within a complex hierarchy.

DCAT-AP, a profile of DCAT, has itself been profiled for various European countries, such as Belgium who has issued DCAT-BE. Additionally, there are several domain profiles of DCAT-AP, such as [[GeoDCAT-AP]] - for describing geospatial datasets, dataset series and services - and [[StatDCAT-AP]] for enhancing interoperability between descriptions of statistical datasets. Further to this, there is even an Italian profile of GeoDCAT-AP, GeoDCAT-AP_IT.

This profile hierarchy is represented graphically in the figure and RDF (turtle) below.

DCAT-AP and related profiles in a hierarchy
DCAT-AP and related profiles in a hierarchy. The Profile labelled '?' shows a potential future profile instance that profiles both DCAT-BE & StatDCAT-AP.
@prefix prof: <http://www.w3.org/ns/dx/prof/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

  a dct:Standard ;

  a prof:Profile ;
  rdfs:label "DCAT-AP" ;
  prof:isProfileOf <http://www.w3.org/ns/dcat> ;

  a prof:Profile ;
  rdfs:label "DCAT-BE" ;
  prof:isProfileOf <https://joinup.ec.europa.eu/release/dcat-ap-v11> ;

  a prof:Profile ;
  rdfs:label "GeoDCAT-AP" ;
  prof:isProfileOf <https://joinup.ec.europa.eu/release/dcat-ap-v11> ;

  a prof:Profile ;
  rdfs:label "StatDCAT-AP" ;
  prof:isProfileOf <https://joinup.ec.europa.eu/release/dcat-ap-v11> ;

  a prof:Profile ;
  rdfs:label "GeoDCAT-AP_IT" ;
  prof:isProfileOf <https://joinup.ec.europa.eu/release/geodcat-ap-v10> ;

# an example as per the Figure above, not an existing profile
  a prof:Profile ;
  rdfs:label "?" ;
      <https://joinup.ec.europa.eu/solution/statdcat-application-profile-data-portals-europ> ,
      <http://dcat.be> .

Since there are no cardinality restrictions on either the property prof:isProfileOf or other restrictions on the class definition of prof:Profile that prevent them from being used to represent polyhierarchies, Belgium could release a profile of [[StatDCAT-AP]] (e.g., StatDCAT-BE), that would be both a profile of DCAT-BE and [[StatDCAT-AP]]. This imagined profile, '?' in the figure above, would not be a profile of GeoDCAT-AP.

CSIRO Dummy Dublin Core AP

This example uses a dummy profile created for this document to show how PROF describes profiles created according to the Guidelines for Dublin Core Application Profiles [[DCAP]].

The DCAP Guidelines document "explains the key components of a Dublin Core Application Profile and walks through the process of developing a profile". It "does not address the creation of machine-readable implementations of an application profile" which is what PROF does.

In this example, a dummy profile of Dublin Core TERMS [[DCTERMS]] is created to characterise documents in a hypothetical "ePublish" platform. The dummy profile contains many parts:

CSIRO Dummy DCAP Profile
CSIRO Dummy DCAP Profile characterised using PROF. Only two of the four Resource Descriptors in the RDF below are shown.
#   This document is a description, according to the Profiles Vocabulary (see https://www.w3.org/TR/dx-prof/)
#   of a dummy "CSIRO ePublish Repository" profile of the Dubline Core standard. This profile is known as a DCAP -
#   Dublin Core Application Profile
#   See http://dublincore.org/documents/profile-guidelines/ for more information about Dublin Core Application Profiles
@prefix dct: <http://purl.org/dc/terms/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix prof: <http://www.w3.org/ns/dx/prof/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix role: <http://www.w3.org/ns/dx/prof/role/> .

# Base Specification being profiled
<http://dublincore.org/documents/2012/06/14/dcmi-terms/> a dct:Standard ;
    rdfs:label "DCMI Metadata Terms" .

# dummy CSIRO profile of DC for ePublish repository
# URIs not dereferencable
    a                 prof:Profile ;
    rdfs:label        "CSIRO's profile of DC for ePublish" ;
    prof:isProfileOf    <http://dublincore.org/documents/2012/06/14/dcmi-terms/> ;
    prof:token        "ePubDC"^^xsd:Token ;
    prof:hasResource  _:1 , _:2 , _:3 , _:4 .

# example's code repository home
    a                 prof:ResourceDescriptor ;
    rdfs:label        "Profile Specifcation" ;
    dct:format        <https://w3id.org/mediatype/text/html> ;
    # the official written text specifying the Profile
    prof:hasRole      role:Specification ;
    prof:hasArtifact  <http://linked.data.gov.au/def/CSIRO-ePub-DCAP/> .

# this is an RDF (turtle) version of the DSP constraints for this profile
    a                 prof:ResourceDescriptor ;
    rdfs:label        "Full constraints in RDF" ;
    dct:conformsTo    <http://dublincore.org/documents/2008/03/31/dc-dsp/> ; # the constraints conform to the DSP spec
    dct:format        <https://w3id.org/mediatype/text/turtle> ; # it's in Turtle format
    # this is full constraints: if your instance passes these, you're compliant with the profile
    prof:hasRole      role:Constraints ;
    prof:hasArtifact  <http://test.linked.data.gov.au/test/def/CSIRO-ePub-DCAP/constraints.ttl> .

    a                 prof:ResourceDescriptor ;
    rdfs:label        "Full constraints in DSP constraint language" ;
    dct:conformsTo    <http://dublincore.org/documents/2008/03/31/dc-dsp/> ; # the constraints conform to the DSP spec
    dct:format        <https://w3id.org/mediatype/text/plain> ; # it's in plain text format
    # this is full constraints: if your instance passes these, you're compliant with the profile
    prof:hasRole      role:Constraints ;
    prof:hasArtifact  <http://test.linked.data.gov.au/test/def/CSIRO-ePub-DCAP/constraints-dcap-syntax.txt> .

# this profile resource is a PDF file in the def about how to use the CSIRO-ePub-DCAP
    a                 prof:ResourceDescriptor ;
    rdfs:label        "Guidance document" ;
    dct:format        <https://w3id.org/mediatype/application/pdf> ;
    # general guidance info on how to use/implement this Profile
    prof:hasRole      role:Guidance ;
    prof:hasArtifact <http://test.linked.data.gov.au/test/def/CSIRO-ePub-DCAP/HowTo.pdf> .

This DCAP example shows, among other things, that a Profile may contain multiple Resource Descriptor individuals that perform the same Resource Role (here Constraints) that are differentiated on other bases, here on format: plain text & RDF (turtle).

Geoscience Australia's Profile of ISO19115-1:2014

This example shows a non-RDF profile of a non-RDF standard: ISO19115-1:2014 (Geographic information) [[ISO-19115-1-2014]].

Communities commonly make profiles of the International Organization for Standardization's standard ISO19115-1:2014 Geographic information -- Metadata -- Part 1: Fundamentals used for cataloguing spatial datasets. Geoscience Australia, Australia's national geological survey agency, has created a profile that constrains ISO19115-1:2014 in ways such as making optional properties in the standard mandatory for profile conformance.

The GA Profile of ISO19115 is published online as a collection of profile resources with an index document with the persistent URI http://pid.geoscience.gov.au/def/schema/ga/ISO19115-1-2014.

Although not initially formulated with PROF in mind, nevertheless the various parts of the GA Profile of ISO19115 can be characterised using PROF as per and the example RDF below. Note that the persistent URIs assigned to the profile by Geoscience Australia are used within the PROF description.

GA Profile of ISO19115 in PROF
The GA Profile of ISO19115 characterised using PROF.
@prefix : <http://www.w3.org/ns/dx/prof/examples/ga.ttl#> .
@prefix prof: <http://www.w3.org/ns/dx/prof/> .
@prefix roles: <http://www.w3.org/ns/dx/prof/roles/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix dct: <http://purl.org/dc/terms/> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix dcat: <http://www.w3.org/ns/dcat#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

    a dct:Standard ;
    rdfs:label "ISO ISO19115-1:2014" ;
    rdfs:comment "The international standard ISO19115-1:2014 Geographic information - Metadata" ;
    dc:publisher "International Organization for Standardization" ;
    dct:source <https://www.iso.org/standard/53798.html>

    a prof:Profile ;
    prof:token "iso19115-ga" ;
    rdfs:label "ISO19115-1:2014 GA Profile";
    rdfs:comment """Provides a means to declare, and discover implementation profile resources to check, implementations of geographic metadata schema conforming to GA's profile."""@en;
    dct:publisher <http://pid.geoscience.gov.au/org/ga/geoscienceaustralia> ;
    prof:profileOf :ISO19115-1-2014 ;
    prof:hasResource :web , :spec , :schema , :constraints ;

    a prof:ResourceDescriptor ;
    rdfs:label "GA Profile guidance document online" ;
    prof:hasRole roles:guidance ;
    dct:conformsTo :WebPage ;
    dct:format <https://w3id.org/mediatypes/text/html> ;
    prof:hasArtifact <http://pid.geoscience.gov.au/def/schema/ga/ISO19115-1-2014> ;

    a prof:ResourceDescriptor ;
    rdfs:label "GA Profile specification document";
    prof:hasRole roles:specification ;
    dct:format <https://w3id.org/mediatypes/application/pdf> ;
    prof:hasArtifact <http://pid.geoscience.gov.au/dataset/ga/122551> ;

    a prof:ResourceDescriptor ;
    rdfs:label "GA Profile XML Schema";
    prof:hasRole roles:specification ;
    dct:conformsTo :XSDSchema ;
    dct:format <https://w3id.org/mediatypes/text/xml> ;
    prof:hasArtifact <http://pid.geoscience.gov.au/def/schema/ga/ISO19115-3-2016/gapm.xsd> ;

    a prof:ResourceDescriptor ;
    rdfs:label "GA Profile Schematron" ;
    prof:hasRole roles:fullConstraints ;
    dct:conformsTo :Schematron ;
    dct:format <https://w3id.org/mediatypes/text/xml> ;
    prof:hasArtifact <http://pid.geoscience.gov.au/def/schema/ga/schematron-rules-ga.sch> ;

:WebPage a dct:MediaTypeOrExtent ;
    rdfs:label "Web Page" ;
    rdfs:comment "A document written in HyperText Markup Language designed for human reading via a web browser." ;
    dct:source <https://www.w3.org/html/> ;

:Schematron a dct:MediaTypeOrExtent ;
    rdfs:label "Schematron" ;
    rdfs:comment "A language for making assertions about the presence or absence of patterns in XML documents." ;
    dct:source <http://schematron.com> ;

Asset Description Metadata Schema

This example shows a Profile, some of whose Resource Descriptors conform to standards.

The Asset Description Metadata Schema (ADMS) [[VOCAB-ADMS]] is a profile of DCAT, used to describe semantic assets. Both ADMS the Profile and two of its Resource Descriptors are published according to W3C specifications for Recommendations and Working Group Notes.

ADMS profile of DCAT
The ADMS profile of DCAT.
@prefix : <http://www.w3.org/ns/dx/prof/examples/adms.ttl#> .
@prefix prof: <http://www.w3.org/ns/dx/prof/> .
@prefix roles: <http://www.w3.org/ns/dx/prof/roles/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix dct: <http://purl.org/dc/terms/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .

#   A series of standards defined in this examples document
  rdf:type dct:Standard ;
  rdfs:label "W3C Working Group Note Document" ;

  rdf:type dct:Standard ;
  rdfs:label "W3C Recommendation Document" ;

#   ADMS, described as a profile of DCAT (original)
    a prof:Profile ;
    rdfs:label "ADMS" ;
    # this URI is for DCAT (original) as defined in the DCAT examples
    prof:profileOf <http://www.w3.org/ns/dx/prof/examples/dcat.ttl#dcat2014> ;
    prof:hasResource :ADMS-note ,
                     :ADMS-rdf ,

    a prof:ResourceDescriptor ;
    rdfs:label "ADMS specification document" ;
    prof:hasRole roles:specification ;
    dct:conformsTo prof:W3Cnote ;
    dct:format <https://w3id.org/mediatypes/text/html> ;
    prof:hasArtifact <https://www.w3.org/TR/vocab-adms/> ;

    a prof:ResourceDescriptor ;
    rdfs:label "ADMS RDF vocabulary" ;
    prof:hasRole roles:vocabulary ;
    dct:conformsTo <https://www.w3.org/TR/owl2-rdf-based-semantics/> ,
                   <https://www.w3.org/TR/rdf-schema/> ;
    dct:format <https://w3id.org/mediatypes/text/turtle> ;
    prof:hasArtifact <https://www.w3.org/ns/adms> ;

# additional information about DCAT (original) not present in the DCAT example
    dct:conformsTo :W3Crec .

Test Suite

A software suite is made available to test implementations of this vocabulary for compliance. This suite comprises of [[SHACL]] RDF graph validation templates and instructions for the application of those templates to implementations.


Implementation conformance reports for this vocabulary are given in:


This section lists alignments between PROF and other, related, ontologies.

Dataset Catalogue Vocabulary

PROF is considered a specialisation of the revised version of the Dataset Catalogue Vocabulary [[VOCAB-DCAT-2]] for the purpose of cataloguing profiles. With this in mind, the main PROF classes - Profile and Resource Descriptor - specialise (are sub classes of) DCAT's Resource and Distributions respectively. This alignment is not normative, but is provided as a recommended way to consider general metadata needs when describing profiles.

These specialisations are indicated in below as well as the data element mapping table that follows it.

Alignment of PROF with DCAT
Alignment of PROF with DCAT [[VOCAB-DCAT-2]].

The following table relates PROF and DCAT elements.

PROF elementMapping propertyDCAT elementNotes
prof:Profilerdfs:subClassOfdcat:Resourceprof:Profile is not a sub class of dcat:Dataset

While DCAT is referenced in the main PROF RDF file, the following separate RDF file contains just the mappings included in the table above too:

Asset Description Metadata Schema

The Asset Description Metadata Schema (ADMS) [[VOCAB-ADMS]] is a profile of DCAT, used to describe semantic assets. PROF is aligned with ADMS as per and table below.

Due to PROF being aligned with the revised version of DCAT and ADMS also being aligned with DCAT, classes and properties of the two vocabularies may be sensibly used beyond the mappings presented here. In particular the fact that both prof:Profile and adms:Asset are non-disjoint sub classes of dcat:Resource, albeit that the latter is such via being a sub class of dcat:Dataset which subclasses dcat:Resource, means that data resources could easily be dually typed as being of both prof:Profile and adms:Asset.

Alignment of PROF with ADMS
Alignment of PROF with ADMS [[VOCAB-ADMS]].

The following table relates PROF and ADMS elements.

PROF elementMapping propertyADMS element

The following RDF file contains just the mappings included in the table above:

Dublin Core Terms

PROF makes use of Dublin Core Terms [[DCTERMS]] directly with the PROF class prof:Profile being a sub class of dct:Standard and two Dublin Core Terms properties, dct:format & dct:conformsTo being recommended within PROF for use in describing instances of the prof:ResourceDescriptor class.

PROF is aligned with Dublin Core Terms as per and table below.

Alignment of PROF with Dublin Core Terms
Alignment of PROF with Dublin Core Terms [[DCTERMS]].

The following table relates PROF and Dublin Core Terms elements.

PROF elementMapping propertyDCT element

While Dublin Core Terms is referenced in the main PROF RDF file, the following RDF file contains just the mappings included in the table above:

Web Ontology Language

PROF is a vocabulary formulated using the Web Ontology Language (OWL) [[OWL2-OVERVIEW]]. In addition to the basic modelling mechanics of PROF that use OWL, for example PROF classes being defined as owl:Class objects and PROF properties being OWL owl:ObjectProperty or other OWL property types, some of the core PROF modelling concepts relate to OWL ontology concepts.

PROF is aligned with OWL at a conceptual modelling level as per and table below.

Alignment of PROF with OWL
Alignment of PROF with OWL [[OWL2-OVERVIEW]].
PROF elementMapping propertyOWL element

The following RDF file contains just the mappings included in the table above:

Vocabulary of a Friend

Vocabulary of a Friend (VOAF) is a vocabulary specification providing elements allowing the description of vocabularies (RDFS vocabularies or OWL ontologies) [[VOAF]]. Due to VOAF being defined for use with RDF data resources instances only, PROF has an alignment with VOAF which is instance-specific: data resources described by instances of PROF's prof:ResourceDescriptor class with the property prof:resourceRole linking to the Resource Role role:Vocabulary, or a specialized version of it, may be a voaf:Vocabulary.

Alignment of PROF with VOAF
Alignment of PROF with VOAF [[VOAF]].
PROF elementMapping propertyVOAF element
instance of rdf:Resource related to an instance of a prof:ResourceDescriptor via prof:hasArtifact that also relates to the Role role:Vocabulary or specialisation thereof instance of voaf:Vocabulary

The following RDF file contains just the mappings included in the table above:

OGC/ISO Modular Specification

Simple Knowledge Organization System

The Simple Knowledge Organization System (SKOS) [[SKOS-REFERENCE]] is a data model knowledge organization systems, such as thesauri, taxonomies, classification schemes and subject heading systems. PROF declares its instances of Resource Role to be instances of the skos:Concept class to indicate that they should be considered a hierarchy of concepts within a skos:ConceptScheme. Since they are SKOS hierarchy and it is recommended that implementers of PROF extend the hierarchy for their own needs, implementers should consider creating new Resource Role (also skos:Concept) and relating them to the existing instances with SKOS properties, particularly skos:narrower/skos:broader.

Alignment of PROF with SKOS
Alignment of PROF with SKOS [[SKOS-REFERENCE]].
PROF elementMapping propertySKOS element

While SKOS is referenced in the main PROF RDF file, the following RDF file contains just the mappings included in the table above:

Security and Privacy

The PROF vocabulary, when used with likely extensions such as [[DCTERMS]], supports the attribution of data and metadata to various participants such as data resource creators, publishers and other parties or agents via qualified relations and, as such, may define terms that may be related to personal information. In addition, it may also be used with extensions that support the association of rights and licenses with modelled Profiles and Resource Descriptors. These rights and licenses could potentially include or reference sensitive information such as user and asset identifiers as described in [[ODRL-VOCAB]]. Implementations that produce, maintain, publish or consume such vocabulary terms must take steps to ensure security and privacy considerations are addressed at the application level.

For a more complete view of those issues, cf. the Security and Privacy Questionnaire for this specification.


Changes since last Public Draft

Changes since the Second Public Working Draft, 02 April 2019, are:

Features at risk

The following features of in this specification are considered AT RISK pending evidence of implementation:



The editors gratefully acknowledge the contributions made to this document by all members of the working group, especially Antoine Isaac, Tom Baker, Simon Cox, Alejandra Gonzalez-Beltran, Andrea Perego.

The editors would also like to thank non-members of this working group for their comments, changes and ideas from which have been incorporated into this document. In particular: Paul Walk, Leslie Sikos, Stephen Richard, Kam Hay Fung, Heidi Vanparys and Irene Polikoff.

Finally, the editors also gratefully acknowledge the chairs of this Working Group: Karen Coyle and Peter Winstanley, former chair Caroline Burle and W3C staff contacts Phil Archer and Dave Raggett.