JSON-LD

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

JSON-LD는 JSON을 RDF 모델로 매핑하기 위한 JSON 기반의 형식이다. "컨텍스트" 개념을 사용하여 JSON 문서의 객체 속성을 온톨로지의 개념에 연결하며, 데이터의 유형 지정 및 언어 태그를 지원한다. JSON-LD는 리소스의 고유 식별자를 지정하기 위해 `@id` 키워드를 사용하고, Schema.org, 구글 지식 그래프 등에서 검색 엔진 최적화에 활용되며, 의료 정보학, 출처 정보 표현, 액티비티 스트림 및 액티비티펍과 같은 소셜 네트워킹, 사물 인터넷(IoT) 환경 등 다양한 분야에서 사용된다.

JSON-LD
기본 정보
영어JSON-LD
설명JSON 기반의 링크드 데이터 직렬화 포맷
파일 확장자.jsonld
마임 유형application/ld+json
장르시맨틱 웹
컨테이너링크드 데이터
기반JSON
표준JSON-LD 1.1
JSON-LD 1.1 API
공개 여부
기술 표준
제목JSON-LD 1.1
상태W3C 권고
시작 연도2010년
편집자Gregg Kellogg
Pierre-Antoine Champin
Dave Longley
이전 편집자Manu Sporny
Markus Lanthaler
작성자Manu Sporny, Dave Longley, Gregg Kellogg, Markus Lanthaler, Niklas Lindström
기반 표준BCP 47
JavaScript Object Notation
RDF
URI scheme
Internationalized Resource Identifier
유니코드 양방향 알고리즘
약칭JSON-LD
도메인시맨틱 웹, 데이터 직렬화
웹사이트json-ld.org
JSON-LD 1.1
JSON-LD 1.1 Processing Algorithms and API
JSON-LD 1.1 Framing
📚 더 읽어볼만한 페이지
  • 자원 기술 프레임워크 - 웹 온톨로지 언어
    웹 온톨로지 언어(OWL)는 시맨틱 웹 구축을 위한 지식 표현 언어로, W3C 웹 표준이며, 온톨로지 명시적 표현을 통해 데이터 공유 및 재사용을 가능하게 하고, 기술 논리에 기반하여 표현력 수준에 따라 다양한 종류를 제공한다.
  • 자원 기술 프레임워크 - 데이터 카탈로그 어휘
  • JSON - JSON 웹 토큰
    JSON 웹 토큰(JWT)은 헤더, 페이로드, 서명으로 구성되어 정보를 안전하게 전송하는 개방형 표준으로, 사용자 인증 및 권한 부여에 주로 사용되지만 알고리즘 관련 취약점, 키 관리, 토큰 무효화 등의 문제점도 존재한다.
  • JSON - BSON
    BSON은 JSON과 유사한 이진 데이터 직렬화 형식으로, JSON보다 효율적인 저장 공간 활용과 빠른 검색 속도를 제공하며 다양한 데이터 유형을 지원하여 MongoDB의 주요 데이터 저장 및 전송 형식으로 사용된다.
  • 데이터 직렬화 포맷 - XML
    XML은 태그 중첩 방식 구문을 사용하는 범용 언어로서, 인터넷을 통한 구조화된 문서 및 데이터 공유를 용이하게 하고, 웰 폼 및 유효 XML 문서 개념을 통해 구문 정확성을 검사하며, 데이터 교환 등 다양한 분야에서 널리 사용된다.
  • 데이터 직렬화 포맷 - S-표현식
    S-표현식은 Lisp 구문에서 소스 코드와 데이터를 표현하는 기본 구조로, 원자와 `(x . y)` 형태의 표현식으로 정의되며, 이진 트리 표현, 다양한 데이터 형식 지원, 그리고 여러 분야에서 활용된다.

2. 디자인

JSON-LD는 "컨텍스트" 개념을 중심으로 설계되었으며, 이를 통해 JSON 문서의 객체 속성을 온톨로지의 개념에 연결하여 JSON 데이터를 RDF 모델로 매핑한다.

2.1. 컨텍스트

JSON-LD는 JSON을 RDF 모델로 매핑하기 위해 "컨텍스트" 개념을 사용한다. 컨텍스트는 JSON 문서 내 객체 속성을 온톨로지의 개념에 연결한다. JSON-LD 구문을 RDF에 매핑하기 위해 JSON-LD는 값을 특정 유형으로 변환하거나 언어 태그를 지정할 수 있도록 한다. 컨텍스트는 JSON-LD 문서에 직접 포함하거나, 별도 파일에 넣어 다른 문서(일반 JSON 문서에서 HTTP Link 헤더를 통해)에서 참조할 수 있다.

