> DescriptionSetProfile

The following 420 words could not be found in the dictionary of 550 words (including 550 LocalSpellingWords) and are highlighted below:

about   above   Abstract   abstract   ac   Add   address   adds   against   all   All   allow   allowed   Allowed   allows   alone   an   and   any   appear   Application   application   applies   apply   architecture   archives   are   as   As   associated   at   attachment   Attribute   attributes   authors   automatically   based   Basic   basic   be   been   being   bgcolor   Bibliographic   Binding   boolean   both   bound   broader   By   by   can   Cannot   cannot   case   cef2f2   Class   class   Classes   classes   com   combined   Comments   concepts   Conditions   configuration   conforming   consisting   Constraining   constraining   Constrains   constrains   Constraint   constraint   constraints   Constraints   contain   contains   Contents   context   control   Core   corresponding   created   creator   currently   d1   data   databases   datatype   dc   dcap   dcmi   dcterms   Default   defined   Definition   depicts   describe   described   describes   describing   description   Description   descriptions   Descripton   design   desired   different   disallowed   document   documentation   documents   does   Domain   draft   dsp   Dublin   dublincore   each   Each   edited   editing   Editor   elaborated   Element   elements   elsewhere   enclosing   encoding   Encoding   equal   etc   evaluated   Evaluating   evaluating   Exactly   exactly   examine   example   Example   Examples   examples   exist   explicit   express   expression   external   facilitate   far   figure   First   foaf   follow   following   follows   For   for   formal   formats   from   Functional   fundamental   further   future   generating   given   giving   greater   guidelines   has   hotlinks   However   Human   human   identifier   Identifier   if   If   Important   in   included   infinity   information   instance   integer   Integer   intended   into   Introduction   is   Is   Issues   it   It   jiscmail   jpg   kind   kinds   knows   lang   language   Language   languages   Languages   least   less   levels   limit   list   literal   Literal   Literals   literals   made   management   mandatory   many   match   matches   Matching   matching   max   Maximum   maximum   Membership   membership   merging   metadata   methods   might   mikael   Mikael   min   minimum   Minimum   model   Models   multiple   must   name   Name   need   Negative   negative   nilsson   Nilsson   no   Non   non   nonliteral   Nonliteral   not   Note   notions   Now   ns   number   occur   Occur   occurrence   Occurrence   occurring   Occurs   Of   of   on   one   Only   only   Option   optional   or   order   Other   other   pairs   path   pdf   Person   person   please   png   possible   possibly   Powerpoint   ppt   previous   printout   processors   profile   Profile   properties   property   Property   purl   purposes   puts   range   rdf   readable   record   Records   Ref   reference   referenced   referred   Related   related   relating   representation   Requirements   requiring   resource   Resource   resources   schema   Scheme   scheme   schemes   see   semantics   sent   separate   Set   set   should   Simple   Simultaneous   single   so   specification   specified   stand   standalone   Standalone   stands   statement   Statement   statements   string   String   strings   structural   structure   structures   sub   Sub   subproperty   Subscription   such   Summary   surrogate   syntactic   Syntax   syntax   Table   tag   tags   taken   Template   template   templates   Templates   term   terms   Text   than   that   the   The   themselves   There   this   This   those   times   title   to   together   tools   true   two   Two   type   Type   uk   uml   unspecified   Usage   usage   used   useful   using   valid   Value   value   values   variant   verified   Version   version   very   vocabularies   Vocabulary   vocabulary   w3   way   ways   well   Whether   whether   While   will   with   within   without   xmlns   xsd   yes  

Clear message

NOTE: This draft is not currently being edited - please see http://dublincore.org/documents/2008/03/31/dc-dsp/.

DCMI Description Set Profile

Important: This document is currently in draft. Comments should please be sent to DC-ARCHITECTURE@JISCMAIL.AC.UK ([WWW]Subscription and archives) .

