기술 집합 프로파일

기술 집합 프로파일 (Description Set Profiles): 더블린 코어 어플리케이션 프로파일을 위한 제약 언어 (A constraint language for Dublin Core Application Profiles)

작성자:
Mikael Nilsson
KMR Group, NADA, KTH (Royal Institute of Technology), 스웨덴
발행일자:
2008-03-31
식 별 자:
http://dublincore.org/documents/2008/03/31/dc-dsp/
대 체 함:
적용 없음
최신 버전:
http://dublincore.org/documents/dc-dsp/
문서의 지위:
본 규격은 "기술 집합 프로파일 (Description Set Profile, DSP)"의 정보 모델과 XML 표현을 설명한다. DSP는 기술 집합에 관한 구조적 제약들을 기술하며, 더블린 코어 어플리케이션 프로파일 (Dublin Core Application Profile)의 제약의 공식적 표현을 가능케 한다.

목차

  1. 1.서론
  2. 2.기본 구조
  3. 3.기본 의미
  4. 4.사용 예시
  5. 5.기술 템플릿 (Description Templates)
  6. 6.문장 템플릿 (Statement templates)
  7. 7.XML 구조
  8. 8.RDF 이형 (RDF variant)
  9. 9.예시

1.서론

DCMI 기술 집합 프로파일 (Description Set Profile) 규격은 "기술 집합 프로파일 (Description Set Profile, DSP)"의 정보 모델과 XML 표현을 설명한다. 본 규격에서 사용되는 용어 기술 집합과 관련된 개념들은 DCMI 추상 모델 (Abastrat model) [DCAM]에서 정의된다.

DSP는 기술 집합에 관한 구조적 제약들을 설명하는 하나의 방법이다. 이것은 기술 집합에서의 기술들에 의해 기술될 수 있는 자원들, 사용될 수 있는 속성들 및 값 표현이 주어질 수 있는 방법들을 제한한다.

DSP는 다양한 목적들을 위해 사용될 수 있으며, 그 예시는 다음과 같다:

  • 더블린 코어 어플리케이션 프로파일 (Dublin Core Application Profile)의 관행들의 공식 표현으로서 사용됨
  • 데이터베이스들을 위한 환경설정으로서 사용됨
  • 메타데이터 편집 도구들을 위한 환경설정으로서 사용됨

DSP는 다음의 사항을 다루지 않는다:

  • 인간 가독형 문서.
  • 어휘들의 정의
  • 버전 통제.

DSP는 공식 구문적 관행들을 포함하고, 앞으로 어플리케이션 프로파일로서 사용되기 위하여 인간 가독형 정보, 사용 지침, 버전 관리 등과 조합될 필요가 있을 것이다. 그러나, DSP 정보 모델의 디자인은 DSP 정보와 위와 같은 외부 정보의 통합을 촉진하되, 예를 들어 더블린 코어 어플리케이션 프로파일 (Dublin Core Application Profile)을 위한 인간 가독형 문서 생성 도구를 이용해서 통합하고자 한다.

더블린 코어 어플리케이션 프로파일은 기술 집합 프로파일 (Description Set Profile)을 기능적 요건 (Functional Requirements), 도메인 모델 (Domain Models), 구문과 사용에 관한 지침 (guidelines on syntax and usage) 및 가능한 데이터 포맷들 (possibly data formats)의 더 넓은 맥락에 놓는 하나의 문서이거나 문서들의 집합이다. 더 넓은 이해를 위해서는Singapore Framework for Dublin Core Application Profiles을 참조하기 바란다.

2.기본 구조

DSP는 "템플릿 (templates)"과 "제약 (constraints)" 개념을 사용하여 기술 집합 (Description Set)의 구조를 기술한다. 템플릿은 규칙을 따르는 레코드에서의 가능한 메타데이터 구조들을 기술한다.

