BIBFRAME Reference
BIBFRAME 연결데이터/Work-Instance-Item 모델 레퍼런스
BIBFRAME Reference 소개
BIBFRAME 레퍼런스는 미국 의회도서관 BIBFRAME 2.0 어휘를 Work, Instance, Item, 행위자/관계, 변환/도구의 5개 카테고리로 정리한 구조화된 참조 가이드입니다. 각 항목에는 RDF 속성 또는 클래스명, 간결한 설명, 그리고 실무 카탈로깅 프로젝트에 활용할 수 있는 Turtle/RDF 예제가 포함되어 있습니다.
BIBFRAME(Bibliographic Framework)은 도서관 자원을 링크드 데이터로 기술하기 위한 MARC 21의 후속 표준입니다. 이 레퍼런스는 추상적 지적 콘텐츠를 나타내는 bf:Work, 구체적 출판 표현인 bf:Instance, 개별 소장본인 bf:Item의 세 가지 핵심 엔터티와 bf:title, bf:contribution, bf:identifiedBy, bf:provisionActivity, bf:heldBy 등 주요 속성을 다룹니다.
핵심 어휘 외에도 MARC-BIBFRAME 필드 매핑(245->bf:Title, 100->bf:Contribution, 020->bf:Isbn), LC BIBFRAME Editor 사용법, JSON-LD 직렬화 패턴, SPARQL 질의 템플릿, 관리 메타데이터 속성까지 포함하고 있습니다. 모든 콘텐츠는 서버 처리 없이 브라우저에서 직접 검색하고 필터링할 수 있습니다.
주요 기능
- title, contribution, subject, classification, content 등 bf:Work 속성의 Turtle 예제 완비
- provisionActivity, identifiedBy(ISBN/DOI), extent, media/carrier, seriesStatement 등 bf:Instance 속성 수록
- heldBy, shelfMark, enumerationAndChronology 등 bf:Item 항목과 LC 어휘 URI 제공
- bf:Person, bf:Organization, bf:Role과 MARC relator 코드, 관련 저작 연결을 포함한 행위자/관계 클래스 설명
- MARC 21 필드 245, 100, 020, 260의 BIBFRAME 매핑과 marc2bibframe2 XSLT 변환 도구 안내
- @context, @type, 중첩 속성 구조를 활용한 BIBFRAME 데이터의 JSON-LD 직렬화 예제
- 트리플 스토어에서 제목, 날짜, 관련 인스턴스를 조회하는 SPARQL 질의 템플릿
- 생성일, 출처 기관, 기술 규칙을 포함한 관리 메타데이터(bf:AdminMetadata) 설명
자주 묻는 질문
BIBFRAME이란 무엇이고 MARC 21과 어떤 관계인가요?
BIBFRAME(Bibliographic Framework)은 미국 의회도서관이 서지 자원 기술을 위해 MARC 21의 후속으로 개발한 링크드 데이터 모델입니다. MARC가 평면적인 필드 기반 레코드 구조인 반면, BIBFRAME은 Work(추상 창작물), Instance(출판 형태), Item(물리적 사본)의 세 수준으로 자원을 상호 연결된 RDF 엔터티로 모델링합니다.
BIBFRAME의 세 가지 핵심 엔터티 수준은 무엇인가요?
bf:Work는 추상적인 지적/예술적 창작물(예: 소설 "모비딕"이라는 개념)을 나타냅니다. bf:Instance는 Work의 구체적 출판 표현(예: 1851년 Harper & Brothers 초판)을 나타냅니다. bf:Item은 특정 기관이 소장한 Instance의 개별 사본(예: 의회도서관 소장본, 청구기호 PZ7.R798)을 나타냅니다.
BIBFRAME에서 도서 제목은 어떻게 기술하나요?
bf:title 속성으로 bf:Title 빈 노드를 가리킵니다. Title 노드에서 bf:mainTitle은 본표제, bf:subtitle은 부표제, bf:partNumber나 bf:partName은 다권본 정보를 담습니다. 예: <work1> bf:title [ a bf:Title ; bf:mainTitle "모비딕" ; bf:subtitle "또는, 고래" ] .
ISBN이나 DOI 같은 식별자는 어떻게 표현하나요?
Instance에 bf:identifiedBy 속성으로 유형화된 빈 노드를 연결합니다. ISBN의 경우: bf:identifiedBy [ a bf:Isbn ; rdf:value "978-89-123-4567-8" ]. DOI의 경우: bf:identifiedBy [ a bf:Doi ; rdf:value "10.1234/example" ]. bf:Issn, bf:Lccn 등 다양한 식별자 유형을 지원합니다.
MARC 필드를 BIBFRAME 속성으로 어떻게 매핑하나요?
주요 매핑은 다음과 같습니다: MARC 245 $a는 bf:Title/bf:mainTitle, MARC 100 $a는 bf:Contribution/bf:Agent, MARC 020 $a는 bf:identifiedBy/bf:Isbn, MARC 260 $c는 bf:provisionActivity/bf:date에 대응합니다. 의회도서관에서 제공하는 marc2bibframe2 XSLT 도구로 일괄 자동 변환이 가능합니다.
BIBFRAME 데이터를 SPARQL로 질의할 수 있나요?
RDF 트리플 스토어에 저장된 BIBFRAME 데이터는 SPARQL로 질의할 수 있습니다. bf: 프리픽스를 사용하여 Work-Instance-Item 계층을 탐색하며, bf:instanceOf를 통해 Work와 Instance를 조인하고 bf:title/bf:mainTitle과 bf:provisionActivity/bf:date를 추출하는 방식입니다.
BIBFRAME의 JSON-LD 직렬화 형식은 어떤가요?
@context를 "http://id.loc.gov/ontologies/bibframe/"로 지정하고 @type으로 엔터티 클래스를 명시합니다. title, subject 같은 중첩 속성은 JSON 객체 배열로 표현됩니다. 웹 친화적 형식으로 HTML에 삽입하여 검색 엔진 발견을 돕거나 JavaScript 애플리케이션에서 직접 사용할 수 있습니다.
저자 역할은 BIBFRAME에서 어떻게 표현하나요?
bf:contribution으로 Work를 bf:Contribution 빈 노드에 연결하고, 그 안에 bf:agent(bf:Person 또는 bf:Organization 가리킴)와 bf:role(id.loc.gov의 MARC relator URI 사용)을 넣습니다. 예: 저자는 /relators/aut, 편집자는 /edt, 번역자는 /trl을 사용합니다.