Editor: Mikael Nilsson <mikael@nilsson.name>

  1. TODO
  2. Issues so far
  3. Introduction
  4. Basic structure
  5. Basic semantics
  6. Usage examples
    1. Example 1: Constraining the resource
    2. Example 2: Constraining a property
    3. Example 3: Constraining the value
    4. Example 4: Two resources
  7. Description Templates
    1. Identifier
    2. Standalone
    3. Minimum occurrence constraint
    4. Maximum occurrence constraint
    5. Resource Class Membership Constraint
  8. Statement templates
    1. Minimum occurrence constraint
    2. Maximum occurrence constraint
    3. Type constraint
    4. Property constraints
      1. Property list constraint
      2. Sub-property constraint
    5. Literal value constraints
      1. Literal list constraint
      2. Literal language constraint
      3. Literal language list constraint
      4. Syntax Encoding Scheme constraint
      5. Syntax Encoding Scheme list constraint
    6. Non-literal value constraints
      1. Description template reference
      2. Class membership constraint
      3. Value URI constraint
        1. Value URI occurrence constraint
        2. Value URI list constraint
      4. Vocabulary encoding scheme constraint
        1. Vocabulary encoding scheme occurrence constraint
        2. Vocabulary encoding scheme list constraint
      5. Value String Constraints
        1. Minimum occurrence constraint
        2. Maximum occurrence constraint
        3. Other constraints
  9. XML structure
  10. RDF variant
  11. Examples
  12. Simple FOAF

1. TODO

2. Issues so far

3. Introduction

The DCMI Description Set Profile specification describes an information model and XML expression of a "Description Set Profile" (DSP). The term description set and the associated concepts used in this specification are defined as in the DCMI Abstract model [[WWW]DCAM].

A DSP is a way of describing structural constraints on a description set. It constrains the resources that may be described by descriptions in the description set, the properties that may be used, and the ways a value surrogate may be given.

A DSP can be used for many different purposes, such as:

A DSP does not address the following:

A DSP contains the formal syntactic constraints only, and will need to be combined with human-readable information, usage guidelines, version management, etc. in order to be used as an application profile. However, the design of the DSP information model is intended to facilitate the merging of DSP information and external information of the above kinds, for example by tools generating human-readable documentation for a Dublin Core Application Profile.

A Dublin Core Application Profile is a document, or set of documents, that puts a Description Set Profile into a broader context of Functional Requirements, Domain Models (such as Functional Requirements for Bibliographic Records), guidelines on syntax and usage, and possibly data formats. The following figure depicts the basic elements of a Dublin Core Application Profile (this model will be elaborated in future documents).

dcap-model.jpg

4. Basic structure

A DSP describes the structure of a Description Set by using the notions of "templates" and "constraints". A template describes the possible metadata structures in a conforming record.

There are two levels of templates in a Description Set Profile:

While templates are used to express structures, constraints are used to limit those structures. The following figure depicts the basic elements of the structure.

dsp-uml.png

5. Basic semantics

The fundamental usage model for a DSP is to examine whether a metadata record matches the DSP.

Matching of a description set is defined as follows:

Binding of descriptions to description templates

Each description is bound to a Description Template by evaluating the Resource Constraint of each Description Template against the described resource. Each description must be bound to exactly one Description Template.

Binding of statements to statement templates

For each description, each statement is bound to a Statement Templates in the corresponding Description Template by evaluating the Property Constraint. Each statement must be bound to exactly one Statement Template.

Evaluating constraints

Now that all metadata in the description set has been bound to a template, all constraints can be verified.

6. Usage examples

6.1. Example 1: Constraining the resource

The following DSP matches descriptions with a single resource. The resource must be an instance of foaf:Person.

<?xml version="1.0" ?>