기술 집합 프로파일에는 두 단계의 템플릿이 존재한다:

  • 기술 템플릿, 이것은 단순 종류의 기술과 기술된 자원에 대한 제약들에 적용되는 문장 템플릿을 포함한다.
  • 문장 템플릿, 이것은 단순 종류의 문장에 적용되는 속성, 값 문자열, 어휘 부호화 체계, 등에 관한 모든 제약들을 포함한다.

템플릿은 구조들을 표현하는데 사용되는 반면에, 제약은 이러한 구조들을 제한하는데 사용된다. 다음 그림은 구조의 기본 요소들을 보여준다.

dsp-uml

3.기본 의미론

DSP를 위한 기본적인 사용 모델은 하나의 메타데이터 레코드가 DSP와 일치하는지를 검토한다.

기술 집합에 일치한다는 것은 다음과 같이 정의된다:

기술들을 기술 템플릿으로 묶기
각 기술은 기술된 자원에 대한 각 기술 템플릿 (Description Template)의 자원 제약 (Resource Constraint)을 평가함으로써 기술 템플릿과 묶여있다. 각 기술은 반드시 정확히 하나의 기술 템플릿과 묶여야 한다..
문장들을 문장 템플릿으로 묶기
각 기술에 관해서 각 문장은 특성 제약 (Property Constraint)을 평가함으로써 기술 템플릿 (Desctiption Template)에 상응하는 문장 템플릿 (Statement Template)과 묶여있다. 각 문장은 정확히 하나의 문장 템플릿과 반드시 묶여야 한다.
제약들을 평가하기
기술 집합에서 모든 메타데이터는 하나의 템플릿으로 묶이게 되었으므로, 모든 제약들은 검증될 수 있다.

4.사용 예시

4.1.예시 1: 자원을 제한하기

다음의 DSP는 하나의 자원에 대한 기술과 일치한다. 이 자원은 반드시 foaf:Person의 예시가 되어야 한다.

<?xml version="1.0" ?>

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

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

<ResourceClass>http://xmlns.com/foaf/0.1/Person</ResourceClass>

</DescriptionTemplate>

</DescriptionTemplate>

현재 상태에서, 이 DSP는 이 자원의 기술에 어떠한 문장도 포함하는 것을 허락하지 않는다. 따라서 이것은 그리 유용하지 않다.

4.2.예시 2: 속성을 제한하기

다음의 DSP는 의무 속성인 foaf:name을 문자적 값과 함께 지난 예시에 추가한다.

<?xml version="1.0" ?>

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

<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>

</DescriptionTemplate>

4.3.예시 3: 값을 제한하기

다음의 DSP는 값을 언어 없이 문자로 제한한다.

<?xml version="1.0" ?>

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

<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>
<LanguageOccurrencegt;disallowed</LanguageOccurrencegt;

</LiteralConstraintgt;

</StatementTemplate>

</DescriptionTemplate>

</DescriptionTemplate>

4.4.예시 4: 두 개의 자원들

다음의 DSP는 두 종류의 자원을 허락한다: 하나의 "문서 (document)"와 다수의 "저자들 (authors)". 사람 자원들 (Person resources)은 오직 dcterms:creator 특성의 값들로서 발생할 수 있으며 독립형일 수 없다. 이 값은 오직 의무 특성인 foaf:name과 함께 분리된 기술 내에서만 기술될 수 있다.

<?xml version="1.0" ?>

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

<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"/>

</NonLiteralConstrain>

</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>

</DescriptionTemplate>

5.기술 템플릿 (Description Templates)

기술 템플릿 (Description Template)은 다음의 속성들을 가진다.

XML 요소 이름

DescriptionTemplate

5.1.식별자 (Identifier)

요약
값 제약 (Value Constraint)에서 값 자원 (value resource)에 적용되는 기술 템플릿으로 참조하기 위해서 사용 될 수 있는 하나의 문자열
허락하는 값
유효한 XML ID 문자열
기본값
적용 안됨
XML 속성 이름
ID

5.2.독립형 (Standalone)

