한국더블린코어 로고
about Documents
Group Resoursces Tools & software
Projects DCMI News
Dublin Core Metadata Initiative

간략 더블린코어를 RDF/XML로 표현하는 방법

생성자: Dave Beckett
Institute for Learning and Research Technology (ILRT)
University of Bristol
생성자: Eric Miller
W3C
생성자: Dan Brickley
W3C/ILRT
발행일자: 2002-07-31
식별자: http://dublincore.org/documents/2002/07/31/dcmes-xml/
대체함: http://dublincore.org/documents/2001/11/28/dcmes-xml/
대체됨: 해당사항 없음
최신 버전: http://dublincore.org/documents/dcmes-xml/
문서의 지위: DCMI 권고안.
해설: 더블린코어 메타데이터 요소 집합 버전 1.1(DCMES)을 다양한 구문 형식으로 표현할 수 있다. 이 문서에서는 DCMES를 RDF/XML로 입력하는 방법을 설명하고 있으며, 이 문서의 정당성을 입증하기 위하여 DTD를 제공하고 있으며, 웹 페이지에서 이들 문서를 연결하는 방법을 설명하고 있다.

1. 서론과 목적

더블린코어 메타데이터 요소 집합 버전 1.1(DCMES) [DCMES]을 다양한 구문 형식으로 표현할 수 있다. 이 문서는 간단한 RDF[RDFMS]를 사용하여 DCMES를 XML[XML-SPEC]로 부호화하기 위한 것이며, 문서를 적법하게 작성하기 위하여 DTD와 W3C XML 스키마[XMLSCHEMA]를 제공하고, 웹 페이지에서 이들을 연결하기 위한 방법을 설명하고 있다.

이 문서에서는 다음의 조건에 따라 DCMES를 XML로 부호화하는 방법을 설명하고 있다.

  • DCMES 버전 1.1 참조에 기술된 더블린코어 요소를 사용할 수 있다.
  • 기타 요소를 사용할 수 없다.
  • 요소 한정어를 사용할 수 없다.
  • 결과적으로 작성된 RDF/XML을 웹 페이지에 내장할 수 없다.

이 문서의 주된 목적은 간단한 부호화 방법을 제공하기 위한 것으로, 여기서는 요소나 한정어를 추가할 수 없으며, 선택사항이나 변경되는 부분도 허용되지 않는다. 이렇게 함으로써 결과적으로 작성된 데이터는 DTD와 대비되어 적합한 문서가 될 수 있고, XML 구문분석기에 의해서 유용성이 보장될 것이다. 부차적인 목적은 부호화된 내용 역시 적법한 RDF[RDFMS]가 되도록 하며, 이를 통해 RDF 모델을 사용하여 이 문서를 처리하도록 하는 것이다. RDF 구조를 최소한으로 제한하고자 노력하였으며, 그 결과 모든 문서에 대해 표준 헤더(header)와 꼬리말(footer)이 되도록 하는 것이다.