<DescriptionSetTemplate xmlns="http://dublincore.org/xml/dc-dsp/2008/01/14" >

  <DescriptionTemplate ID="person" minOccurs="1" maxOccurs="1" standalone="yes">
    
    <ResourceClass>http://xmlns.com/foaf/0.1/Person</ResourceClass>

  </DescriptionTemplate>

</DescriptionSetTemplate>


As it stands, this DSP does not allow for the description of that resource to contain any statements, so it is not very useful.

6.2. Example 2: Constraining a property

The following DSP adds a mandatory foaf:name property with a literal value to the previous example.

<?xml version="1.0" ?>

<DescriptionSetTemplate xmlns="http://dublincore.org/xml/dc-dsp/2008/01/14">

  <DescriptionTemplate ID="person" minOccurs="1" maxOccurs="1" standalone="yes">
    
   <ResourceClass>http://xmlns.com/foaf/0.1/Person</ResourceClass>

    <StatementTemplate minOccurs="1" maxOccurs="1" type="literal">

      <Property>http://xmlns.com/foaf/0.1/name</Property>

    </StatementTemplate>

  </DescriptionTemplate>

</DescriptionSetTemplate>

6.3. Example 3: Constraining the value

The following DSP constrains the value to be a literal without a language.

<?xml version="1.0" ?>

<DescriptionSetTemplate xmlns="http://dublincore.org/xml/dc-dsp/2008/01/14">

  <DescriptionTemplate ID="person" minOccurs="1" maxOccurs="1" standalone="yes">
    
    <ResourceClass>http://xmlns.com/foaf/0.1/Person</ResourceClass>

    <StatementTemplate minOccurs="1" maxOccurs="1" type="literal">

      <Property>http://xmlns.com/foaf/0.1/name</Property>

      <LiteralConstraint>
        <LanguageOccurrence>disallowed</LanguageOccurrence>
      </LiteralConstraint>

    </StatementTemplate>

  </DescriptionTemplate>

</DescriptionSetTemplate>

6.4. Example 4: Two resources

The following DSP allows for two kinds of resources: a single "document", and multiple "authors". The Person resources may only occur as values of the dcterms:creator property, not stand-alone. The value may only be described in a separate description with a mandatory foaf:name property.

<?xml version="1.0" ?>

<DescriptionSetTemplate xmlns="http://dublincore.org/xml/dc-dsp/2008/01/14">

  <DescriptionTemplate ID="document" minOccurs="1" maxOccurs="1" standalone="yes">

    <ResourceClass>http://purl.org/dc/terms/Text</ResourceClass>

    <StatementTemplate minOccurs="1" type="nonliteral">

      <Property>http://purl.org/dc/terms/creator</Property>

      <NonLiteralConstraint descriptionTemplateID="person">
        <ValueURIOccurrence>disallowed</ValueURIOccurrence>
        <VocabularyEncodingSchemeOccurrence>disallowed</VocabularyEncodingSchemeOccurrence>
        <ValueStringConstraint maxOccur="0"/>
      </NonLiteralConstraint>

    </StatementTemplate>

  </DescriptionTemplate>

  <DescriptionTemplate ID="person" standalone="no">
    
    <ResourceClass>http://xmlns.com/foaf/0.1/Person</ResourceClass>

    <StatementTemplate minOccurs="1" maxOccurs="1" type="literal">

      <Property>http://xmlns.com/foaf/0.1/name</Property>

      <LiteralConstraint>
        <LanguageOccurrence>disallowed</LanguageOccurrence>
      </LiteralConstraint>

    </StatementTemplate>

  </DescriptionTemplate>

</DescriptionSetTemplate>

7. Description Templates

A description Template has the following attributes.

XML Element Name

DescriptionTemplate

7.1. Identifier

Summary

A string that can be used in a Value Constraint to reference a description template that applies to the value resource.

Allowed values

A valid XML ID string.

Default

N/A

XML Attribute Name

ID

7.2. Standalone

Summary

Whether descriptions matching this template are allowed to occur standalone, i.e. without being the value of a property.