요약
이 템플릿과 일치하는 기술가 독립형으로 발생하는 것을 허락하는지 안하는지에 관한 것, 예: 하나의 특성의 값이 되는 것을 제외함
허락하는 값
"yes" / "no" / "both"
기본값
"both"
조건
만약 독립형이 "yes"이면, 일치하는 기술는 DSP의 다른 곳에서 발생하는 값의 기술이 아닐 수도 있다.
만약 독립형이 "no"이면, 일치하는 기술은 반드시 DSP의 다른 곳에서 발생하는 값의 기술이여야 한다.
만약 독립형이 "both"이면, 둘 모두가 허락된다.
만약 이 기술 템플릿이 값 제약 (Value Constraint)에서 언급된다면, 독립형은 "yes"가 될 수 없다.
XML 속성 이름
standalone

5.3.최소 발생 제약 (Minimum occurrence constraint)

요약
이러한 종류의 기술의 최소 횟수는 기술 집합 (Description Set) 내에 반드시 나타나야 한다.
허락하는 값
음이 아닌 정수
기본값
0
조건
반드시 최대 발생과 같거나 적어야 함
XML 속성 이름
minOccurs

5.4. 최대 발생 제약 (Maximum occurrence constraint)

요약
이러한 종류의 기술의 최대 횟수는 기술 집합 (Description Set) 내에 나타나는 것이 허락된다.
허락하는 값
음이 아닌 정수이거나 "infinity"
기본값
"infinity"
조건
반드시 최대 발생과 같거나 더 커야 함
XML 속성 이름
maxOccurs

5.5.자원 클래스 자격 제약 (Resource Class Membership Constraint)

요약
자원이 클래스들의 예시 (instance)가 될 수 있다
허락하는 값
클래스 URIs의 목록
기본값
제약 없음
조건
만약 클래스가 주어진다면, 자원은 반드시 주어진 클래스들 중 하나의 예시 (instance)여야 한다.
XML 요소 이름
ResourceClass

6.문장 템플릿 (Statement templates)

문장 템플릿은 다음과 같이 가능한 제약들을 가진다.

XML 요소 이름
StatementTemplate

최소 발생 제약 (Minimum occurrence constraint)

요약
이러한 종류의 문장의 최소 횟수는 반드시 둘러싼 기술 (enclosing Description) 내에 나타나야 한다.
허락하는 값
음이 아닌 정수
기본값
0
조건
반드시 최대 발생과 같거나 적어야 함
XML 속성 이름
minOccurs

6.2.최대 발생 제약 (Maximum occurrence constraint)

요약
이러한 종류의 문장의 최대 발생 횟수는 둘러싼 기술 (enclosing Description) 내에 나타나는 것이 허락된다.
허락하는 값
음이 아닌 정수이거나 "infinity"
기본값
"infinity"
조건
반드시 최대 발생과 같거나 더 커야 함
XML 속성 이름
maxOccurs

6.3.유형 제약 (Type constraint)

요약
이 문장 내에 허락된 값 표현 (literal/non-literal)의 유형
허락하는 값
"literal" / "nonliteral"
기본값
둘 다 허락됨
조건
만약 아무런 값이 주어지진 않는다면, 값 표현에 관한 더 이상의 제약은 있을 수 없다.
XML 속성 이름
type

주의: 유형 제약은 사용된 특성을 위하여 주어진 어떠한 범위도 따라야 한다.

6.4.특성 제약 (Property constraints)

하나의 문장 내에서 특성을 제약하는 두 가지 방법이 있다:

  • 허락된 특성들의 분명한 목록을 제공함으로써 제약
  • 특성을 주어진 특성의 하위 특성이 되도록 요구함으로써 제약

위 방법들 중 정확히 하나는 반드시 단순 문장 템플릿 내에서 사용되어야 한다.

6.4.1.특성 목록 제약 (Property list constraint)
요약
이 문장 템플릿 내에서 허락되는 특성들의 집합
허락하는 값
특성 URIs의 목록
기본값
적용 안됨
Conditions