이러한 제한 없이 DC를 부호화할 수 있는 다른 방안을 제시하는 문서가 앞으로 발표되리라 생각하지만 이 문서는 가장 단순한 형식 중의 하나이다. 이렇게 제한함으로써 결과적으로 부호화과정에서는 HTML 페이지에 내장될 수 있는 문서를 작성하지 않는다는 점이다. DC 전체를 RDF/XML로 표현하는 기법에 관한 구체적인 사항에 대해서는 ‘확장 더블린코어를 RDF/XML로 표현하는 기법’(Expressing Qualified Dublin Core in RDF / XML [DCQ-RDF-XML]을 참조하기 바란다.

z이 문서는 [EM-DTD][CIMI-XML-TB], [CIMI-DC-DTD]와 같은 기존의 저작에 기초하여 작성된 것이다.

2. 더블린코어의 XML 부호화방법

이 절에서는 단계적으로 기술하고 있으며, 이것이 DCMES에 대한 문서를 XML로 작성하는 방법이다.

2.1. XML 선언

잘 구성된 XML 문서에는 사용한 XML 버전에 관한 사항(그리고 내용 부호화)이 포함되어야 한다. W3C 권고사항에서 정의한 바와 같이 현재 XML에 대한 유일한 유효 버전은 1.0이다. 따라서 이 문서는 제1행을 다음과 같이 시작해야 한다.

<?xml version="1.0"?>

2.2 XML DTD 참조

<!DOCTYPE rdf:RDF PUBLIC "-//DUBLIN CORE//DCMES DTD 2002/07/31//EN"
    "http://dublincore.org/documents/2002/07/31/dcmes-xml/dcmes-xml-dtd.dtd">

2.3. RDF 사용 선언

이것이 RDF/XML 문서라는 것을 어플리케이션이 인식할 수 있도록 RDF[RDFMS] 를 사용하였다는 사실을 선언할 필요가 있다. 이것은 외측의 rdf:RDF 태그를 rdf의 XML 이름공간으로 선언하고, 아울러 RDFMS 요소에 대한 XML 이름공간을 선언하는 것이다.

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:dc="http://purl.org/dc/elements/1.1/">

이 문서의 다음 행으로 XML DTD 참조가 온다.

2.4. 자원 기술

이 부호화를 통해서 다수의 자원을 하나의 문서에 기술할 수 있다. 기술된 개개의 자원은 컨테이너(container) 요소인 쌍으로 구성된 rdf:Description 태그에 포함된다. 자원은 식별기호가 없거나 하나 또는 다수의 식별기호를 가질 수 있으며, 이들 식별기호 중 일부는 URI일 수 있다.

만약 하나의 자원이 최소한 하나의 URI를 가지고 있다면, 다음과 같이 가장 적절한 URI를 rdf:about 태그의 rdf:Description 속성 값으로 사용해야 한다.

<rdf:Description rdf:about="http://example.org/">
...
</rdf:Description>

(다른 식별기호(Identifier) 요소의 사용법에 관해서는 아래를 참조하기 바란다)

더블린코어 각 요소 앞에 dc: 라는 이름공간 접두어를 함께 사용하여 이를 rdf:Description 컨테이너(container) 속에 넣는다. 예를 들어 Title 요소는 모두 소문자인 dc:title이 되고 다음과 같이 rdf:Description 컨테이너 속에 사용된다.

<rdf:Description rdf:about="http://example.org/">
  <dc:title>My Home Page</dc:title>
</rdf:Description>

표준 더블린코어 지침과 함께 필요한 다른 모든 DCMES 요소에 대해 이러한 과정을 반복 사용할 수 있다 - 모든 요소는 반복 사용이 가능하고 선택사항이다. 이 문서를 사용하는 어플리케이션 쪽에서는 컨테이너 내에서 요소의 순서를 유지하기 위해 지켜야 할 아무런 전제조건도 없으며, 따라서 이러한 순서가 유지되리라 기대해서는 안된다는 점을 유의할 필요가 있다.

더블린코어 요소의 값이 평이한 텍스트가 아니라 URI를 지닌 자원인 경우, 이 URI를 공백 태그 내용과 함께 그 태그의 rdf:resource 속성 값으로 기재해야 한다. 예를 들어 정보원의 값이 URI인 경우 다음과 같이 기재될 것이다.

<rdf:Description rdf:about="http://example.org/">
  <dc:source rdf:resource="http://example.org/elsewhere/"/>
</rdf:Description>

URI나 이와 다른 식별기호를 가진 자원에 대해 복수의 식별기호(Identifier) 요소가 있을 수 있다. 만약 URI 식별기호를 이용할 수 있고 사용하기 적절하다면 위에서 설명한 바와 같이 rdf:Description 요소의 rdf:about 속성 값으로 사용해야 한다. 기타의 식별기호 요소 값은 다음에 설명한 바와 같이 다른 요소와 동일한 방법으로 부호화 되어야 한다. 여기서는 URI가 아닌 식별기호를 가진 도서의 기술 일부를 보여주고 있다.

<rdf:Description>
  <dc:title>Internet Ethics</dc:title>
  <dc:creator>Duncan Langford</dc:creator>
  <dc:format>Book</dc:format>
  <dc:identifier>ISBN 0333776267</dc:identifier>
</rdf:Description>

식별기호가 없는 자원이 있을 수 있는데, 이 경우 위에서 설명한 방법 중 어느 것도 사용해서는 안되며, rdf:about 속성과 식별기호 요소는 공백으로 남겨두어야 한다. 이것은 다음과 같이 사용된다.

<rdf:Description>
  <dc:title>The Mona Lisa</dc:title>
  <dc:description>A painting by ...</dc:description>
</rdf:Description>

2.5. 언어와 문자 부호화

XML에서는 어떤 요소에서도 사용할 수 있는 xml:lang 속성을 제공하고 있다. 이 속성은 요소의 내용(content)에 사용된 언어를 기술하기 위한 방법을 제공하고 있다. DCMES는 자원의 언어를 기술하기 위해 사용되는 언어(Language) 요소를 제공하고 있다.

특수 문자가 값에 포함된 경우에는 XML 규칙을 사용하여 해당 요소와 속성 값을 부호화할 필요가 있다. 부호화할 필요가 있는 특수 문자와 시기에 대해서는 참고로 여기에 제시하였다.

평이한 텍스트 XML 부호화 필수
& &amp; 요소와 속성 값에서 필수
< &lt; 요소와 속성 값에서 필수
> &gt; 요소와 속성 값에서 필수
' (생략부호/작은따옴표) &apos; 속성 값에서 필수
" (큰따옴표) &quot; 속성 값에서 필수

'와 "만이 속성 값 내의 문자로 사용된다는 점에 유의할 필요가 있고, 이 값은 rdf:resource 속성(2.4절 참조)와 xml:lang 속성(2.5절 참조)에서만 필요한 값이다.

US-ASCII 32-126의 핵심 범위에 속하지 않는 다른 모든 문자는 XML에서 정의되지 않았기 때문에 é와 같은 HTML 개체로 부호화되어서는 안 된다. 문자에 대한 숫자 개체는 10진수인 &#ddd;로 작성되거나 16진수인 ઼로 작성되어 사용되어야 한다. 이와 달리 이들 숫자 개체를 폭넓게 지원되고 있는 UTF-8과 같은 포맷의 유니코드로 부호화할 수 있다.

2.6. 문서종료

마지막으로 해야 할 일은 문서의 첫 머리에서 열었던 rdf:RDF 요소를 다음과 같은 행을 추가하여 닫아야 한다.

</rdf:RDF>

3. 용어(단지 참고용으로 제시한 것임)

용어 1

<?xml version="1.0"?>
<!DOCTYPE rdf:RDF PUBLIC "-//DUBLIN CORE//DCMES DTD 2002/07/31//EN"
    "http://dublincore.org/documents/2002/07/31/dcmes-xml/dcmes-xml-dtd.dtd">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:dc="http://purl.org/dc/elements/1.1/">
  <rdf:Description rdf:about="http://www.ilrt.bristol.ac.uk/people/cmdjb/">
    <dc:title>Dave Beckett's Home Page</dc:title>
    <dc:creator>Dave Beckett</dc:creator>
    <dc:publisher>ILRT, University of Bristol</dc:publisher>
    <dc:date>2002-07-31</dc:date>
  </rdf:Description>
</rdf:RDF>

용어 2

<?xml version="1.0"?>
<!DOCTYPE rdf:RDF PUBLIC "-//DUBLIN CORE//DCMES DTD 2002/07/31//EN"
    "http://dublincore.org/documents/2002/07/31/dcmes-xml/dcmes-xml-dtd.dtd">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:dc ="http://purl.org/dc/elements/1.1/">
 <rdf:Description rdf:about="http://dublincore.org/">
   <dc:title>Dublin Core Metadata Initiative - Home Page</dc:title>
   <dc:description>The Dublin Core Metadata Initiative Web site.</dc:description>
   <dc:date>2001-01-16</dc:date>
   <dc:format>text/html</dc:format>
   <dc:language>en</dc:language>
   <dc:contributor>The Dublin Core Metadata Initiative</dc:contributor>
   <!-- guesses for the translation of the above titles -->
   <dc:title xml:lang="fr">L'Initiative de m?adonn?s du Dublin Core</dc:title>
   <dc:title xml:lang="de">der Dublin-Core Metadata-Diskussionen</dc:title>
 </rdf:Description>
</rdf:RDF>

4. HTML로 작성된 더블린코어 메타데이터를 XML 더블린코어 메타데이터로 연결

여기에서 설명한 방식으로 부호화된 더블린코어는 HTML 문서에서 참조할 수 있으며 HTML의 <link> 요소를 수단으로 더블린코어 메타데이터와 연결되어 있다. 이러한 목적으로 권장되는 관계 유형은 다음과 같은 rel="meta" 이다.

<link rel="meta" href="mydoc.dcxml" />

여기서 mydoc.dcxml 은 참조된 XML 문서의 URI이다. 이것은 더블린코어 메타데이터를 HTML로 부호화하여 [DC-HTML] 기술된다.

부록 A - RDF/XML로 작성된 간략 더블린코어 메타데이터 요소 집합 1.1의 DTD(단지 참고용으로 제시한 것임)

이 절은 단지 참고용으로 제시된 것이며 표준적인 것이 아니다.

이 DTD에 대한 URI는 http://dublincore.org/documents/2002/07/31/dcmes-xml/dcmes-xml-dtd.dtd 이다.

<!--

  DTD 2002-04-22 for
    Expressing Simple Dublin Core in RDF/XML
    http://dublincore.org/documents/2002/07/31/dcmes-xml/

  Public ID: "-//DUBLIN CORE//DCMES DTD 2002/07/31//EN"

  Authors:
    Dave Beckett <dave.beckett@bristol.ac.uk>
    Eric Miller <emiller@w3.org>
    Dan Brickley <danbri@w3.org>

  Based on
    Dublin Core Metadata Element Set, Version 1.1: Reference Description
    http://dublincore.org/documents/1999/07/02/dces/

  This DTD is for information only and NON-NORMATIVE.

-->

<!-- The namespaces for RDF and DCMES 1.1 respectively -->
<!ENTITY rdfns 'http://www.w3.org/1999/02/22-rdf-syntax-ns#' >
<!ENTITY dcns 'http://purl.org/dc/elements/1.1/' >

<!-- Declare convenience entities for XML namespace declarations -->
<!ENTITY % rdfnsdecl 'xmlns:rdf CDATA #FIXED "&rdfns;"' >
<!ENTITY % dcnsdecl 'xmlns:dc CDATA #FIXED "&dcns;"' >


<!-- The wrapper element -->
<!ELEMENT rdf:RDF (rdf:Description)* >

<!ATTLIST rdf:RDF %rdfnsdecl; %dcnsdecl; >


<!ENTITY % dcmes "dc:title | dc:creator | dc:subject | dc:description |
dc:publisher | dc:contributor | dc:date | dc:type | dc:format |
dc:identifier | dc:source | dc:language | dc:relation | dc:coverage |
dc:rights" >


<!-- The resource description container element -->
<!ELEMENT rdf:Description (%dcmes;)* >

<!ATTLIST rdf:Description rdf:about CDATA #IMPLIED>


<!-- The elements from DCMES 1.1 -->

<!-- The name given to the resource. -->
<!ELEMENT dc:title (#PCDATA)>
<!ATTLIST dc:title xml:lang CDATA #IMPLIED>
<!ATTLIST dc:title rdf:resource CDATA #IMPLIED>

<!-- An entity primarily responsible for making the content of the
resource. -->
<!ELEMENT dc:creator (#PCDATA)>
<!ATTLIST dc:creator xml:lang CDATA #IMPLIED>
<!ATTLIST dc:creator rdf:resource CDATA #IMPLIED>

<!-- The topic of the content of the resource. -->
<!ELEMENT dc:subject (#PCDATA)>
<!ATTLIST dc:subject xml:lang CDATA #IMPLIED>
<!ATTLIST dc:subject rdf:resource CDATA #IMPLIED>

<!-- An account of the content of the resource. -->
<!ELEMENT dc:description (#PCDATA)>
<!ATTLIST dc:description xml:lang CDATA #IMPLIED>
<!ATTLIST dc:description rdf:resource CDATA #IMPLIED>

<!-- The entity responsible for making the resource available. -->
<!ELEMENT dc:publisher (#PCDATA)>
<!ATTLIST dc:publisher xml:lang CDATA #IMPLIED>
<!ATTLIST dc:publisher rdf:resource CDATA #IMPLIED>

<!-- An entity responsible for making contributions to the content of
the resource. -->
<!ELEMENT dc:contributor (#PCDATA)>
<!ATTLIST dc:contributor xml:lang CDATA #IMPLIED>
<!ATTLIST dc:contributor rdf:resource CDATA #IMPLIED>

<!-- A date associated with an event in the life cycle of the resource. -->
<!ELEMENT dc:date (#PCDATA)>
<!ATTLIST dc:date xml:lang CDATA #IMPLIED>
<!ATTLIST dc:date rdf:resource CDATA #IMPLIED>

<!-- The nature or genre of the content of the resource. -->
<!ELEMENT dc:type (#PCDATA)>
<!ATTLIST dc:type xml:lang CDATA #IMPLIED>
<!ATTLIST dc:type rdf:resource CDATA #IMPLIED>

<!-- The physical or digital manifestation of the resource. -->
<!ELEMENT dc:format (#PCDATA)>
<!ATTLIST dc:format xml:lang CDATA #IMPLIED>
<!ATTLIST dc:format rdf:resource CDATA #IMPLIED>

<!-- An unambiguous reference to the resource within a given context. -->
<!ELEMENT dc:identifier (#PCDATA)>
<!ATTLIST dc:identifier xml:lang CDATA #IMPLIED>
<!ATTLIST dc:identifier rdf:resource CDATA #IMPLIED>

<!-- A Reference to a resource from which the present resource is derived. -->
<!ELEMENT dc:source (#PCDATA)>
<!ATTLIST dc:source xml:lang CDATA #IMPLIED>
<!ATTLIST dc:source rdf:resource CDATA #IMPLIED>

<!-- A language of the intellectual content of the resource. -->
<!ELEMENT dc:language (#PCDATA)>
<!ATTLIST dc:language xml:lang CDATA #IMPLIED>
<!ATTLIST dc:language rdf:resource CDATA #IMPLIED>

<!-- A reference to a related resource. -->
<!ELEMENT dc:relation (#PCDATA)>
<!ATTLIST dc:relation xml:lang CDATA #IMPLIED>
<!ATTLIST dc:relation rdf:resource CDATA #IMPLIED>

<!-- The extent or scope of the content of the resource. -->
<!ELEMENT dc:coverage (#PCDATA)>
<!ATTLIST dc:coverage xml:lang CDATA #IMPLIED>
<!ATTLIST dc:coverage rdf:resource CDATA #IMPLIED>

<!-- Information about rights held in and over the resource. -->
<!ELEMENT dc:rights (#PCDATA)>
<!ATTLIST dc:rights xml:lang CDATA #IMPLIED>
<!ATTLIST dc:rights rdf:resource CDATA #IMPLIED>

부록 B - RDF/XML로 작성된 간략 더블린코어 메타데이터 요소 집합 1.1에 대한 W3C XML 스키마(단지 참고용으로만 제시한 것임)

이 절은 단지 참고용으로 제시된 것이며 표준적인 것이 아니다.

여기에는 세 개의 XML 이름공간이 관련되어 있으며 따라서 다음과 같은 세 개의 W3C XML 스키마 문서가 있게 된다.

W3C XML 스키마를 포함하여 RDF/XML의 사례로 작성된 간략 DC를 사용하기 위해서는 다음과 같은 URI를 가진 W3C XML의 주 스키마와 함께 사용될 필요가 있다. http://dublincore.org/documents/2002/07/31/dcmes-xml/dcmes-xml-xsd.xsd

이 스키마의 최초의 버전을 작성해 준 에딘버러 대학(University of Edinburgh)의 Henry S. Thompson씨에게 감사드린다.

참고문헌

[DCMES]
Dublin Core Metadata Element Set, Version 1.1: Reference Description
http://dublincore.org/documents/1999/07/02/dces/

[XML-SPEC]
Extensible Markup Language (XML) 1.0, W3C Recommendation, 10 February 1998
http://www.w3.org/TR/REC-xml

[EM-DTD]
DTD's for the Dublin Core Element Set, Eric Miller
http://dublincore.org/documents/2002/07/31/dcmes-xml/dcmes-xml-dtd.shtml

[DCQ-RDF-XML]
Expressing Qualified Dublin Core in RDF / XML : Stefan Kokkelink and Roland Schwänzl, DCMI Proposed Recommendation
http://dublincore.org/documents/2002/04/14/dcq-rdf-xml/ (latest version)

[DC-HTML]
Encoding Dublin Core Metadata in HTML: John Kunze, DCMI, December 1999, RFC 2731
http://www.ietf.org/rfc/rfc2731.txt.

[CIMI-XML-TB]
The use of XML as a transfer syntax for museum records during the CIMI Dublin Core test bed: some practical experiences, Bert Degenhart Drenth
MS Word (no non-proprietary format available): http://www.cimi.org/wg/xml_spectrum/XML_for_DC_testbed_rev.doc

[CIMI-DC-DTD]
CIMI Dublin Core DTD
MS Word (no non-proprietary format available): http://www.cimi.org/public_docs/CIMI-DC-DTD_210400.doc

[RDFMS]
Resource Description Framework (RDF) Model and Syntax Specification, W3C Recommendation, 22 February 1999
http://www.w3.org/TR/REC-rdf-syntax

[XMLSCHEMA]
XML Schema, W3C Recommendation, 2 May 2001
http://www.w3.org/TR/xmlschema-1/

 
 

COPYRIGTH (C) 2006 THE NATIONAL LIBRARY OF KOREA, ALL RIGHT RESERVED