Allowed values

"yes" / "no" / "both"

Default

"both"

Conditions

If standalone is "yes", a matching description may not be a description of value occurring elsewhere in the DSP.
If standalone is "no", a matching description *must* be a description of value occurring elsewhere in the DSP.
If standalone is "both", both are allowed.
If this description template is referred to in a Value Constraint, standalone cannot be "yes".

XML Attribute Name

standalone

7.3. Minimum occurrence constraint

Summary

The minimum number of times this kind of description must appear in the Description Set.

Allowed values

non-negative integer

Default

0

Conditions

must be equal or less than the Maximum occurrence

XML Attribute Name

minOccurs

7.4. Maximum occurrence constraint

Summary

The maximum number of times this kind of description is allowed to appear in the Description Set.

Allowed values

non-negative integer or "infinity"

Default:'

"infinity"

Conditions

must be equal or greater than the Minimum occurrence

XML Attribute Name

maxOccurs

7.5. Resource Class Membership Constraint

Summary

Classes that the resource may be an instance of

Allowed values

a list of class URIs

Default

no constraint

Conditions

if given, the resource must be an instance of one of the given classes.

XML Element Name

ResourceClass

8. Statement templates

A statement template has the following possible constraints.

XML Element Name

StatementTemplate

8.1. Minimum occurrence constraint

Summary

The minimum number of times this kind of statement must appear in the enclosing Description.

Allowed values

non-negative integer

Default

0

Conditions

must be equal or less than the Maximum occurrence

XML Attribute Name

minOccurs

8.2. Maximum occurrence constraint

Summary

The maximum number of times this kind of statement is allowed to appear in the enclosing Description.

Allowed values

non-negative integer or "infinity"

Default:'

"infinity"

Conditions

must be equal or greater than the Minimum occurrence

XML Attribute Name

maxOccurs

8.3. Type constraint

Summary

The type of value surrogate (literal/non-literal) that is allowed in this Statement.

Allowed values

"literal" / "nonliteral"

Default

both allowed

Conditions

If no value is given, no further constraining on the value surrogate can be made.

XML Attribute Name

type

Note: that the type constraint should follow any range given for the used properties.

8.4. Property constraints

There are two ways of constraining the property in a statement:

Exactly one of the above methods must be used in a single statement template.

8.4.1. Property list constraint
Summary

A set of properties that are allowed in this statement template.

Allowed values

a list of property URIs

Default

N/A

Conditions

cannot occur together with a sub-property constraint

XML Element Name

Property

8.4.2. Sub-property constraint
Summary

Only sub-properties of the given property are allowed in this statement template. Note that the given property is included in this list (all properties are sub-properties of themselves).

Allowed values

a property URI

Default

N/A

Conditions

cannot occur together with a property list constraint

XML Element Name

SubPropertyOf

8.5. Literal value constraints

Constrains a literal value surrogate in a statement. Only allowed in the case that the type constraint has the value "literal".
XML Element Name

LiteralConstraint

8.5.1. Literal list constraint
Summary

Literals that are allowed as values.

Allowed values

a list of literals, i.e. (string, language tag) or (string, syntax encoding scheme URI) pairs.

Default

no constraint

Conditions

if given, no other literal constraint may be given

XML Element Name

LiteralOption

8.5.2. Literal language constraint
Summary

Whether languages are allowed for the literal

Allowed values

"mandatory" / "optional" / "disallowed"

Default

"optional"

Conditions

if "mandatory", Syntax encoding schemes are automatically disallowed.

XML Element Name

LanguageOccurrence

8.5.3. Literal language list constraint
Summary

Languages allowed for the literal

Allowed values

a list consisting of language tags

Default

no constraint

XML Element Name

Language

8.5.4. Syntax Encoding Scheme constraint
Summary

Whether Syntax Encoding Scheme are allowed for the literal

