{{위키데이터 속성 추적}}
'''데이터 교환'''({{lang|en|data exchange}})은 원본 [[데이터베이스 스키마|스키마]](source schema)로 구조화된 데이터를 취한 다음 이를 대상 스키마(target schema)의 구조로 변환하는 과정이며 이 경우 대상 데이터가 원본 데이터를 정확히 표현할 수 있게 된다.<ref>A. Doan, A. Halevy, and Z. Ives. "[https://books.google.com/books?id=s2YCKGrO10YC&printsec=frontcover#v=onepage&q&f=false Principles of data integration]", Morgan Kaufmann, 2012 pp. 276</ref> 데이터 교환을 통해 각기 다른 [[컴퓨터 프로그램]] 간에 데이터를 공유할 수 있다.

데이터 교환의 경우 데이터가 실제로 재구성(데이터 손실 가능성이 있음)된다는 점을 제외하면 [[데이터 통합]] 관련 개념과 비슷하다. 모든 제약조건마다 [[인스턴스 (컴퓨터 과학)|인스턴스]]를 변환하는 방법은 없을 수 있다. 이와는 반대로, 최상의 솔루션이 식별되고 정당화된 경우 인스턴스 변환 방법이 무수히(잠재적으로는 무한히 많이) 존재할 수 있다.

== 데이터 교환 언어 ==
{{참고|모델링 언어}}
데이터 교환은 언어/포맷은 도메인 의존 언어이며 어떠한 종류의 데이터에 대해서라도 사용이 가능하다.<ref name="BillingsleyGeneral88">{{저널 인용|title=General Data Interchange Language |journal=ISPRS Archives |author=Billingsley, F.C. |volume=27 |issue=B3 |pages=80–91 |year=1988 |url=http://www.isprs.org/proceedings/XXVII/congress/part3/default.aspx |accessdate=25 May 2018 |quote=The transformation routines will constitute a language and syntax which must be discipline and machine independent.}}</ref> 

=== 데이터 교환에 대중적으로 쓰이는 언어 ===
{| class="wikitable sortable" style="font-size: 85%; text-align: center; width: auto;"
!
! 스키마
! 유연함
! 시맨틱 확인
! 사전
! 정보 모델
! 동음이의어, 유의어
! 방언
! 웹 표준
! 변환
! 가벼움(Lightweight)
! 인간이 읽을 수 있음
! 호환성
|-
| {{rh}}|[[자원 기술 프레임워크|RDF]]
| {{yes}}{{Ref label|feat-rdf|1}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{partial}}
| [[시맨틱 웹]]의 부분집합
|-
| {{rh}}|[[XML]]
| {{yes}}{{Ref label|feat-schema|2}}
| {{yes}}
| {{no}}
| {{no}}
| {{no}}
| {{no}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{no}}
| {{yes}}
| [[SGML]], [[HTML]]의 하위집합
|-
| {{rh}}|[[아톰 (표준)|아톰]]
| {{yes}}
| {{unk}}
| {{unk}}
| {{unk}}
| {{no}}
| {{unk}}
| {{yes}}
| {{yes}}
| {{yes}}
| {{no}}
| {{no}}
| [[XML]] 방언
|-
| {{rh}}|[[JSON]]
| {{no}}
| {{unk}}
| {{unk}}
| {{unk}}
| {{no}}
| {{unk}}
| {{no}}
| {{yes}}
| {{no}}
| {{yes}}
| {{yes}}
| [[YAML]]의 부분집합
|-
| {{rh}}|[[YAML]]
| {{no}}{{Ref label|feat-ext|3}}
| {{unk}}
| {{unk}}
| {{unk}}
| {{no}}
| {{unk}}
| {{no}}
| {{no}}
| {{no}}{{Ref label|feat-ext|3}}
| {{yes}}
| {{yes}}{{Ref label|feat-yaml-readable|4}}
| [[JSON]]의 확대집합
|-
| {{rh}}|[[REBOL]]
| {{yes}}{{Ref label|feat-rebol-parse|7}}
| {{yes}}
| {{no}}
| {{yes}}
| {{no}}
| {{yes}}
| {{yes}}
| {{no}}
| {{yes}}{{Ref label|feat-rebol-parse|7}}
| {{yes}}
| {{yes}}{{Ref label|feat-rebol-readable|5}}
| 
|-
| {{rh}}|[[Gellish]]
| {{yes}}
| {{yes}}
| {{yes}}
| {{yes}}{{Ref label|feat-gellish-dict|8}}
| {{no}}
| {{yes}}
| {{yes}}
| ISO
| {{no}}
| {{yes}}
| {{partial}}{{Ref label|feat-gellish-readable|6}}
| SQL, RDF/XML, OWL
|}

'''참고:'''

# {{note|feat-rdf}} RDF is a schema-flexible language.
# {{note|feat-schema}} The schema of XML contains a very limited grammar and vocabulary.
# {{note|feat-ext}} Available as an extension.
# {{note|feat-yaml-readable}} In the default format, not the compact syntax.
# {{note|feat-rebol-readable}} The syntax is fairly simple (the language was designed to be human-readable); the dialects may require [[:en:domain knowledge]].
# {{note|feat-gellish-readable}} The standardized fact types are denoted by standardized English phrases, which interpretation and use needs some training.
# {{note|feat-rebol-parse}} The [[:en:REBOL#parse|Parse dialect]] is used to specify, validate, and transform dialects.
# {{note|feat-gellish-dict}} The English version includes a Gellish English Dictionary-Taxonomy that also includes standardized fact types (= kinds of relations).

== 같이 보기 ==
* [[가벼운 마크업 언어]]
* [[RSS]]

== 각주 ==
<references />

{{데이터 교환}}

{{전거 통제}}

[[분류:데이터 관리]]