하위 특성 제약과 함께 발생할 수 없음
XML 요소 이름
Property
6.4.2.하위 특성 제약 (Sub-property constraint)
요약
주어진 특성의 하위 특성들만 이 문장 템플릿에서 허락된다. 주어진 특성은 이 목록 내에 포함되는 것을 주의하시오 (모든 특성들은 이들 자신의 하위 특성들이다).
허락하는 값
특성 URI
기본값
적용 안됨
조건
특성 목록 제약과 함께 발생할 수 없음
XML 요소 이름
SubPropertyOf
6.5.문자적 값 제약들 (Literal value constraints)

문장 내 문자적 값 표현을 제한한다. 오직 유형 제약이 값으로 "literal"를 가질 경우에만 허락된다.

XML 요소 이름
LiteralConstraint
6.5.1.문자적 목록 제약 (Literal list constraint)
요약
값으로서 허락된 문자들
허락하는 값
문자들의 목록, 예: (문자열, 언어 태그) 또는 (문자열, 구문 부호화 체계 URI) 쌍
기본값
제약 없음
조건
만약 제약이 주어진다면, 다른 문자적 제약은 주어질 수 없음
XML 요소 이름
LiteralOption
6.5.2.문자적 언어 제약 (Literal language constraint)
요약
언어가 문자를 위해 허락 되는지 안되는 지
허락하는 값
"mandatory" / "optional" / "disallowed"
기본값
"optional"
조건
만약 "mandatory"인 경우, 구문 부호화 체계들 (Syntax encoding schemes)은 자동적으로 허락이 안됨
XML 요소 이름
LanguageOccurrence
6.5.3.문자적 언어 목록 제약 (Literal language list constraint)
요약
문자에 관해 허락되는 언어들
허락하는 값
언어 태그들로 구성된 목록
기본값
제약 없음
XML 요소 이름
anguage
6.5.4.구문 부호화 체계 제약 (Syntax Encoding Scheme constraint)
요약
구문 부호화 체계가 문자를 위해 허락되는지 안 되는지
허락하는 값
mandatory" / "optional" / "disallowed"
기본값
"optional"
조건
만약 "mandatory"라면, 언어 태그들은 자동적으로 허락되지 않음
XML 요소 이름
SyntaxEncodingSchemeOccurrence
6.5.5.구문 부호화 체계 목록 제약 (Syntax Encoding Scheme list constraint)
요약
문자를 위해 허락된 구문 부호화 체계
허락하는 값
구문 부호화 체계 URIs로 구성된 목록
기본값
제약 없음
XML 요소 이름
SyntaxEncodingScheme
6.6.비문자적 값 제약들 (Non-literal value constraints)

문장 내의 값 표현을 제한한다. 유형 제약이 값으로서 "nonliteral"을 가질 경우에만 오직 허락된다.

XML 요소 이름
NonLiteralConstraint
6.6.1.기술 템플릿 참조 (Description template reference)
요약
값을 기술하는데 사용될 수도 있는 기술 템플릿으로의 참조
허락하는 값
기술 템플릿에서 정의된 식별자
기본값
관련된 기술는 허락되지 않음
조건
만약 값이 주어진다면, 레코내 내에서 그 값의 어떠한 기술도 반드시 참조된 기술 템플릿과 일치해야 한다. 만약 참조된 기술 템플릿이 의무 문장 템플릿 (Statement templates)을 포함한다면, 이러한 값의 기술는 반드시 존재해야 한다.
XML 속성 이름
descriptionTemplateRef
6.6.2.클래스 자격 제약 (Class membership constraint)
요약
값은 클래스들의 예시 (instance)가 될 수 있음
허락하는 값
클래스 URIs의 목록
기본값
제약 없음
조건
if given, the value must be an instance of one of the given classes.
XML 요소 이름
ValueClass