Allowed values

"mandatory" / "optional" / "disallowed"

Default

"optional"

Conditions

if "mandatory", language tags are automatically disallowed.

XML Element Name

SyntaxEncodingSchemeOccurrence

8.5.5. Syntax Encoding Scheme list constraint
Summary

Syntax encoding schemes allowed for the literal

Allowed values

a list consisting of syntax encoding scheme URIs

Default

no constraint

XML Element Name

SyntaxEncodingScheme

8.6. Non-literal value constraints

Constrains the value surrogate in a statement. Only allowed in the case that the type constraint has the value "nonliteral".
XML Element Name

NonLiteralConstraint

8.6.1. Description template reference
Summary

A reference to a description template that may be used to describe the value

Allowed values

an identifier defined in a Description Template

Default

Related description not allowed

Conditions

if given, any related description of the value within the record must match the referenced Description Template. If the referenced Description Template contains mandatory Statement templates, such a description of the value must exist.

XML Attribute Name

descriptionTemplateRef

8.6.2. Class membership constraint
Summary

Classes that the value may be an instance of

Allowed values

a list of class URIs

Default

no constraint

Conditions

if given, the value must be an instance of one of the given classes.

XML Element Name

ValueClass

Note: this is not a syntactic constraint, and as such might not be evaluated by all processors. If a type statement is desired, an explicit Statement template in a Description Template for the value resource should be created.

8.6.3. Value URI constraint
8.6.3.1. Value URI occurrence constraint
Summary

Whether a value URI must be given

Allowed values

"disallowed" / "optional" / "mandatory"

Default

"optional"

Conditions

XML Element Name

!ValueURIOccurrence

8.6.3.2. Value URI list constraint
Summary

URIs that are allowed as value URIs.

Allowed values

a list of URIs

Default

no constraint

Conditions

If a value URI is given, it must be taken from this list. Cannot be specified if value occurrence is "disallowed"

XML Element Name

!ValueURI

8.6.4. Vocabulary encoding scheme constraint
8.6.4.1. Vocabulary encoding scheme occurrence constraint
Summary

Whether a vocabulary encoding scheme must be given

Allowed values

"disallowed" / "optional" / "mandatory"

Default

"optional"

Conditions

XML Element Name

VocabularyEncodingSchemeOccurrence

8.6.4.2. Vocabulary encoding scheme list constraint
Summary

URIs that are allowed as Vocabulary Encoding schemes.

Allowed values

a list of URIs

Default

no constraint

Conditions

If a vocabulary encoding scheme is given, it must be taken from this list. Cannot be specified if vocabulary encoding scheme occurrence is "disallowed"

XML Element Name

VocabularyEncodingScheme

8.6.5. Value String Constraints

If at least one value string constraint is given, any value string must match at least one of the constraints. If no value string constraint is given, any value string is allowed.

For each value string constraint, the following may be specified.

XML Element Name

ValueStringConstraint

8.6.5.1. Minimum occurrence constraint
Summary

The minimum number of times this kind of value string must appear in the enclosing Statement.

Allowed values

non-negative integer

Default

0

Conditions

must be equal or less than the Maximum occurrence

XML Attribute Name

minOccurs

8.6.5.2. Maximum occurrence constraint
Summary

The maximum number of times this kind of value string is allowed to appear in the enclosing Statement.

Allowed values

non-negative integer or "infinity"

Default:'

"infinity"

Conditions

must be equal or greater than the Minimum occurrence

XML Attribute Name

maxOccurs

8.6.5.3. Other constraints

All Literal constraints can be used for value strings as well.

9. XML structure

<?xml version="1.0" ?>