2.2. 데이터 유형

JSON-LD는 리소스 유형을 지정하기 위해 `@type` 키워드를 사용할 수 있다. 이를 통해 데이터의 의미를 명확하게 하고 RDF 모델과의 호환성을 높인다. JSON-LD는 값을 지정된 유형이나 태그가 지정된 언어로 강제할 수 있다.

2.3. 언어 태그

JSON-LD는 `@language` 키워드를 사용하여 문자열 값의 언어를 지정할 수 있다. 이는 다국어 데이터를 처리할 때 유용하며, 정보 검색 및 처리에 정확성을 높여준다.

3. 예시

다음은 FOAF (친구의 친구) 온톨로지를 기반으로 한 사람에 대해 설명하는 JSON-LD 예시다.


{
"@context": {
"name": "http://xmlns.com/foaf/0.1/name",
"homepage": {
"@id": "http://xmlns.com/foaf/0.1/workplaceHomepage",
"@type": "@id"
},
"Person": "http://xmlns.com/foaf/0.1/Person"
},
"@id": "https://me.example.com",
"@type": "Person",
"name": "John Smith",
"homepage": "https://www.example.com/"
}


위 예시에서 `name`, `homepage`, `Person` 유형은 FOAF 어휘집의 개념에 매핑된다. `homepage` 속성의 값은 `@id` 유형으로 지정되어, 홈페이지 ID가 컨텍스트 정의에서 IRI임을 나타낸다.

RDF 모델을 기반으로, 이는 문서에 설명된 사람이 IRI에 의해 명확하게 식별될 수 있도록 한다. 해결 가능한 IRI를 사용하면 더 많은 정보를 포함하는 RDF 문서를 전사하는 것이 가능하며, 클라이언트는 해당 링크를 따라가기만 하면 새로운 데이터를 발견할 수 있다. 이러한 원리는 '코를 따라가세요(Follow Your Nose)'라고 알려져 있다.

위 예시와 같이 모든 데이터가 의미적으로 주석 처리되어 있으면, RDF 프로세서는 문서에 사람(`@type`)에 대한 정보가 포함되어 있음을 식별할 수 있다. 또한, 프로세서가 FOAF 어휘집을 이해하면 어떤 속성이 사람의 이름과 홈페이지를 지정하는지 결정할 수 있다.

4. 활용

JSON-LD는 데이터 상호 운용성과 의미적 연결이 중요한 분야에서 널리 사용되며, 검색 엔진 최적화, 의료 정보학, 출처 정보 표현, 소셜 네트워킹, 사물 인터넷 등 다양한 분야에서 활용된다.

4.1. 검색 엔진 최적화 (SEO)

Schema.org, 구글 지식 그래프에서 이 인코딩을 사용하며, 주로 검색 엔진 최적화 활동에 활용된다.

4.2. 의료 정보학

Schema.org, 구글 지식 그래프에서 이 인코딩을 사용하며, 주로 검색 엔진 최적화 활동에 활용된다. 또한 의료 정보학 및 출처 정보를 표현하는 데에도 사용된다.

4.3. 출처 정보 표현

Schema.org, 구글 지식 그래프,에서 이 인코딩을 사용하며, 주로 검색 엔진 최적화 활동에 활용된다. 또한 의료 정보학, 및 출처 정보를 표현하는 데에도 사용된다.

4.4. 소셜 네트워킹

JSON-LD는 "잠재적이고 완료된 활동에 대한 정보 교환"을 위한 형식인 액티비티 스트림의 기반 기술로 사용되며, 분산형 소셜 네트워킹 프로토콜인 액티비티펍에서도 활용된다.

4.5. 사물 인터넷 (IoT)

사물 인터넷(IoT) 환경에서 JSON-LD 문서인 사물 설명은 IoT 장치의 네트워크 인터페이스를 기술한다.

5. 한국어 정보자원과의 연계

JSON-LD를 통해 한국어 위키백과를 포함한 다양한 한국어 정보 자원을 연계하면 데이터의 활용 가치를 더욱 높일 수 있다. 예를 들어, 한국어 위키백과의 인물, 기관, 사건 등의 정보를 JSON-LD로 표현하고, 이를 다른 데이터베이스나 지식 그래프와 연결하면 보다 풍부한 정보를 제공하고 새로운 지식을 발견할 수 있다.