주의: 이것은 구문적 제약이 아니며, 예를 들어, 모든 프로세서들에 의해 평가되지 않을 수도 있다. 만약 유형 문장이 요구된다면, 명확한 문장 템플릿 (Statement template)이 값 자원을 위한 기술 템플릿 (Description Template) 내에서 생성돼야 한다.

6.6.3.값 URI 제약 (Value URI constraint)
6.6.3.1.값 URI 발생 제약 (Value URI occurrence constraint)
요약
값 URI가 반드시 주어져야 하는지 아닌지
허락하는 값
"disallowed" / "optional" / "mandatory"
기본값
"optional"
조건
XML 요소 이름
ValueURIOccurrence
6.6.3.2.값 URI 목록 제약 (Value URI list constraint)
요약
값 URIs로서 허락된 URIs
허락하는 값
URIs의 목록
기본값
제약 없음
조건
만약 값 URI가 주어진다면, 이것은 반드시 본 목록으로부터 가져와야 한다. 만약 값 발생이 "disallowed"라면 구체화 될 수 없다.
XML 요소 이름
ValueURI
6.6.4.어휘 부호화 체계 제약 (Vocabulary encoding scheme constraint)
6.6.4.1.어휘 부호화 체계 발생 제약 (Vocabulary encoding scheme occurrence constraint)
요약
어휘 부호화 체계가 반드시 주어져야 하는지 아닌지
허락하는 값
"disallowed" / "optional" / "mandatory"
기본값
"optional"
조건
XML 요소 이름
VocabularyEncodingSchemeOccurrence
6.6.4.2.어휘 부호화 체계 목록 제약 (Vocabulary encoding scheme list constraint)
요약
어휘 부호화 체계로서 허락된 URIs
허락하는 값
URIs의 목록
기본값
제약 없음
조건
만약 어휘 부호화 체계가 주어진다면, 이것은 반드시 본 목록으로부터 가져와야 한다. 만약 어휘 부호화 체계 발생이 "disallowed"라면 구체화 할 수 없다.
XML 요소 이름
VocabularyEncodingScheme
6.6.5.값 문자열 제약들 (Value String Constraints)

만약 적어도 하나의 값 문자열 제약이 주어진다면, 어떠한 값 문자열도 반드시 이 제약들 중 적어도 하나와 일치해야 한다. 만약 아무런 값 문자열이 주어지지 않는다면, 어떠한 값 문자열도 허락 된다.
각 값 문자열 제약을 위해서, 다음과 같이 구체화 될 수 있다.

XML 요소 이름
ValueStringConstraint
6.6.5.1.최소 발생 제약 (Minimum occurrence constraint)
요약
이러한 종류의 값 문자열의 최소 횟수는 반드시 감싸는 문장 (enclosing Statement) 내에 나타나야 한다.
허락하는 값
음이 아닌 정수
기본값
0
조건
반드시 최대 발생과 같거나 적어야 함
XML 속성 이름
minOccurs
6.6.5.2.최대 발생 제약
요약
이러한 종류의 값 문자열의 최대 횟수는 감싸는 문장 (enclosing Statement) 내에서 나타나는 것이 허락된다.
허락하는 값
음이 아닌 정수이거나 "infinity"
기본값
"infinity"
조건
반드시 최대 발생과 같거나 더 커야 함
XML 속성 이름
maxOccurs
6.6.5.3.다른 제약들

모든 문자적 값 제약들 (Literal value constraints) (6.5 부분)은 값 문자열을 위해서도 사용될 수 있다.

7. XML 구조

<?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>

8.RDF 이형

<?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>

9.예시

9.1. "세분화되지 않은" 더블린 코어 ("Simple" Dublin Core)

<?xml version="1.0" ?>

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

<DescriptionTemplate>

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

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

<!-- etc -->

</DescriptionTemplate>

</DescriptionSetTemplate>

9.2. 단순 FOAF (Simple FOAF)

<?xml version="1.0" ?>

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

<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>