<DescriptionSetTemplate>

  <DescriptionTemplate standalone="" ID="" minOccurs="" maxOccurs="">

    <ResourceClass></ResourceClass>
    <ResourceClass></ResourceClass>

    <StatementTemplate ID="" minOccurs="" maxOccurs="" type="">

      <Property></Property>
      <Property></Property>

      <SubPropertyOf></SubPropertyOf>

      <NonliteralConstraint descriptionTemplateRef="">

        <ValueClass></ValueClass>
        <ValueClass></ValueClass>

        <ValueURIOccurrence></ValueURIOccurrence>

        <ValueURI></ValueURI>
        <ValueURI></ValueURI>

        <VocabularyEncodingSchemeOccurrence></VocabularyEncodingSchemeOccurrence>

        <VocabularyEncodingScheme></VocabularyEncodingScheme>
        <VocabularyEncodingScheme></VocabularyEncodingScheme>

        <ValueStringConstraint  minOccurs="" maxOccurs="">
          <LiteralOption lang="" SES=""></LiteralOption>
          <LiteralOption lang="" SES=""></LiteralOption>

          <LanguageOccurrence></LanguageOccurrence>

          <Language></Language>
          <Language></Language>

          <SyntaxEncodingSchemeOccurrence></SyntaxEncodingSchemeOccurrence>

          <SyntaxEncodingScheme></SyntaxEncodingScheme>
          <SyntaxEncodingScheme></SyntaxEncodingScheme>   

        </ValueStringConstraint>

      </NonLiteralConstraint>

      <LiteralConstraint>
          <LiteralOption lang="" SES=""></LiteralOption>
          <LiteralOption lang="" SES=""></LiteralOption>

          <LanguageOccurrence></LanguageOccurrence>

          <Language></Language>
          <Language></Language>

          <SyntaxEncodingSchemeOccurrence></SyntaxEncodingSchemeOccurrence>

          <SyntaxEncodingScheme></SyntaxEncodingScheme>
          <SyntaxEncodingScheme></SyntaxEncodingScheme>   

      </LiteralConstraint>

    </StatementTemplate>

  </DescriptionTemplate>

</DescriptonSetTemplate>

10. RDF variant

<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:dsp="http://purl.org/dc/dsp/">

  <dsp:DescriptionTemplate rdf:about="#d1">
    <dsp:standalone rdf:datatype="xsd:boolean">true</dsp:standalone>
    <dsp:minOccur rdf:datatype="xsd:nonNegativeInteger">0</dsp:minOccur>
    <dsp:maxOccur rdf:datatype="xsd:nonNegativeInteger">0</dsp:maxOccur>

    <dsp:resourceClass rdf:resource=""/>
    <dsp:resourceClass rdf:resource=""/>

    <dsp:statementTemplate>
      <dsp:LiteralStatementTemplate>
        <dsp:minOccur rdf:datatype="xsd:nonNegativeInteger">0</dsp:minOccur>
        <dsp:maxOccur rdf:datatype="xsd:nonNegativeInteger">0</dsp:maxOccur>

        <dsp:property rdf:resource=""/>
        <dsp:property rdf:resource=""/>

        <dsp:subPropertyOf rdf:resource=""/>

        <dsp:literalConstraint>
          <dsp:LiteralConstraint>
            <dsp:literal xml:lang="" rdf:datatype=""></dsp:literal>
            <dsp:literal xml:lang="" rdf:datatype=""></dsp:literal>
         
            <dsp:languageOccurrence rdf:datatype="dsp:occurrence"></dsp:languageOccurrence>

            <dsp:language rdf:datatype="xsd:language"></dsp:language>
            <dsp:language rdf:datatype="xsd:language"></dsp:language>

            <dsp:syntaxEncodingSchemeOccurrence rdf:datatype="dsp:occurrence"></dsp:syntaxEncodingSchemeOccurrence>

            <dsp:syntaxEncodingScheme rdf:resource=""/>
            <dsp:syntaxEncodingScheme rdf:resource=""/>

          </dsp:LiteralConstraint>
        </dsp:literalConstraint>
      </dsp:LiteralStatementTemplate>
    </dsp:statementTemplate>

    <dsp:statementTemplate>
      <dsp:NonLiteralStatementTemplate>
         <dsp:nonLiteralConstraint>
          <dsp:NonLiteralConstraint>

            <dsp:descriptionTemplate rdf:resource=""/>

            <dsp:valueClass rdf:resource=""/>
            <dsp:valueClass rdf:resource=""/>

            <dsp:valueURIOccurrence rdf:datatype="dsp:occurrence"></dsp:valueURIOccurrence>
            
            <dsp:valueURI rdf:datatype="xsd:URI"></dsp:valueURI>
            <dsp:valueURI rdf:datatype="xsd:URI"></dsp:valueURI>

            <dsp:vocabularyEncodingSchemeOccurrence rdf:datatype="dsp:occurrence"></dsp:vocabularyEncodingSchemeOccurrence>

            <dsp:vocabularyEncodingScheme rdf:resource=""/>
            <dsp:vocabularyEncodingScheme rdf:resource=""/>

            <dsp:valueStringConstraint>
              <dsp:ValueStringConstraint>

                <dsp:minOccur rdf:datatype="xsd:nonNegativeInteger">0</dsp:minOccur>
                <dsp:maxOccur rdf:datatype="xsd:nonNegativeInteger">0</dsp:maxOccur>

                <dsp:literal xml:lang="" rdf:datatype=""></dsp:literal>
                <dsp:literal xml:lang="" rdf:datatype=""></dsp:literal>
         
                <dsp:languageOccurrence rdf:datatype="dsp:occurrence"></dsp:languageOccurrence>

                <dsp:language rdf:datatype="xsd:language"></dsp:language>
                <dsp:language rdf:datatype="xsd:language"></dsp:language>

                <dsp:syntaxEncodingSchemeOccurrence rdf:datatype="dsp:occurrence"></dsp:syntaxEncodingSchemeOccurrence>

                <dsp:syntaxEncodingScheme rdf:resource=""/>
                <dsp:syntaxEncodingScheme rdf:resource=""/>

              </dsp:ValueStringConstraint>
            </dsp:valueStringConstraint>
          </dsp:NonLiteralConstraint>
        </dsp:nonLiteralConstraint>
      </dsp:NonLiteralStatementTemplate>
    </dsp:statementTemplate>
  </dsp:DescriptionTemplate>
</rdf:RDF>

11. Examples

Simple DC:

<?xml version="1.0" ?>

<DescriptionSetTemplate  xmlns="http://dublincore.org/xml/dc-dsp/2008/01/14">

  <DescriptionTemplate>

    <StatementTemplate>
      <Property>http://purl.org/dc/terms/title</Property>
    </StatementTemplate>

    <StatementTemplate>
      <Property>http://purl.org/dc/terms/title</Property>
    </StatementTemplate>

   <!-- etc -->

  </DescriptionTemplate>

</DescriptionSetTemplate>

12. Simple FOAF

<?xml version="1.0" ?>

<DescriptionSetTemplate  xmlns="http://dublincore.org/xml/dc-dsp/2008/01/14" >

  <DescriptionTemplate ID="person" minOccur="1" maxOccur="1">
    
    <ResourceClass>http://xmlns.com/foaf/0.1/Person</ResourceClass>

    <StatementTemplate minOccurs="1" maxOccurs="1" type="literal">
      <Property>http://xmlns.com/foaf/0.1/name</Property>
    </StatementTemplate>

    <StatementTemplate type="nonliteral">
      <Property>http://xmlns.com/foaf/0.1/knows</Property>
      <NonLiteralConstraint descriptionTemplateRef="person">

        <ValueClass>http://xmlns.com/foaf/0.1/Person</ValueClass>
        
      </NonLiteralConstraint>
    </StatementTemplate>

   <!-- etc -->

  </DescriptionTemplate>

</DescriptionSetTemplate>