imskorea_logo_1 IMS Caliper Analytics 1.1
발행일 한국어 버전 : 2017년 11월 1일 (영문 버전은 현재 개발 중)
이전버전 http//www.imsglobal.org/activity/caliper

지적재산권 및 배포 관련 공지

이 표준의 사용자는 표준을 실행하면서 알게 되는 관련 특허 혹은 지적재산권 침해 가능성, 코멘트와 함께 문서로 제공해야 합니다. IMS는 이 문서에 서술된 기술의 적용 혹은 사용과 관련 있을 수 있는 지적재산권이나 기타 권리의 유효성, 범위 혹은 그러한 권리 아래에서 유효 또는 무효할 수 있는 라이선스의 한도 범위에 대하여 어떤 관점도 취하지 않으며, 그러한 권리를 파악하려고 노력했다는 사실 또한 표현하지 않습니다. IMS 표준 상의 권리에 대한 IMS의 절차 관련 정보는 IMS 지적재산권 웹 페이지에 나와 있습니다: /imsipr_policyFinal.pdf.

이 표준을 제품 혹은 서비스 개발에 이용하려면 IMS 웹사이트: /license.html상의 IMS 라이선스 규정에 따라야 합니다. 제안요청서(RFP, Request For Proposals) 제작 시누구나 필요에 따라 이 문서의 일부를 발췌하여 사용할 수 있습니다. 위의 제한적 사용 허가는 영구적이며 IMS나 그 상속인 혹은 양수인 등에 의해 취소되지 않습니다.

본 표준은 어떠한 보증도 하지 않으며, 특히 침해행위 없음에 대한 그 어떤 명시적 보증도 하지 않습니다. 이 표준의 사용은 전적으로 실행자 자신의 책임으로 이루어져야 하며, 컨소시엄 및 그 회원이나 제출자 등은 실행자 또는 제 3자가 이 설명서 사용으로 인해 직접 혹은 간접적으로 받는 그 어떤 성격의 피해에 대해서도 책임지지 않습니다.

© 2017 IMS Global Learning Consortium, Inc. All Rights Reserved.

상표 정보: /copyright.html

문서 명: IMS Caliper Analytics 1.1

배포일: 2017년 11월 1일

 

목 차

1.0. 서론

대규모로 교육을 제공하고 학습하는 것은 “빅데이터” 관행의 도입을 장려한다. 클라우드 컴퓨팅과 기계 학습은 학습 기술 환경과 교육 사업을 변화시키고 있다. 학습 구성 요소에 대한 정의도 기존 교실에서의 경험을 넘어 지식과 기술을 비형식적, 사회적, 실험적으로 습득하는 방식을 포함하는 것으로 변화되었다. 새로운 도구를 활용하고, 새로운 데이터 소스를 이용하고, 새로운 질문을 제시하고, 새로운 통찰력을 추구할 기회가 존재한다.

학생을 위한 교실 환경을 변형시키지 않으면서 교육을 강화하려는 진취적인 교사를 떠올려보자. 그는 비디오 플랫폼을 사용하여 비디오 과제를 만들고 게시한다. 학급 토론과 질의응답 세션은 또 다른 서비스를 사용해 온라인으로 진행한다. 학습관리시스템Learning Management System을 사용하여 교과과정을 관리한다. 3개의 서비스에는 3개의 공급자, 3개의 잠재적인 데이터 소스가 요구될 것이다.

교과과정 내용에 대해 질문하고 학생의 행동을 관찰하고 분석하는 것은 학생의 이해력과 성취도 파악에 매우 중요하다. 하지만 그러한 관계를 파악하는 것은 너무 힘든 일이다. 아마도 극복해야 할 장벽이 있을 것이다. 분석에 필요한 데이터가 실제로 수집될까? 만약 그렇다면, 누가 그것을 소유할까? 소유권이 문제되지 않는다면, 개인정보는 어떨까? 개인정보 프로토콜이 있다면, 데이터 검색이 쉬워질까? 검색이 가능하다면, 다른 플랫폼에서 제공되는 데이터를 결합하는 것은 얼마나 어려울까?

Caliper Analytics® 표준은 학습 활동 데이터의 설명, 수집, 교환에 필요한 체계적인 방법을 제공함으로써 위에서 설명한 여러 문제를 해결하고자 한다. 학습 상호작용을 기술하기 위한 공통 어휘를 설정하는 것이 주된 목적이다. 데이터 상호운용성, 데이터 공유 및 데이터 기반의 의사 결정을 촉진하는 것도 중요한 목표다.

또한 Caliper는 도구화된 어플리케이션에서 오는 이벤트 데이터를 수집하고 저장, 분석, 사용을 위해 대상 엔드포인트로 전송하는 어플리케이션 프로그래밍 인터페이스 (Sensor API™)를 정의한다. 업계 전반에 걸쳐 Caliper를 채택함으로써 측정, 추론, 예측, 보고 및 시각화를 위해 새롭고 혁신적인 서비스를 구축할 수 있는 보다 통합된 학습 데이터 환경을 제공 할 것으로 기대한다.

1.1 이 문서의 상태

이 문서는 최종본(Final Release) 이다. 즉, Caliper Analytics® Specification, 버전 1.1이 IMS Global 회원 기관들의 승인을 받은 후 공개 문서로 제공된다는 것을 의미한다. 많은 회원기관들이 이 문서가 공개될 당시에 적합성 인증을 성공적으로 취득했다.

IMS Global은 회원들과 일반인들에게 Caliper specification 개선에 중점을 둔 피드백을 제공할 것을 강력히 권장한다. Caliper에 중점을 둔 IMS 개발자 및 적합성 인증 커뮤니티에 참여하려면 https://www.imsglobal.org/activity/caliper 를 방문하시오.

공개적인 의견과 질문은 Caliper Analytics® 공개 포럼에 게시할 수 있다.

1.2 변경 사항 요약

Caliper 1.1은 Caliper 정보 모델을 확장하여 개선하고 JSON-LD를 사용하여 문서를 작성할 때 이벤트와 엔터티를 링크드 데이터로 표현할 수 있는 방법을 설명한다.

3개의 새로운 프로파일이 제공된다: Basic Profile, Forum Profile, ToolUse Profile. AssessmentItem Profile이 Assessment Profile에 병합되었다. Outcome Profile의 이름이 Grading Profile로 변경되고 새로운 Score 엔터티가 추가되었다. Forum ProfileToolUse ProfileForumEvent, ThreadEvent, MessageEvent, ToolUseEvent과 같은 새로운 이벤트 유형을 Caliper 이벤트 모델에 추가한다. 또한 포럼 활동과 도구 사용을 보다 잘 설명하기 위해 새로운 이벤트와 액션이 제공된다.

ReadingEventOutcomeEventGradeEvent로 대체되는 동안 더이상 사용되지 않는다. 특정 액션 어휘들은 추가 및/또는 제거하여 조정하였다. 여기에는 AnnotationEvent, AssessmentEvent, AssessmentItemEvent, AssignableEvent,MediaEvent와 관련된 액션이 포함된다. 또한 많은 엔터티들이 사용되지 않는다. EpubChapter, EpubPart, EpubSubChapter, EpubVolume, Reading이 이러한 목록에 포함된다.

속성 변경과 관련하여, JSON-LD@id@type 키워드는 idtype을 위해 더이상 사용되지 않는다. 이제 Caliper Event에는 새로운 식별자 id 속성 뿐만 아니라, referrer, session, extensions 속성이 포함된다. 또한 Entity 속성 추가와 이름 변경, 제거대상 항목들이 특징을 이룬다.

Sensorendpoint 동작에 대해 자세히 설명하고 새로운 표준은 JSON-LD 문서에서 Caliper 이벤트와 엔터티를 표현하는 방법을 명확히 설명한다. Caliper 용어를 각각의 IRIs에 매핑하기 위해 새로운 Caliper JSON-LD 컨텍스트 문서도 제공된다.

이러한 모든 변경 사항은 부속서 H. 변경 이력에 자세히 설명되어 있다.

1.3 규약

이 문서에서 “반드시 ~해야하는[MUST]”, “~해서는 안되는[MUST NOT]”, “요구되는[REQUIRED]“, “~해야하는[SHALL]”, “~하지 말아야하는[SHALL NOT]”, “~하는게 좋은[SHOULD]”, “~하지 않는게 좋은[SHOULD NOT]”,”권고되는[RECOMMANDED]”, “~할 수 있는[MAY]”, “선택적으로[OPTIONAL]”과 같은 키워드는 RFC 2119에 기술된 대로 해석되어야 한다. “반드시 ~해야하는[MUST]/ 요구되는[REQUIRED]/~해야하는[SHALL]“ 요구사항을 구현하지 못하거나, “~해서는 안되는[MUST NOT/~하지 말아야하는[SHALL NOT]“ 금지사항을 준수하지 않는 센서의 구현은 부적합한 것으로 간주된다. “~하는게 좋은[SHOULD]/~하지 않는게 좋은[SHOULD NOT]/권고되는[RECOMMANDED]” 표현은 모범 사례를 뜻한다. 모범 사례들을 무시하더라도 적합성을 위반하지는 않지만 이러한 지침을 무시하는 결정은 신중하게 이루어져야 한다, “~할 수 있는[MAY]/ 선택적으로[OPTIONAL]“ 표현은 개발자가 옵션의 구현 여부를 전적으로 자유롭게 선택할 수 있음을 나타낸다.

1.4 용어

액터 Actor: actor는 어떤 일이나 프로세스에 대해 action을 시작하거나 수행할 수 있는 Agent다. Caliper Event에는 Agent를 나타내는 actor 속성이 포함된다.

공백 노드 식별자 Blank Node Identifier: IRI가 제공되지 않는 Entity를 식별하는 데 사용되는 “_:”로 시작하는 문자열. 공백 노드 식별자와 제공된 Entity는 역참조dereferenceable가 불가능하며, JSON-LD 문서의 범위에서 의미도 갖지 않는다.

액션 Action: 목적을 달성하기 위해 수행되는 일로 Caliper Event의 하위유형들은 활동 도메인activity domain과 관련된 하나 이상의 actions에 관한 통제 어휘controlled vocabulary를 정의한다. Caliper Event는 연관된 행위를 표현하기 위한 action 속성을 포함한다.

컨텍스트 Context: JSON 문서에 사용된 용어를 하나 이상의 게시된 어휘로 연결하는 IRIs 에 매핑하는 JSON-LD 특수 키워드. JSON-LD context를 포함하면 Caliper Event 데이터를 사용하는 데 관심 있는 서비스에 문서의 의미를 효과적으로 전달하는 방법을 제공한다.

Describe: Event와 직접 연관되지 않은 Entity를 포함하는 Caliper 메시지. 엔터티는 Describe 메시지를 사용하여 이벤트에서 비동기적으로 전송될 수 있다.(예: DescribePerson 엔터티를 전송할 경우, Person 객체를 포함하는 각 Event에서 Person 객체를 반복할 필요가 없다).

Endpoint: 특정 네트워크 프로토콜에 연결된 Caliper 데이터의 수신자 또는 소비자.

엔터티 Entity: 학습 관련 활동에 참여하는 객체object나 사물thing. Caliper Entity 유형은 Caliper Event의 “여러가지 것들stuff”를 구성하는 어플리케이션, 사람, 그룹, 리소스에 대한 풍부한 표현을 제공한다. 각 Entity는 방향 그래프directed graph의 노드에 해당한다.

Envelope: Caliper EventEntity 데이터의 전송 컨테이너 역할을 하는 데이터 구조. 방출 Sensor와 데이터 페이로드에 대한 메타데이터도 포함한다.

이벤트 Event: 특정 시점의 object와 관련하여 actor가 착수한 의도적인 action의 결과로 형성된 Agent (actor)와 Entity (object)사이의 관계

JSON-LD:링크드 데이터로 작업하기 위한 API와 알고리즘을 처리하고, JSON 기반 데이터 직렬화와 메시징 포맷을 제공하는 사양. 이 표준에서 설명하는 메시지는 JSON-LD를 지원하는 프로그래밍 환경에서 사용하기 위한 것이다.

IRI: 국제화 자원 식별자Internationalized Resource identifier(IRI)는 RFC 3987에 따라 US-ASCII 대신 국제 문자 세트Universal character set에서 가져온 문자를 사용하여 통합 자원 식별자Uniform Resource Identifier(URI) 체계를 확장한다. 링크드 데이터는 대부분의 노드와 속성을 참조하기 위해 IRI에 의존한다.

ISO 8601: Caliper 데이터와 시간 값은 밀리초 정확도가 추가된 ISO 8601 형식을 사용한다. 형식은 yyyy-MM-ddTHH:mm:ss.SSSZ다. 여기서 ‘T’ 는 날짜와 시간을 구분하고, ‘Z’는 시간이 UTC로 설정된 것을 나타낸다.

링크드 데이터 Linked Data: 웹을 통해 구조화된 데이터를 검색하고 연결하여 공유하기 위해 Tim Berners-Lee가 처음으로 제시한 일련의 설계 원칙의 집합으로 다음과 같이 요약될 수 있다. IRIs/URIs를 사물의 이름으로 사용한다; 표준 형식을 이용해 사물(예: 사람, 객체, 개념)에 대한 정보를 검색할 수 있도록 HTTP IRIs/URIs를 사용한다; 사물 간의 새로운 관계 발견을 촉진하기 위해 IRIs/URIs로 다른 관련 사물에 연결한다.

LIS: 학습 정보 서비스Learning Information Services® (LIS®)는 시스템이 사람, 그룹, 회원 자격, 코스, 결과를 설명하는 정보의 교환을 관리하는 방법을 정의한 IMS 표준

LTI: 학습 도구 상호운용성Learning Tools Interoperability® (LTI®)은 교육 환경에서 다양한 학습 어플리케이션을 통합하기 위한 IMS 표준

Metric Profile: 학습 활동 또는 학습 촉진에 도움이 되는 지원 활동을 모델링 한다. 각 프로파일은 어플리케이션 설계자와 개발자가 공용 어휘를 사용하여 일관된 방식으로 일반 사용자간의 상호작용을 설명할 수 있도록 도메인에 특화된 용어와 개념 집합을 제공한다.

Object: Agent가 상호작용하는 Entity로 상호작용의 초점이나 대상 또는 객체가 된다. Caliper Event는 리소스를 나타내는 object 속성을 포함한다.

Sensor: Caliper 데이터를 수집하고 대상 Endpoint로 전송하기 위해 Sensor API™를 구현한 학습 어플리케이션 내에 배포된 소프트웨어 자산.

Sensor API™: Sensor가 상호운용 가능한 방법으로 Caliper 데이터를 전송하기 위해 이 표준에 따라 구현한 메소드와 매개 변수의 표준 집합.

Term: JSON-LD context 문서에 매핑될 때 IRI로 확장되는 단어 또는 짧은 표현. Caliper 정보 모델에 정의된 엔터티와 이벤트의 다양한 JSON 표현을 구별하기 위해 Caiper type 속성 문자열 값으로 사용된다.

유형 강제 Type Coercion: 값을 특정 데이터 형식으로 강제 변환하는 프로세스.

URI: 통합 자원 식별자Uniform Resource Identifier (URI)는 US-ASCII 문자 세트를 사용해 리소스를 식별한다. RFC 2396에 따라 URI는 “주소나 이름, 혹은 두 가지 전부로 분류될 수 있다.” 통합 자원 주소Uniform Resource Locator (URL)와 통합 자원 이름Uniform Resource Name (URN)은 둘 모두 보다 일반적인 URI의 하위개념으로 간주된다.

URL: 통합 자원 주소Uniform Resource Locator (URL)는 해당 위치와 표현 검색방법을 명시하는 리소스에 대한 참조를 제공하는 URI 유형이다. HTTP URIURL이며 HTTP IRI/URI를 사용하여 사물을 식별하는 것이 링크드 데이터의 기본이다.

URN: 통합 자원 이름Uniform Resource Name (URN)은 URI의 일종으로, 정의된 네임스페이스에 바인딩 된 리소스에 대한 영구 식별자를 제공한다. URL과는 다르게 URN은 위치 독립적이며, 이미 명명된 리소스의 표현에 접근할 수 있는 방법은 없다.

UUID: 고유성 보장을 위한 등록 기관을 필요로 하지 않는 128비트 식별자. 충돌 확률은 극히 낮지만 절대적인 고유성은 보장되지 않는다. Caliper는 무작위, 혹은 유사 무작위 방식으로 생성되는 Ver. 4 UUID의 사용을 권장한다. 각 Caliper Event는 반드시 RFC 4122에서 서술된 대로 urn:uuid:<UUID> 형식을 사용하여 URN으로 표현된 UUID를 할당해야 한다.

2.0 정보 모델

Caliper 정보 모델은 학습 활동을 설명하기 위한 일련의 개념, 규칙, 관계를 정의한다. 모델링된 각 활동 도메인은 Metric Profile (“프로파일profile”)에 설명되어 있다. 각 프로파일은 하나 이상의 Event 유형으로 구성된다. 각 Event는 이벤트 범위에 속해있는 학습자, 교사 및 다른 개인들이 수행하는 actions의 통제 어휘를 정의한다. 참가자, 그룹, 리소스를 나타내는 다양한 Entity 유형이 참여 엔터티와 상호작용과 관련된 맥락적 요소간의 관계를 설명하기 위해 제공된다.

2.1 Caliper Event
Event Model

Caliper Eventobjectactor사이의 관계를 설명하는 일반 유형으로, 특정 시간과 주어진 학습 환경내에서 actor에 의해 수행되는 의도적인 action의 결과로 형성된다. Event 속성 중 actor, action, objectRDF 트리플과 같이 주어와 목적어가 술어로 연결되는 간결한 데이터 구조를 형성한다. 학습자가 평가를 시작하거나, 읽다가 주석을 달거나, 비디오를 일시 중지하거나, 포럼에 메시지를 게시하는 것은 Caliper가 이벤트로 모델링하는 학습 활동의 예다.

Caliper는 여러 Event의 하위유형을 정의한다. 각 하위유형은 특정 활동 도메인에 적용되며, type 속성을 통해 구별된다. type 값은 반드시 Caliper 정보 모델 (예: “MessageEvent”)에 의해 Event로 명시된 Term와 일치해야하는 문자열이다[MUST]. 각 Event 인스턴스에는 UUIDs에 대한 URN 네임스페이스를 기술하는 RFC 4122에 따 URN으로 포맷된 128비트 UUID가 할당된다.

정보 모델은 또한 학습 활동이 위치하는 학습 환경 또는 상황을 기술한다. 그룹 소속, 회원으로써의 역할과 상태, 최근 탐색 내역, 지원 기술, 세션 정보는 모두 선택적으로 나타낼 수 있다. actorobject간의 상호작용으로 생성된 Entity도 기술할 수있다; 디지털 컨텐츠에 주석을 달고, Annotation을 생성하는 것은 그러한 예 중 하나이다. 개발자들이 모델에 기술되지 않은 사용자 정의 속성을 추가할 수 있도록 extensions 속성도 제공된다.

속성

데이터 구조로 간주되는 Event는 설계에 따라 반구조화된 key:value 쌍의 집합을 구성한다. 선택 속성은 Event를 기술할 때 무시할 수 있다. Event에 참여하는 Entity는 객체 또는 Entity에 대해 정의된 IRI에 해당하는 문자열로 표현된다.

Event 속성의 기본 집합은 다음과 같다. 각 속성은 반드시 단 한번만 참조해야한다[MUST]. id, type, actor, action, object, eventTime 속성은 필수이며, 다른 속성들은 모두 선택사항이다. 모델에 기술되지 않은 사용자 정의 속성은 포함될 수 있지만[MAY], 반드시 key:value 형태의 쌍으로 extensions 속성에 추가해야한다[MUST]. 값이 null이거나 비어있는 속성은 직렬화 전에 제외하는게 좋다[SHOULD].

속성 유형 상세 적합성
id UUID 방출 어플리케이션은 반드시 UUIDEvent를 제공해야 하며[MUST], 이때 UUID는 Ver.4를 준수하는게 좋다[SHOULD]. UUID는 반드시 RFC 4122에 따라 urn:uuid:<UUID> 형식을 사용하여 URN으로 기술해야 한다[MUST]. 필수
type Term 외부 IMS Caliper JSON-LD context 문서의 Event에 대해 정의된 Term에 해당하는 문자열 값이다. 일반 Event의 경우 type의 문자열 값을 Event 로 설정한다. Entity의 하위유형이 생성되면, 사용된 하위유형에 해당하는 Termtype(예: NavigationEvent)을 설정한다. 필수
actor Agent | IRI 일반적으로 항상 Person은 아니지만, Event를 시작한 Agent. actor 값은 반드시 객체 또는 액터의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 필수
action Term 액터 또는 주어를 목적어에 바인딩하는 동작 또는 술어. action 범위는 이 표준에서 설명하는 actions의 집합으로 제한되며, 선택한 Event 유형에 의해 추가로 제한한다. Event 당 하나의 action Term만 지정한다. 필수
object Entity | IRI 상호작용하는 객체를 구성하는 Entity. object 값은 반드시 객체 또는 객체의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 필수
eventTime DateTime Event가 발생한 시점을 나타내는 ISO 8601 날짜와 시간 값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 필수
target Entity | IRI object 내의 특정 세그먼트 또는 위치를 나타내는 Entity. target 값은 반드시 객체 또는 대상 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
generated Entity | IRI 상호작용의 결과로 만들어지거나 생성된 Entity. generated 값은 반드시 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
edApp SoftwareApplication | IRI 어플리케이션 컨텐스트를 구성하는 SoftwareApplication. edApp 값은 반드시 객체 또는 edApp의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
referrer Entity | IRI 참조하는 컨텍스트를 나타내는 Entity. SoftwareApplication 또는 DigitalResource 일반적으로 참조 컨텍스트를 구성한다. referrer 값은 반드시 referrer의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
group Organization | IRI 그룹 컨텍스트를 나타내는 Organization. group 값은 반드시 객체 또는 그룹의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
membership Membership | IRI 현재 상태와 역할에 대한 actorgroup 사이의 관계. membership 값은 반드시 객체 또는 멤버십 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
session Session | IRI 현재 사용자 Session. session 값은 반드시 객체 또는 세션의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
federatedSession LtiSession | IRI EventLTI 도구를 시작하는 컨텍스트내에서 발생하면, 액터의 도구 소비자는 LtiSession을 참조할 수 있다[MAY]. federatedSession 값은 반드시 객체 또는 federatedSession의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 Event를 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
하위유형

AnnotationEvent, AssignableEvent, AssessmentEvent, AssessmentItemEvent, ForumEvent, MediaEvent, MessageEvent, NavigationEvent, GradeEvent, SessionEvent, ToolUseEvent, ThreadEvent, ViewEvent

제거대상 하위유형

OutcomeEvent, ReadingEvent

2.2 Caliper Entity
Caliper Entities

Caliper Entity는 학습 관련 활동에 참여하는 객체를 나타내는 일반적인 유형이다. 개인, 그룹, 조직, 디지털 콘텐츠, 학습 과정, 소프트웨어 어플리케이션 및 Caliper Event와 “관련된 것들stuff”로 구성된 다른 객체 들을 서술하기 위해서 여러 Entity의 하위유형들을 정의한다. 각 Entity 는 검색과 설명을 지원하는 적절한 속성의 집합으로 제공된다.

Caliper는 Entity 값을 객체 또는 리소스의 IRI에 해당하는 문자열로 표현할 수 있다.

Entity가 객체로 표현되면, 반드시 idtype 속성을 모두 명시해야한다[MUST]. type 값은 반드시 Caliper 정보 모델(예: “Person”)에 의해 Entity에 명시된 용어와 일치해야하는 문자열이다[MUST]. id 값은 반드시 IRI로 표현되어야 하는 문자열이다[MUST]. IRI는 반드시 유효하고 고유해야한다[MUST]. IRI는 역참조할 수 있는 게 좋다[SHOULD]. 즉, 리소스에 대한 접근 권한이 부여된다고 가정할 때, 리소스 표현을 반환할 수 있어야 한다. URN 스키마를 사용하는 URI가 제공될 수 있지만[MAY], HTTP를 통해 기계가 읽을 수 있는 데이터를 검색하기 위해 이용할 가능성을 배제하므로 위치 독립적 식별자를 사용할 때는 주의를 기울여야 한다.

다른 Entity 속성은 일반적인 설명이나 Entity를 관련된 다른 엔터티에 연결한다. Annotation, DigitalResource, Message, Organization과 같은 특정 Entity 하위유형에는 객체를 보다 완벽하게 표현할 수 있는 추가 속성을 제공한다. extensions 속성도 개발자들이 모델에 명시되지 않은 임의의 사용자 맞춤형 속성을 추가할 수 있도록 정의한다. Entity를 설명할 때 선택적 속성은 무시한다.

속성

Event와 같이, Entity는 key:value 쌍의 정렬되지않은 집합으로 구성된 반정형 데이터로 간주된다. Entity 속성들의 기본 집합은 다음과 같다. 각 속성은 반드시 한번만 참조되어야 한다[MUST]. Entity를 객체로 표현할 때 idtype속성은 필수적이다. 다른 모든 속성들은 선택사항이며 Entity를 설명할 때 참조할 필요가 없다. 모델에 기술되지 않은 사용자 정의 속성은 포함될 수 있지만[MAY], 반드시 key:value 형태의 쌍으로 extensions 속성에 추가해야한다[MUST]. 값이 null이거나 비어있는 속성은 직렬화 전에 제외하는게 좋다[SHOULD].

속성 유형 상세 적합성
id IRI 반드시 유효한 IRI를 명시해야한다[MUST]. IRI는 반드시 고유하고 영구적이어야 한다[MUST]. 또한, 역참조할 수 있는 게 좋다[SHOULD]. 즉, 리소스의 접근 권한을 반환할 수 있어야 한다. URN 스키마를 사용하는 URI링크드 데이터에 적합한 HTTP URI를 사용하는 게 불가능하거나 부적절한 경우에 제공할 수 있다[MAY]. 필수
type Term 외부 IMS Caliper JSON-lD context 문서의 Entity에 대해 정의된 Term에 해당하는 문자열 값. 일반 Entity의 경우, type 값을 Entity 라는 용어로 설정한다. Entity의 하위유형이 생성되면, 활용된 하위유형에 해당하는 Term(예:Person)으로 설정한다. 필수
name string Entity가 알려진 단어나 구로 구성된 문자열 값. 선택
description string Entity의 간략한 표현으로 구성된 문자열 값. 선택
dateCreated DateTime Entity가 생성된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateModified DateTime Entity가 마지막으로 변경되거나 업데이트된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 Entity를 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
하위유형

Agent, Annotation, Assessment, AssessmentItem, AssignableDigitalResource, Attempt, AudioObject, BookmarkAnnotation, Chapter, CourseOffering, CourseSection, DigitalResource, DigitalResourceCollection, Document, FillinBlankResponse, Frame, Forum, Group, HighlightAnnotation, ImageObject, LearningObjective, LtiSession, MediaLocation, MediaObject, Membership, Message, MultipleChoiceResponse, MultipleResponseResponse, Organization, Page, Person, Response, Result, Score, SelectTextResponse, Session, SharedAnnotation, SoftwareApplication, TagAnnotation, Thread, TrueFalseResponse, VideoObject, WebPage

Deprecated subtypes

EpubChapter, EpubPart, EpubSubChapter, EpubVolume, Reading

3.0 Metric Profiles

Metric Profiles

Caliper 정보 모델은 학습 활동이나 학습 구성하는 지원 활동을 모델링하는 여러 Metric Profile을 정의한다. Metric Profile의 존재 이유 는 어휘 표준화를 촉진하고 어플리케이션 개발자가 학습 활동 데이터를 수집하는 경쟁력 있는 기능으로서의 상호 운용성을 제공하기 위해 존재한다. 각 프로파일은 도메인별로 특화된 용어와 개념 집합을 제공하고, 응용프로그램 설계자와 개발자는 공유된 어휘를 사용해 일관된 방식으로 공통된 사용자 상호작용에 대해 서술할 수 있다. 읽다가 주석달기, 비디오 재생, 시험 치기, 과제 제출물 평가하기는 Caliper Metric Profile로 서술할 수 있는 많은 활동 또는 이벤트의 몇가지 예일 뿐이다.

각 Metric Profile을 독립실행형, 논리적 단위, 하나 이상의 Caliper 이벤트 집합으로 보면, 일련의 상호 관련 활동을 설명하는 데 도움이 된다. Metric Profile에 포함된 각 Event 유형은 학습 활동을 설명하는 데 사용될 수 있는 다양한 엔터티와 액션을 제약한다. 어휘 제한은 각 프로파일 설명에서 다음 제목들 아래에 요약되어 있다.

  • 지원하는 event
  • 지원하는 actor
  • 지원하는 action
  • 지원하는 object
  • 지원하는 생성된 entity
  • 지원하는 대상 entity
  • 기타 요구 사항

예를 들어, Forum Profile은 교사와 학생이 참여하는 온라인 토론과 관련된 일련의 활동을 모델링한다. 프로파일에는 현재 ForumEvent, MessageEvent, NavigationEvent, ThreadEvent,ViewEvent가 포함된다. Forum Profile의 영향을 받는 일련의 행동들에는 학습자가 포럼으로 이동하기, 가입하기, 스레드 보기, 이전 게시물에 응답하는 메시지 게시하기, 메시지를 읽은것으로 표시하기가 포함될 수 있다.

Caliper 정보 모델의 확장에는 새로운 Metric Profile의 설계나 기존의 Metric Profile의 개선이 포함된다. 개발자는 학습 도메인 모델링에 필요한 Caliper Metric Profile만 자유롭게 구현할 수 있다. 비디오 플랫폼 제공자는 Assignable Profile, Media Profile, Session Profile만 관련 있을 것으로 판단할 수 있고, 평가 엔진을 다루는 개발자는 Assessment Profile, Assignable Profile, Grading Profile, Session Profile을 구현할 가능성이 크다.

현재 다음 Metric Profile을 사용할 수 있으며, 다음과 같이 각각 요약하여 제공한다.

Annotation Profile, Assessment Profile, Assignable Profile, Forum Profile, Media Profile, Grading Profile, Reading Profile, Session Profile, Tool Use Profile, Basic Profile

3.1 Annotation Profile
Annotation Profile

The Caliper Annotation Profile은 DigitalResource의 주석과 관련된 활동을 모델링한다. 북마크 생성, 선택한 문구 하이라이팅, 리소스 공유, 문서에 태그 달기, 주석을 보는 동작들을 모델링된다. 생성된 Annotation에 대한 유형을 구체화하기 위해 하위유형을 명시한다.

예를 들어, 교사들은 학생들이 교재에 메모하는 페이지를 활용하여 어떤 자료가 강조되어야 하는지 결정 할 수 있다. 또한 질문을 하거나 특정 내용에 대한 궁금증을 표시하는 메모를 작성하는 학생이 있는 경우, 강사는 사용하고자 한 자료의 적합성 또는 품질에 대해서 알 수 있다.

이 프로파일을 사용하여 답변 할 수있는 질문은 다음과 같다.

  • 어느 학생이 주석을 생성하는가?
  • 가장 자주 주석이 달린 내용은 무엇인가?
  • 어떤 유형의 주석이 생성되는가?
  • 어떤 텍스트 부분이 하이라이트 표시되는가?
  • 어떤 태그가 사용되는가?
  • 어떤 메모가 추가되는가?
지원하는 Event

AnnotationEvent

지원하는 Actor

Person

지원하는 Action

Bookmarked, Highlighted, Shared, Tagged

지원하는 Object

DigitalResource

지원하는 생성된 Entity

BookmarkAnnotation, HighlightAnnotation, SharedAnnotation, TaggedAnnotation

기타 요구 사항
3.2 Assessment Profile
Assessment Profile

Caliper Assessment Profile은 개별 평가 항목과의 상호작용을 포함하여 평가와 관련된 활동을 모델링한다. Caliper는 이러한 학습 활동에 대한 object을 설명하기 위해 AssessmentAssessmentItem 엔터티 뿐만 아니라 할당된 리소스에 시도한 횟수를 기록하기 위해 Attempt에 대한 정보도 제공한다. 각각의 문항 반응을 수집하기 위해 다섯가지 Response 유형도 제공된다. Caliper 1.0 AssessmentItem Profile은 Assessment Profile로 병합되었다.

Assessment Profile을 사용하여 패턴을 추적하면 교사가 학생들을 평가하고 서로 상호작용하는 방식에 대해 더 많이 이해할 수 있다. 이 프로파일을 사용하는 일반적인 방법은 다음 질문에 답하는 것이다.

  • 평가를 완료하고 제출하는데 얼마나 많은 시간이 필요한가?
  • 개별 질문들에 얼마나 많은 시간을 할애하는가?
  • 어떤 질문이 완료되었는가?
  • 어떤 질문을 건너뛰었는가?
  • 시험 시간이 유연할 경우, 학습자는 언제 평가를 시작하는가?
지원하는 Event

AssessmentEvent, AssessmentItemEvent, NavigationEvent, ViewEvent

지원하는 Actor

Person

지원하는 Action
AssessmentEvent

Started, Paused, Resumed, Restarted, Reset, Submitted

AssessmentItemEvent

Started, Skipped, Completed

NavigatedTo

ViewEvent

Viewed

지원하는 Object
AssessmentEvent

Assessment

AssessmentItemEvent

AssessmentItem

Assessment, AssessmentItem

ViewEvent

Assessment, AssessmentItem

지원하는 생성된 Entity
AssessmentEvent

Attempt

AssessmentItemEvent

Attempt, Response

기타 요구 사항
  • AssessmentEvent를 설명하기 위해, generatedAttempt를 지정하는게 좋다[SHOULD]. Attempt가 객체로 표현된 경우, Attempt는 최소한 assignee, assignable, count를 정의하는게 좋다[SHOULD]. Attemptcount 값을 다음과 같이 설정하라(각 action에 대해).
    • Started: 첫번째 시도에서는 count 값을 1로 설정하고, 이후 시도할 때 마다 값을 1씩 증가시킨다.
    • Paused, Resumed, Reset: 현재의 count 값을 변경하지 않는다.
    • Restarted: count 값을 1씩 증가시킨다.
  • AssessmentItemEvent를 설명하기 위해, generatedAttemptResponse를 참조하는 것은 지정된 action 값에 따라 달라진다. Attemptcount 값을 다음과 같이 설정하라(각 action에 대해).
    • Started: 첫번째 시도에서는 count 값을 1로 설정하고, 이후 시도할 때 마다 값을 1씩 증가시킨다.
    • Skipped: Attempt를 지정하지 마라.
    • Completed: 필요한 경우 학습자의 Response을 지정하고 attempt 속성을 통해 연결된 Attempt를 참조하라. 현재 count 값은 반드시 변경되지 않고 유지되어야 한다[MUST].
  • AssessmentItemAssessment 시도 사이에 존재하는 부모-자식 관계는 AttemptisPartOf 속성을 사용하여 표현될 수 있다[MAY].
  • 학습자가 한 AssessmentItem에서 다른 AssessmentItem으로 이동하면, 이전의 AssessmentItemreferrer로 지정할 수 있다[MAY].
3.3 Assignable Profile
Assignable Profile

Assignable Profile은 성취 기준을 달성하기 위해 학습자에게 할당되는 디지털 콘텐츠와 관련된 활동들을 모델링한다. Caliper는 이러한 학습 활동에 대한 object를 설명하기 위해 할당된 리소스에 시도한 횟수를 기록하기 위한 학습자의 Attempt 뿐 아니라 일반 AssignableDigitalResource 를 제공한다.

이 프로파일은 교사가 학생과 과제 간의 관계에 대한 통찰력을 수집하는 데 유용하다. 이 프로파일을 사용하여 다음 질문에 대한 답을 얻을 수 있다.

  • 누구에게 어떤 자료가 할당되었는가?
  • 할당된 자료을 완료하는데 얼마나 걸리는가?
  • 최대 도전 과제(즉, 대부분의 재시도가 필요)를 제시하는 할당된 자료는 무엇인가?
지원하는 Event

AssignableEvent, NavigationEvent, ViewEvent

지원하는 Actor

Person

지원하는 Action
AssignableEvent

Activated, Deactivated, Started, Completed, Submitted, Reviewed

NavigatedTo

ViewEvent

Viewed

지원하는 Object

AssignableDigitalResource

지원하는 생성된 Entity
AssignableEvent

Attempt

기타 요구 사항
  • generatedAttempt는 다음의 AssignableEvent에 지정되는게 좋다[SHOULD]. Started, Completed, Submitted, Reviewed
  • Attempt가 객체로 표현된 경우, Attemptassignee, assignable, count를 정의하는게 좋다[SHOULD]. 첫번째 시도에서는 count 값을 1로 설정하고, 이후 시도할 때 마다 값을 1씩 증가시켜라.
  • AssignableDigitalResource과 시도 사이에 존재하는 부모-자식 관계는 AttemptisPartOf 속성을 사용하여 표현될 수 있다[MAY].
3.4 Forum Profile
Forum Profile

Caliper Forum Profile은 온라인 포럼 커뮤니티에 참여하는 학습자와 그 외의 참여자들에 대해 모델링한다. 포럼은 일반적으로 회원이 가입할 수 있는 하나 이상의 스레드Thread 또는 주제를 포괄적으로 인코딩 할 수 있으며, 이를 통해 스레드Thread가 허용되는 경우 다른 메시지에 회신 할 수 있다. Caliper는 이러한 활동 object를 나타내는 Forum, Thread, Message 엔터티를 제공한다.

Forum Profile을 사용하여 패턴을 추척하면, 교사는 토론 포럼에서 학생들의 참여 방식에 대해 더 많이 이해할 수 있다. 이 프로파일을 사용하면, 교사는 다음과 같은 영역에서 통찰력을 얻을 수 있다.

  • 누가 가장 자주 게시하는가?
  • 어느 게시물에 가장 많은 답글이 생성되는가?
  • 평가되는 토론과 그렇지 않은 토론의 비교
지원하는 Event

ForumEvent, MessageEvent, NavigationEvent, ThreadEvent, ViewEvent

지원하는 Actor

Person

지원하는 Action
ForumEvent

Subscribed, Unsubscribed

MessageEvent

MarkedAsRead, MarkedAsUnRead, Posted

NavigatedTo

ThreadEvent

MarkedAsRead, MarkedAsUnRead

ViewEvent

Viewed

지원하는 Object
ForumEvent

Forum

MessageEvent

Message

Forum, Message, Thread

ThreadEvent

Thread

ViewEvent

Forum, Message, Thread

기타 요구 사항
  • Message가 객체로 표현되고 회신 형식인 경우, MessagereplyTo 속성을 통해 회신을 요청한 이전의 Message를 참조하는게 좋다[SHOULD].
  • Message, Thread, Forum 사이에 존재하는 부모-자식 관계는 isPartOf 속성을 사용하여 표현될 수 있다[MAY].
3.5 Grading Profile
Grading Profile

Caliper Grading Profile은 Person이나 SoftwareApplication과 같은 Agent가 평가를 수행하는 활동과 학습자가 AssignableDigitalResourceAttempt하고 Score를 생성하는 활동을 모델링한다. Caliper 1.0 Outcome Profile이 Grading Profile로 대체되었다.

Grading Profile을 통해 주어진 평가 또는 제출에 대한 평가 변경 사항에 대한 정보를 얻을 수 있다. 이것은 학생과 교사가 과정 전체에서 상호작용하는 방식을 이해하는데 유용할 수 있다. 예를 들어, Grading Profile을 사용하면, 다음과 같은 질문에 답할 수 있다.

  • 평가 등급이 얼마나 자주 변경되는가?
지원하는 Event

GradeEvent, ViewEvent

지원하는 Actor
GradeEvent

Agent

ViewEvent

Person

지원하는 Action
GradeEvent

Graded

ViewEvent

Viewed

지원하는 Object
GradeEvent

Attempt

ViewEvent

Result

지원하는 생성된 Entity
GradeEvent

Score

기타 요구 사항
  • GradeEvent를 설명할때, generatedScore는 지정되는게 좋다[SHOULD].
  • 자동 등급 시나리오에서 SoftwareApplication은 반드시 actor로 지정해야 한다[MUST].
3.6 Media Profile
Media Profile

Caliper Media Profile은 학습자와 오디오, 이미지, 비디오와 같은 다양한 콘텐츠 간의 상호작용을 모델링한다. 개발자는 AudioObject, ImageObject, VideoObject를 비롯한 다양한 미디어 관련 엔터티를 활용할 수 있으며, 각각 일반 MediaObject에서 하위 형식으로 명시된다. MediaLocation 엔터티를 통해서 오디오나 비디오의 현재 위치를 표현할 수 있는 방법을 제공한 다.

이 프로파일을 사용하는 방법의 예로, 교사가 비디오 플레이어를 자신의 교과과정에 포함한 시나리오를 생각해보자. 비디오 콘텐츠는 학습 관리 시스템(LMS)에서 LTI를 통해 실행되거나 실행되지 않을 수 있다. 비디오 플레이어 도구는 Caliper를 통해 활동 데이터를 내보내는 수단으로 이용되므로 교사는 학생의 보기 동작에 대한 유용한 정보를 수집 할 수 있다. 또한 교사는 과제 및 퀴즈 결과와 같은 LMS의 다른 관련 정보와 이 데이터를 비교할 수도 있다. 교사(및 관리자)는 Caliper를 통해 수집된 데이터를 사용하여 다음과 같은 주요 질문에 답할 수 있다.

  • 누가 이 도구를 사용하는가?
  • 어떤 동영상이 가장 많이 재생되는가?
  • 각 비디오에 얼마나 오래 시간을 소비하는가?
  • 동영상을 일시 중지하는 위치는 어디인가?
  • 학생들이 동영상 섹션을 재생하는 인스턴스가 있는가?
지원하는 Event

MediaEvent, NavigationEvent, ViewEvent

지원하는 Actor

Person

지원하는 Action
MediaEvent

Started, Ended, Paused, Resumed, Restarted, ForwardedTo, JumpedTo, ChangedResolution, ChangedSize, ChangedSpeed, ChangedVolume, EnabledClosedCaptioning, DisabledClosedCaptioning, EnteredFullScreen, ExitedFullScreen, Muted, Unmuted, OpenedPopout, ClosedPopout

NavigatedTo

ViewEvent

Viewed

지원하는 Object

AudioObject, ImageObject, MediaObject, VideoObject

지원하는 대상 Entity

MediaLocation

기타 요구 사항
  • A MediaLocation을 오디오나 비디오 스트림의 현재 위치를 나타내기 위해 target으로 지정할 수 있다[MAY].
  • MediaLocation가 객체로 표현된 경우, currentTime 값을 다음과 같이 설정하라(각 action에 대해).
    • Started, Restarted: 오디오 또는 비디오 스트림에서 초기 시작위치나 시작점에 currentTime 값을 설정하라.
    • Paused: 오디오나 비디오 스트림이 일시정지된 위치에 currentTime 값을 설정하라.
    • Resumed: 오디오나 비디오 스트림이 이전에 멈춘 위치에 currentTime 값을 설정하라.
    • Ended: 오디오나 비디오 스트림의 마지막이나 끝나는 위치에 currentTime 값을 설정하라.
    • 지원하는 액션의 다른 MediaEvent의 경우, MediaLocationcurrentTime 값은 반드시 액션이 발생한 오디오나 비디오 스트림의 위치에 설정되어야 한다[MUST].
3.7 Reading Profile
Reading Profile

Caliper Reading Profile은 디지털 텍스트 콘텐츠를 탐색하고 보는 것과 관련된 활동을 모델링한다. Caliper는 Document, Chapter, Page, WebPage, Message and Frame과 같이 일반 DigitalResource, DigitalResourceCollection을 비롯한 디지털 콘텐츠로 표현되는 많은 엔터티를 제공한다.

교사와 연구자는 Reading Profile을 통해 수집된 데이터를 활용해 다음과 같은 질문에 답할 수 있다.

  • 누가 콘텐츠를 소비하는가?
  • 어떤 자료에 접근하는가?
  • 리소스는 언제 접근되는가?
  • 얼마나 자주 콘텐츠를 보았나?
  • 어떤 경로로 콘텐츠에 접근하는가?

Assessment Profile과 함께 사용하면, 보기viewing 패턴을 성과performance 측정에 이용할 수 있다.

지원하는 Event

NavigationEvent, ViewEvent

지원하는 Actor

Person

지원하는 Action

NavigatedTo

ViewEvent

Viewed

지원하는 Object

AssignableDigitalResource, Chapter, DigitalResource, DigitalResourceCollection, Document, Page, WebPage

지원하는 대상 Entity

지원하는 Entity 유형은 다음과 같다.

기타 요구 사항
  • Frame을 색인된 부분이나 위치를 나타내기 위해 target으로 지정할 수 있다[MAY].
3.8 Session Profile
Session Profile

Caliper Session Profile은 SoftwareApplication과 상호작용하는 Person에 의해 설정된 사용자 세션의 생성 및 추후 만료되는 과정을 모델링 한다. Session 엔터티는 사용자 세션을 나타내기 위해 설명된다.

Session Profile을 통해 학습 환경에 로그인하는 사람에 대한 정보 획득을 쉽게 할 수 있다. 더 중요한 것은 어느 학생이 로그인하지 않았는지에 대한 정보도 쉽게 획득할 수 있다는 점이다. 다음은 Session Profile을 통해 모범적으로 획득한 정보의 사례다.

  • 세션 로그인
  • 어느 학생이 일주일 이상 로그인하지 않았는가?
  • 누가 가장 많이/가장 적게 로그인/로그아웃 했는가?
지원하는 Event

SessionEvent

지원하는 Actor

Person, SoftwareApplication

지원하는 Action

LoggedIn, LoggedOut, TimedOut

지원하는 Object

SoftwareApplication, Session

지원하는 대상 Entity

DigitalResource

기타 요구 사항
  • 선택 사항이지만 관련 사용자 session을 지정하는게 좋다[SHOUL].
  • LoggedIn 액션을 위해 actor가 특정 DigitalResource에 접근을 시도한다면, 해당 리소스를 상호작용의 target으로 지정할 수 있다[MAY].
  • For a TimedOut action, the SoftwareApplication MUST be specified as the actor and the Session MUST be specified as the object.
3.9 Tool Use Profile
Tool Use Profile

Caliper Tool Use Profile은 사용자와 도구 간의 의도된 상호작용을 모델링한다. 다시 말해, PersonSoftwareApplication을 “학습에 사용하기 위한” 용도로 사용하는 경우, Tool Use Profile로 구현된 어플리케이션은 이러한 이용을 나타내는 ToolUseEvent를 만들어낸다.

Tool Use Profile을 사용하면 학습 어플리케이션에 대한 기본 사용 정보를 수집 할 수 있다. 학습 도구가 스스로 용도를 결정함으로써 도구의 기본 단계에서 시작하는 쉬운 방법을 제공한다. 학습용 앱은 학생이 도구에 접근하고 의도한 대로 사용하는 방법을 탐지하기 위해 이 프로파일을 사용해 계측할 수 있다. 이 프로파일의 사용을 통해 답변 할 수있는 일반적인 질문은 다음과 같다.

  • 어떤 도구가 사용되고 있으며, 얼마나 사용하고 있는가?
  • 가장 적극적 / 최소로 능동적인 도구 사용자는 누구인가?
  • 도구 사용이 학생의 수행을 돕거나 방해하는가?
  • 학생들의 성적에 가장 큰 영향을 미치는 도구는 무엇인가?
지원하는 Event

ToolUseEvent

지원하는 Actor

Person

지원하는 Action

Used

지원하는 Object

SoftwareApplication

3.10 Basic Profile
Basic Profile

The Caliper Basic Profile은 아직 Caliper에 의해 모델링되지 않은 학습활동 또는 지원활동을 설명하기 위한 일반 Event를 제공한다. 이 표준에서 설명하는 Caliper actions을 사용하여 actorobject간의 상호작용을 설명한다.

지원하는 Event

Event (상위유형만 가능)

지원하는 Actor

Agent

지원하는 Action

모든 Caliper 액션은 상호작용을 설명하는 데 사용될 수 있다[MAY].

지원하는 Object

Entity

기타 요구 사항
  • Basic Profile의 사용은 다른 프로파일에서 모델화되지 않은 상호작용을 설명하는 데 엄격하게 제한된다. 설명된 모든 이벤트는 반드시 Event 상위유형만 사용하여 표시해야 한다[MUST].

4.0 모델 직렬화

클라우드 기반 체계가 대두된 최근 10여년간 네트워크 기반 어플리케이션을 통해 데이터가 구조화 되고 표현되는 방식이 변화하고 있다. 커리큘럼이나 학습과정, 번역자막 등 기존에는 엄격하고 구조적으로 고려된 데이터들도 현재는 다른 형태의 데이터와 연결되고 있다. 현재의 데이터들이 다른 데이터들과 연결되는 체계를 모델링하는 구조는 그래프나 링크드 데이터와 같은 용어를 상기하게 하고 있다. Caliper Event 데이터는 이와 유사한 구조를 보여준다. Caliper Event는 사용자 데이터, 디지털 콘텐츠, 수업과 과정, 평가와 수료, 기관과 단체의 데이터, 어플리케이션과 세션 등 계속해서 확산되고 새로운 관계를 만들어가는 다양한 정량적, 정성적 정보가 포함된 엔터티들을 연결하는 형태로 제공된다.

네트워크로 분산된 시스템간의 데이터 교환을 위해서는 간단하고 명료한 교환 포맷이 필요하다. 이는 시스템간의 전송을 통해서 문법에 대해 근본적인 모호함이 발생하지 않아야 하기 때문이다. Caliper는 JSON-LD를 활용하는데, 데이터간의 연결이나 네트워크를 통해 공유와 분산을 이해할 수 있는 표현력을 제공하기 때문이다.

JSON-LD는 기본적인 데이터 교환 형식으로 JSON을 활용하여 링크드 데이터로 표현된 학습 활동을 효율적으로 나타낼 수 있는 문법을 정의하고 있다. JSON-LD는 또한 서로 다른 컨텍스트로 정의된 JSON-LD 기반 문서간의 알고리즘과 API를 제공한다. RDF 문서를 JSON-LD로 변환하거나 JSON-LD 문서를 RDF로 변환하는 알고리즘 등도 이미 개발되어 있다.

4.1 JSON-LD 컨텍스트

JSON-LD 문서에는 문서 TermsIRIs에 매핑하는 데 사용되는 속성인 @context 키워드로 표시된 컨텍스트 가 포함되어야 한다. JSON-LD 컨텍스트는 인라인으로 삽입하거나 문서 외부의 파일에 위치시켜 참조할 수 있다. JSON-LD 컨텍스트를 포함하면 Caliper가 Caliper 이벤트 데이터를 사용하는 데 관심 있는 서비스에 문서의 의미를 공유할 수 있는 효과적인 방법을 제공한다.

IMS Global은 Caliper TermsIRIs에 매핑하기 위해 원격 Caliper 1.1 JSON-LD 컨텍스트 문서 (http://purl.imsglobal.org/ctx/caliper/v1p1)를 제공한다. 개발자들은 여기에 설명된 용어 정의에 익숙해 지는 것이 좋다.

요구 사항
  • Sensor가 생성한 각 Caliper EventEntity describe 문서는 반드시 최상위 객체의 속성으로 정의된 JSON-LD @context를 제공해야 한다[MUST].
  • 최상위 @context 속성 유형은 반드시 문자열이나 배열로 정의해야 한다[MUST].
  • 최상위 @context 값이 문자열로 정의된 경우, 반드시 Caliper 원격 컨텍스트 URL “http://purl.imsglobal.org/ctx/caliper/v1p1” 로 설정해야 한다[MUST].
  • 최상위 @context 값이 다중 컨텍스트 배열로 정의된 경우, JSON-LD 파서가 중복된 용어를 처리할 때 “가장 최근에 정의된 것을 따름” 접근 방식을 사용하기 때문에 Caliper 용어가 가장 우선적으로 유지되도록 하기 위해서, 원격 Caliper JSON-LD 컨텍스트를 반드시 마지막에 나열해야만 한다[MUST].
  • 최상위 @context에서 원격 Caliper JSON-LD 컨텍스트 문서를 참조하는 것은 필수적이다. 객체로 정의한 용어는 인라인으로 정의되어서는 안된다[MUST NOT].
  • 추가 원격이나 인라인 로컬 컨텍스트는 모델에 의해 설명되지 않은 용어에 의미를 부여하기 위해 JSON 객체가 정의될 때 마다 참조될 수 있다. 이러한 컨텍스트는 자연스럽게 추가되며 문자열이나 객체 또는 배열로 정의할 수 있다. 객체를 직렬화할 때, 중복된 컨텍스트 참조는 제거하는게 좋다[SHOULD]. 처리시간에 액티브 컨텍스트에 추가되는 중첩된 로컬 컨텍스트는 최상위 컨텍스트가 정의한 Caliper 용어를 재정의해서는 안된다[MUST NOT].

다음 예에서 @context는 원격 Caliper JSON-LD 컨텍스트 문서를 참조하는 값을 포함한 최상위 Event 속성이다. 모든 Event의 key:value 쌍은 참조된 컨텍스트 내 [IRIs]로 매핑된다.

예: Caliper JSON-LD 컨텍스트 참조
{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "urn:uuid:3a648e68-f00d-4c08-aa59-8738e1884f2c",
  "type": "Event",
  "actor": {
    "id": "https://example.edu/users/554433",
    "type": "Person"
  },
  "action": "Created",
  "object": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1/resources/123",
    "type": "Document"
  },
  "eventTime": "2018-11-15T10:15:00.000Z"
}

위에서 언급했듯이, JSON-LD 문서는 하나 이상의 컨텍스트를 참조할 수 있다. 위에 나열된 요구 사항에 따라 Caliper 이외의 어휘 용어를 각각의 IRIs에 매핑하기 위해 Caliper EventEntity describe 에 대해 추가 컨텍스트를 정의할 수 있다[MAY].

예: 다중 컨텍스트 참조
올바른 순서 (Caliper 컨텍스트가 마지막에 나열됨)
{
  "@context": ["https://schema.org/docs/jsonldcontext.json", "http://purl.imsglobal.org/ctx/caliper/v1p1"]
  . . .
}

삽입한 인라인 컨텍스트는 외부에서 참조된 컨텍스트와 결합될 수 있다. 다시 말하지만, 순서가 중요하다.

예: 인라인과 참조된 컨텍스트의 결합
{
  "@context": [
    {
      "query": "http://schema.org/query"
    },
    "http://purl.imsglobal.org/ctx/caliper/v1p1"
  ],
  "id": "urn:uuid:3a648e68-f00d-4c08-aa59-8738e1884f2c",
  "type": "Event",
  "actor": {
    "id": "https://example.edu/users/554433",
    "type": "Person"
  },
  "action": "Searched",
  "object": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1/resources/123",
    "type": "Document"
  },
  "eventTime": "2018-11-15T10:15:00.000Z",
  "extensions": {
    "query": "Event OR Entity"
  }
}
4.2 식별자

링크드 데이터는 리소스의 식별과 검색을 위해 IRIs/URIs를 사용한다. 마찬가지로 JSON-LD도 대부분의 노드(즉, JSON 객체)와 그 속성을 식별하기 위해 IRIs/URIs를 사용한다. Caliper 역시 노드(즉, 설명되는 사물 또는 개체)와 그 속성을 식별하기 위해 IRIs를 사용한다.

IRI 값은 반드시 스키마, 경로, 선택 쿼리, 조각 세그먼트를 포함하는 절대값이어야 한다[MUST]. URN 스키마를 사용하는 URI는 식별자로서 사용될 수 있지만[MAY], 향후 HTTP를 통해 기계가 읽을 수 있는 데이터를 검색하기 위해 이용할 가능성을 배제하므로 위치 독립적 식별자를 사용할 때 주의를 기울여야 한다. IRI가 리소스에 부적절하다고 판단되는 경우, blank node 식별자가 할당될 수 있다.

JSON-LD는 노드에 식별자를 할당하기 위한 특별한 @id 키워드를 제공한다. Caliper에서 JSON-LD @id 키워드는 외부 IMS Caliper JSON-LD context에서 id로 불린다. 이는 JSON-LD 키워드를 속성 이름으로 사용하지 않고 JSON-LD 커뮤니티의 관행을 따르기 위해서이다. 따라서 모델에서 설명하는 각 Caliper Event, Entity에는 리소스를 식별하기 위해 @id 속성 대신 id가 제공된다.

모든 Entity는 반드시 유효한 IRI나 공백 노드 식별자 형태로 식별자를 할당해야 한다[MUST]. IRI는 반드시 고유하고 영구적이어야 한다[MUST]. IRI는 역참조할 수 있는 게 좋다[SHOULD]. 즉, Entity의 표현을 회수할 수 있어야 한다. URN 스키마를 사용하는 URI도 이용될 수 있다[MAY].

엔터티와 달리, 각 Event는 반드시 UUIDsURN 네임스페이스를 정의하는 RFC 4122에 따라 URN으로 포맷된 128 비트의 범용 고유 식별자(UUID)를 할당해야 한다[MUST].

예: Event와 Entity 식별자
{
  . . .
  "id": "urn:uuid:ff9ec22a-fc59-4ae1-ae8d-2c9463ee2f8f",
  "type": "NavigationEvent",
  "actor": {
    "id": "https://example.edu/users/554433",
    "type": "Person"
  },
  . . .
  "object": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1/pages/2",
    "type": "WebPage",
    . . .
  },
  . . .
}
4.3 유형과 강제 변환

JSON-LD@type 키워드를 두 가지 방식으로 사용한다. 개별 노드(즉, 설명되고 있는 것)에 유형을 지정할 수 있다. 값은 또한 특정 유형과 연관되거나 강제 변환될 수 있다. 노드 유형과 입력된 값 모두 Caliper JSON-LD context에 지정된다. @id 키워드를 id로 지칭하는 것과 마찬가지로 @type 키워드는 JSON-LD 커뮤니티의 관행에 따라 외부 IMS Caliper JSON-LD context에서 type으로 불린다.

Caliper는 Entity 값을 JSON 객체나 IRI에 해당하는 문자열로 표현할 수 있다. 또한 JSON-LDJSON-LD 컨텍스트에 정의된 값 유형 매핑을 기반으로 지정된 유형에 대한 값 강제 변환 을 지원한다. 주어진 @type에 대해 @id@vocab 키워드를 값으로 할당하여 용어의 인스턴스 값이 문자열로 설정된 경우 IRI로 해석되도록 JSON-LD 파서에 신호를 보낼 수 있다. 이러한 유형의 강제 변환은 개발자들이 활용하도록 권장하는 표현 유연성을 제공한다.

다음 MessageEvent 예제는 인라인 컨텍스트를 사용하여 JSON-LD 유형을 지정하는 방법을 보여준다. MessageEvent, Person, Message 용어는 모두 노드 유형으로 구성하였다. 다른 용어는 데이터 유형에 대한 값의 강제 변환을 보여준다. 아래 예제에서 actor, object, edApp 용어의 값은 @id 키워드로 강제 변환된다. 이 규약을 사용하면 JSON-LD 파서에 문자열 값이 IRIs로 해석되도록 알려준다(edApp의 경우와 같이). 같은 방식으로 action 값은 @vocab 키워드로 강제 변환되어 값이 액티브 컨텍스트 또는 IRI로 정의된 Term으로 해석된다(이 경우 Posted 에 해당). name, description, dateCreated, dateModified, duration과 같은 용어는 문자열, 정수, boolean 또는 날짜와 같은 특정 값 유형으로 강제 변환된다.

예: 노드와 값 유형
{
  "@context": {
    "id": "@id",
    "type": "@type",
    "caliper": "http://purl.imsglobal.org/caliper/",
    "verb": "http://purl.imsglobal.org/caliper/actions/",
    "xsd": "http://www.w3.org/2001/XMLSchema#",
    "MessageEvent": "caliper:MessageEvent",
    "Message": "caliper:Message",
    "Person": "caliper:Person",
    "actor": {"@id": "caliper:actor", "@type": "@id"},
    "action": {"@id": "caliper:action", "@type": "@vocab"},
    "edApp": {"@id": "caliper:edApp", "@type": "@id"},
    "object": {"@id": "caliper:object", "@type": "@id"},
    "body": {"@id": "caliper:body", "@type": "xsd:string"},
    "dateCreated": {"@id": "caliper:dateCreated", "@type": "xsd:dateTime"},
    "eventTime": {"@id": "caliper:eventTime", "@type": "xsd:dateTime"},
    "Posted": "verb:Posted"
  },
  "type": "MessageEvent",
  "id": "urn:uuid:0d015a85-abf5-49ee-abb1-46dbd57fe64e",
  "actor": {
    "id": "https://example.edu/users/554433",
    "type": "Person"
  },
  "action": "Posted",
  "object": {
    "id": "https://example.edu/sections/1/forums/2/topics/1/messages/2",
    "type": "Message",
    "body": "What does Caliper Event JSON-LD look like?",
    "dateCreated": "2018-12-15T10:15:00.000Z"
  },
  "eventTime": "2018-12-15T10:15:00.000Z",
  "edApp": "https://example.edu"
}

아래의 간략한 ForumEvent 예제에서 볼 수 있듯이 Event가 동일한 Entity (예: actor, member, user; group, organization)를 한 번 이상 참조하거나 속성이 특정 유형(예: edApp)과 연관된 경우, 혹은 Entity가 역참조 가능한 IRI를 가지는 경우, Entity의 IRI에 해당하는 문자열 값에 대한 표현을 고려한다.

예: IRI로 표현된 actorgroup에 대한 membershipsession 참조
{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "urn:uuid:a2f41f9c-d57d-4400-b3fe-716b9026334e",
  "type": "ForumEvent",
  "actor": {
    "id": "https://example.edu/users/554433",
    "type": "Person"
  },
  "action": "Subscribed",
  "object": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1/forums/1",
    "type": "Forum",
    "name": "Caliper Forum",
    . . .
  },
  "eventTime": "2018-11-15T10:16:00.000Z",
  "edApp": {
    "id": "https://example.edu/forums",
    "type": "SoftwareApplication",
    . . .
  },
  "group": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1",
    "type": "CourseSection",
    "courseNumber": "CPS 435-01",
    . . .
  },
  "membership": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1/rosters/1",
    "type": "Membership",
    "member": "https://example.edu/users/554433",
    "organization": "https://example.edu/terms/201801/courses/7/sections/1",
    "roles": [ "Learner" ],
    . . .
  },
  "session": {
    "id": "https://example.edu/sessions/1f6442a482de72ea6ad134943812bff564a76259",
    "type": "Session",
    "user": "https://example.edu/users/554433",
    "startedAtTime": "2018-11-15T10:00:00.000Z"
  }
}

물론, ForumEvent 예제는 각 참조된 Entity를 사용자가 필요에 따라 명확한 객체 표현을 검색할 수 있도록 역참조 가능한 IRI로 제공되는 경우 더 간단해 질 수 있다.

예: 역참조된 IRI 값으로 구성된 간단한 ForumEvent
{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "urn:uuid:a2f41f9c-d57d-4400-b3fe-716b9026334e",
  "type": "ForumEvent",
  "actor": "https://example.edu/users/554433",
  "action": "Subscribed",
  "object": "https://example.edu/terms/201801/courses/7/sections/1/forums/1",
  "eventTime": "2018-11-15T10:16:00.000Z",
  "edApp": "https://example.edu/forums",
  "group": "https://example.edu/terms/201801/courses/7/sections/1",
  "membership": "https://example.edu/terms/201801/courses/7/sections/1/rosters/1"
  "session": "https://example.edu/sessions/1f6442a482de72ea6ad134943812bff564a76259"
}

5.0 Sensor API™

Caliper Sensor

Caliper는 대상 Endpoint로 데이터를 정렬하고 전송하기 위한 API(Sensor API™)를 정의한다. 정보 모델의 규칙을 준수하여 하나 이상의 metric profiles을 적용하는 것은 데이터 소비자의 통신을 위한 도구화된 플랫폼이나 어플리케이션, 서비스 등에서 제공하는 Sensor를 구현하는 것이다.

5.1 Behavior

Sensor는 반드시 다음 동작을 구현해야 한다[MUST].

  • 2.0에서 설명한대로 Caliper EventEntity 유형의 인메모리 객체 표현을 만든다. Sensor가 표현 가능해야 하는 특정 EventEntity 유형은 3.0에서 설명한대로 구현된 Metric Profiles에 의해 결정된다.
  • 2.2에서 설명한대로 리소스의 IRI에 해당하는 객체나 문자열 중 하나로 Entity 값을 표현한다.
  • 4.0에서 설명한대로 인메모리 EventEntity 객체를 JSON-LD로 직렬화한다.
  • 5.2에서 설명한대로 Caliper Envelope 인메모리 객체 표현을 만든다.
  • 5.2에서 설명한대로 인메모리 Caliper Envelope 객체를 JSON으로 직렬화한다. JSON-LD로 직렬화된 EventEntity describe 데이터는 5.25.3에서 설명한대로 반드시 Envelope 내부에서 전송되어야 한다[MUST].
  • 5.4에서 설명한대로 Event 및/또는 Entity describe 데이터가 포함된 Caliper Envelopes를 HTTP를 통해 대상 Endpoint에 전송한다.

Sensor는 Caliper EventEntity 데이터의 검증과 같은 다른 책임들을 맡을 수 있지만[MAY], 이러한 기능을 학습 데이터 제공업체에게 노출할 필요는 없다.

5.2 Envelope

Caliper EventEntity 데이터는 반드시 방출 Sensor와 데이터 페이로드에 대한 메타데이터가 포함된 용도로 작성된 JSON 데이터 구조인 Caliper Envelope 내부에서 전송되어야 한다[MUST].

속성

Caliper Envelope 속성은 다음과 같다. sensor, sendTime, dataVersion, data 속성은 필수다. 각 속성은 반드시 단 한번만 참조해야 한다[MUST]. 사용자 정의 속성은 허용되지 않는다.

속성 유형 상세 적합성
sensor string Sensor 또는 Sensor를 이용하는 플랫폼, 응용 프로그램, 서비스에 할당된 고유한 식별자. 식별자는 IRI 형태인 것이 좋다[SHOULD]. 필수
sendTime DateTime Sensor가 메시지를 발행한 시간을 나타내는 밀리초 정확도로 표시된 날짜와 시간 문자열 값. 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 필수
dataVersion string data 페이로드에 포함된 Caliper 엔터티와 이벤트의 형태를 결정하는 IMS Caliper Analytics® 표준의 버전을 나타내는 문자열 값. 이 값은 반드시 data 페이로드의 용어와 값을 확인하는데 사용되는 IMS Caliper Context IRI로 설정되어야 한다[MUST]. 필수
data Array 하나 이상의 Caliper Event 및/또는 Entity describe 객체를 정렬한 집합. 센서는 EventEntity describe 데이터를 동일한 Envelope내에 혼합할 수 있다[MAY]. 필수
5.3 JSON-LD Payload

Envelope 내부에서 전송되는 각 EventEntity describe 는 반드시 JSON-LD 문서로 직렬화해야 한다[MUST].

예: 단일 이벤트 Payload
{
  "sensor": "https://example.edu/sensors/1",
  "sendTime": "2018-11-15T11:05:01.000Z",
  "dataVersion": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "data": [{
    "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
    "id": "urn:uuid:7e10e4f3-a0d8-4430-95bd-783ffae4d916",
    "type": "ToolUseEvent",
    "actor": {
      "id": "https://example.edu/users/554433",
      "type": "Person"
    },
    "action": "Used",
    "object": {
      "id": "https://example.edu",
      "type": "SoftwareApplication"
    },
    "eventTime": "2018-11-15T10:15:00.000Z",
    "edApp": "https://example.edu",
    "group": {
      "id": "https://example.edu/terms/201801/courses/7/sections/1",
      "type": "CourseSection",
      "courseNumber": "CPS 435-01",
      "academicSession": "Fall 2018"
    },
    "membership": {
      "id": "https://example.edu/terms/201801/courses/7/sections/1/rosters/1",
      "type": "Membership",
      "member": "https://example.edu/users/554433",
      "organization": "https://example.edu/terms/201801/courses/7/sections/1",
      "roles": ["Learner"],
      "status": "Active",
      "dateCreated": "2018-08-01T06:00:00.000Z"
    },
    "session": {
      "id": "https://example.edu/sessions/1f6442a482de72ea6ad134943812bff564a76259",
      "type": "Session",
      "startedAtTime": "2018-11-15T10:00:00.000Z"
    }
  }]
}
예: 혼합 Payload
{
  "sensor": "https://example.edu/sensors/1",
  "sendTime": "2018-11-15T11:05:01.000Z",
  "dataVersion": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "data": [
    {
      "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
      "id": "https://example.edu/users/554433",
      "type": "Person",
      "dateCreated": "2018-08-01T06:00:00.000Z",
      "dateModified": "2018-09-02T11:30:00.000Z"
    },
    {
      "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
      "id": "https://example.edu/terms/201801/courses/7/sections/1/assess/1?ver=v1p0",
      "type": "Assessment",
      "name": "Quiz One",
      "items": [
        {
          "id": "https://example.edu/terms/201801/courses/7/sections/1/assess/1/items/1",
          "type": "AssessmentItem"
        },
        {
          "id": "https://example.edu/terms/201801/courses/7/sections/1/assess/1/items/2",
          "type": "AssessmentItem"
        },
        {
          "id": "https://example.edu/terms/201801/courses/7/sections/1/assess/1/items/3",
          "type": "AssessmentItem"
        }
      ],
      "dateCreated": "2018-08-01T06:00:00.000Z",
      "dateModified": "2018-09-02T11:30:00.000Z",
      "datePublished": "2018-08-15T09:30:00.000Z",
      "dateToActivate": "2018-08-16T05:00:00.000Z",
      "dateToShow": "2018-08-16T05:00:00.000Z",
      "dateToStartOn": "2018-08-16T05:00:00.000Z",
      "dateToSubmit": "2018-09-28T11:59:59.000Z",
      "maxAttempts": 2,
      "maxScore": 15.0,
      "maxSubmits": 2,
      "version": "1.0"
    },
    {
      "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
      "id": "https://example.edu",
      "type": "SoftwareApplication",
      "version": "v2"
    },
    {
      "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
      "id": "https://example.edu/terms/201801/courses/7/sections/1",
      "type": "CourseSection",
      "academicSession": "Fall 2018",
      "courseNumber": "CPS 435-01",
      "name": "CPS 435 Learning Analytics, Section 01",
      "category": "seminar",
      "subOrganizationOf": {
        "id": "https://example.edu/terms/201801/courses/7",
        "type": "CourseOffering",
        "courseNumber": "CPS 435"
      },
      "dateCreated": "2018-08-01T06:00:00.000Z"
    },
    {
      "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
      "id": "urn:uuid:c51570e4-f8ed-4c18-bb3a-dfe51b2cc594",
      "type": "AssessmentEvent",
      "actor": "https://example.edu/users/554433",
      "action": "Started",
      "object": "https://example.edu/terms/201801/courses/7/sections/1/assess/1?ver=v1p0",
      "generated": {
        "id": "https://example.edu/terms/201801/courses/7/sections/1/assess/1/users/554433/attempts/1",
        "type": "Attempt",
        "assignee": "https://example.edu/users/554433",
        "assignable": "https://example.edu/terms/201801/courses/7/sections/1/assess/1?ver=v1p0",
        "count": 1,
        "dateCreated": "2018-11-15T10:15:00.000Z",
        "startedAtTime": "2018-11-15T10:15:00.000Z"
      },
      "eventTime": "2018-11-15T10:15:00.000Z",
      "edApp": "https://example.edu",
      "group": "https://example.edu/terms/201801/courses/7/sections/1",
      "membership": {
        "id": "https://example.edu/terms/201801/courses/7/sections/1/rosters/1",
        "type": "Membership",
        "member": "https://example.edu/users/554433",
        "organization": "https://example.edu/terms/201801/courses/7/sections/1",
        "roles": [ "Learner" ],
        "status": "Active",
        "dateCreated": "2018-08-01T06:00:00.000Z"
      },
      "session": {
        "id": "https://example.edu/sessions/1f6442a482de72ea6ad134943812bff564a76259",
        "type": "Session",
        "startedAtTime": "2018-11-15T10:00:00.000Z"
      }
    },
    {
      "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
      "id": "urn:uuid:dad88464-0c20-4a19-a1ba-ddf2f9c3ff33",
      "type": "AssessmentEvent",
      "actor": "https://example.edu/users/554433",
      "action": "Submitted",
      "object": "https://example.edu/terms/201801/courses/7/sections/1/assess/1?ver=v1p0",
      "generated": {
        "id": "https://example.edu/terms/201801/courses/7/sections/1/assess/1/users/554433/attempts/1",
        "type": "Attempt",
        "assignee": "https://example.edu/users/554433",
        "assignable": "https://example.edu/terms/201801/courses/7/sections/1/assess/1?ver=v1p0",
        "count": 1,
        "dateCreated": "2018-11-15T10:15:00.000Z",
        "startedAtTime": "2018-11-15T10:15:00.000Z",
        "endedAtTime": "2018-11-15T10:55:12.000Z",
        "duration": "PT40M12S"
      },
      "eventTime": "2018-11-15T10:25:30.000Z",
      "edApp": "https://example.edu",
      "group": "https://example.edu/terms/201801/courses/7/sections/1",
      "membership": {
        "id": "https://example.edu/terms/201801/courses/7/sections/1/rosters/1",
        "type": "Membership",
        "member": "https://example.edu/users/554433",
        "organization": "https://example.edu/terms/201801/courses/7/sections/1",
        "roles": ["Learner"],
        "status": "Active",
        "dateCreated": "2018-08-01T06:00:00.000Z"
      },
      "session": {
        "id": "https://example.edu/sessions/1f6442a482de72ea6ad134943812bff564a76259",
        "type": "Session",
        "startedAtTime": "2018-11-15T10:00:00.000Z"
      }
    },
    {
      "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
      "id": "urn:uuid:a50ca17f-5971-47bb-8fca-4e6e6879001d",
      "type": "GradeEvent",
      "actor": {
        "id": "https://example.edu/autograder",
        "type": "SoftwareApplication",
        "version": "v2"
      },
      "action": "Graded",
      "object": {
        "id": "https://example.edu/terms/201801/courses/7/sections/1/assess/1/users/554433/attempts/1",
        "type": "Attempt",
        "assignee": "https://example.edu/users/554433",
        "assignable": "https://example.edu/terms/201801/courses/7/sections/1/assess/1?ver=v1p0",
        "count": 1,
        "dateCreated": "2018-11-15T10:15:00.000Z",
        "startedAtTime": "2018-11-15T10:15:00.000Z",
        "endedAtTime": "2018-11-15T10:55:12.000Z",
        "duration": "PT40M12S"
      },
      "eventTime": "2018-11-15T10:57:06.000Z",
      "edApp": "https://example.edu",
      "generated": {
        "id": "https://example.edu/terms/201801/courses/7/sections/1/assess/1/users/554433/attempts/1/scores/1",
        "type": "Score",
        "attempt": "https://example.edu/terms/201801/courses/7/sections/1/assess/1/users/554433/attempts/1",
        "maxScore": 15.0,
        "scoreGiven": 10.0,
        "scoredBy": "https://example.edu/autograder",
        "comment": "auto-graded exam",
        "dateCreated": "2018-11-15T10:56:00.000Z"
      },
      "group": "https://example.edu/terms/201801/courses/7/sections/1"
    }
  ]
}
5.4 HTTP 요청

Caliper Sensor는 반드시 Caliper 데이터를 Caliper Endpoint로 성공적으로 전송할 수 있어야 한다[MUST]. Endpoint와의 통신은 TLS(Transport Layer Security)로 암호화 된 연결을 통해 하이퍼 텍스트 전송 프로토콜(HTTP)을 사용하는 메시지 교환으로 제한된다.

각 메시지 요청은 반드시 Caliper Envelope의 단일 JSON 표현으로 구성되어야 한다[MUST]. 메시지는 반드시 POST 요청 메소드를 사용하여 전송해야한다[MUST]. 반드시 HTTP 요청 헤더 필드 HostContent-Type를 설정해야한다[MUST].

Sensor는 또한 RFC 6750, Section 2.1에 기술된 “Bearer” 인증 방식을 사용하여 요청 헤더 필드 Authorization를 설정하는게 좋다[SHOULD]. 자격 증명이 방출 Sensor 자체에 불분명 할 수 있지만[MAY], Sensor에 의해 전송된 b64token 인증 자격 증명은 반드시 Endpoint가 유효성을 검증할 수 있어야 한다[MUST].

요청 헤더 상세 적합성
Authorization RFC 6750, Section 2.1에 기술된 “Bearer” 인증 방식을 사용하여 bearer 토큰으로 문자열 값을 설정한다.(예: Authorization: Bearer <token value>) 권장
Content-Type IANA 미디어 유형 “application/json”으로 문자열 값을 설정한다. 필수
Host 요청중인 리소스의 인터넷 호스트와 포트 번호로 문자열 값을 설정한다. 필수

6.0 Endpoint

Caliper Endpoint는 반드시 표준 POST 요청 메소드를 사용해 Caliper Sensor에 의해 HTTP를 통해 전송된 Caliper 데이터를 수신할 수 있어야 한다[MUST]. 연결은 반드시 TLS(Transport Layer Security)와 유효한 TLS 인증서로 보호되어야 한다[MUST]. Endpoint는 반드시 표준 HTTP 요청 헤더에 접근할 수 있어야하며[MUST], RFC 6750, Section 2.1에 기술된 “Bearer” 인증 방식 Authorization 헤더를 이용하는 메시지 인증을 지원할 수 있어야 한다[MUST].

6.1 HTTP 응답

Sensor 요청 메시지를 수신한 후 Endpoint는 반드시 응답 메시지로 응답해야 한다[MUST]. 응답은 EndpointRFC 7231에 정의된 요청을 이해하고 충족했는지 여부를 나타내는 3가지 상태 코드를 포함한다.

  • 방출된 Envelope를 성공적으로 수신했음을 Sensor에 알리려면 Endpoint는 반드시 2xx 클래스 상태 코드로 응답해야 한다. Endpoint200 OK 응답을 사용하는 것이 좋지만[SHOULD], 대신 (메시지의 성공적인 수신과 새로운 리소스의 생성을 나타내기 위해) 201 Created 응답이나 (메시지의 성공적인 수신과 후속 처리를 위한 대기열을 나타내기 위해) 202 Accepted 응답을 보낼 수 있다[MAY]. 성공한 응답의 본문은 비어있는게 좋다[SHOULD].
  • SensorEnvelope없이 이벤트와 엔터티를 포함한 메시지를 보내면, Endpoint400 Bad Request로 응답하는게 좋다[SHOULD].
  • Sensor가 잘못된 형식의 Caliper Envelope(sensor, sendTime, dataVersion 및 필요한 양식의 data 속성을 포함하지 않음)을 보내면 Endpoint400 Bad Request로 응답하는게 좋다[SHOULD]. Endpoint가 지원할 수 없는 dataVersion 값이 Envelope에 포함되어 있으면 Endpoint400 Bad Request 응답을 보내지 않는게 좋다[SHOULD NOT]. 이 경우 Endpoint는 대신 422 Unprocessable Entity 응답을 보내는게 좋다[SHOULD].
  • Sensor가 “application/json” 이외의 Content-Type이 포함된 메시지를 보내면 Endpoint415 Unsupported Media Type로 응답하는게 좋다.
  • Sensor가 권장되는 양식의 Authorization 요청 헤더 없이 메시지를 보내거나, Endpoint가 유효성을 검사할 수 없거나 Caliper 데이터를 전송할 수 있는 충분한 권한이 있는지 확인할 수 없는 자격 증명 토큰을 전송하면 Endpoint401 Unauthorized 응답하는게 좋다[SHOULD].

Endpoint는 위에 설명한 경우와 다른 다양한 결과 처리를 나타내기 위해서 다른 표준 HTTP 상태 코드로 Sensor에 응답할 수 있다[MAY]. Endpoint는 또한 RFC 7807에 기술된 문제를 보고하는 표준 방법을 사용하여 문제 상태에 대한 보다 자세한 정보를 전달할 수 있다[MAY].

Caliper Endpoint 개발자는 일부 Caliper Sensor 구현에 정교한 오류 처리가 부족할 수 있음을 명심해야 한다.

6.2 문자열 길이와 저장

특정 Caliper data 속성들은 가변 길이의 문자열로 표현된다. JSON-LD는 또한 IRIs, 소형 IRIs 또는 Terms로 표현되는 키와 값의 길이를 변경할 수 있는 방식으로 JSON-LD 문서를 변경하기 위한 일련의 처리 알고리즘을 정의한다. 많은 개발자들은 JSON-LD 문서나 노드, 엣지, 속성으로 구성된 그래프 데이터 구조로 수신된 각각의 EventEntity describe 를 저장할 것이다. 다른 사용자는 Caliper EventEntity를 구성하는 중첩된 JSON 객체의 일부 또는 전체를 표준화하거나 “평평하게” 만들 수 있다. 선택한 지속성 전략에 Caliper 반정형 데이터를 정규화하는 작업이 포함된 경우, 문자열을 잘림없이 저장할 수 있도록 주의해야 한다. Caliper 데이터 속성과 권장되는 최소 문자열 길이 목록은 부속서 G. 지원되는 최소 문자열 길이를 참조하라.

부속서 A. Actions

Caliper는 학습에서의 상호작용을 설명하기 위한 액션에 대한 어휘가 포함되어 있다. 각 액션 Term은 과거 시제 형태의 영어(en-US) 동사를 기반으로 작성되었다. 액션 Term은 또한 object(예: 해상도, 크기, 속도, 볼륨)의 변화를 나타낼 수 있다. 각 액션 Term은 외부 IMS Caliper JSON-LD context에 나열된 지속적인 IRI에 매핑된다. 각 액션은 모호성을 없애고 자연어 처리를 돕기 위해 프린스턴 대학의 WordNet® 프로젝트에서 전체 또는 부분적으로 파생된 간단한 정의(“주석”)와 연결된다.

각 Caliper Event 유형은 아래 나열된 하나 이상의 액션을 지원한다. Event action 속성 문자열 값은 반드시 적절한 Term으로 설정해야 한다[MUST]. Event 당 하나의 액션만 지정한다.

Term (IRI) WordNet® 주석
Abandoned (http://purl.imsglobal.org/caliper/actions/Abandoned) 저버리다, 두고 가다.
Activated (http://purl.imsglobal.org/caliper/actions/Activated) 활성화하거나, 더 활발하게 만든다. Deactivated의 반대 개념
Added (http://purl.imsglobal.org/caliper/actions/Added) 추가한다; 다른 것과 합류하거나 연합하거나 섞는다. 질, 양, 크기 또는 범위를 늘인다. Removed의 반대 개념
Attached (http://purl.imsglobal.org/caliper/actions/Attached) 붙게 하다.
Bookmarked (http://purl.imsglobal.org/caliper/actions/Bookmarked) 향후 검색을 위해 기록된 DigitalResource에 대한 관심있는 부분을 표시한다.
ChangedResolution (http://purl.imsglobal.org/caliper/actions/ChangedResolution) 컴퓨터가 생성하는 화면의 인치당 픽셀수변환한다; 변화를 야기하다; 다르게 만들다.
ChangedSize (http://purl.imsglobal.org/caliper/actions/ChangedSize) 물리적인 크기바꾸다; 변화를 야기하다; 다르게 만들다.
ChangedSpeed (http://purl.imsglobal.org/caliper/actions/ChangedSpeed) 어떤 일이 발생하는 속도바꾸다; 변화를 야기하다; 다르게 만들다.
ChangedVolume (http://purl.imsglobal.org/caliper/actions/ChangedVolume) 소리의 크기(일반적으로 지정된 방향으로)바꾸다; 변화를 야기하다; 다르게 만들다.
Classified (http://purl.imsglobal.org/caliper/actions/Classified) 종류에 따라서 배정하다.
ClosedPopout (http://purl.imsglobal.org/caliper/actions/ClosedPopout) 비디오 팝업을 닫거나 종료한다. OpenedPopout의 반대 개념
Commented (http://purl.imsglobal.org/caliper/actions/Commented) 댓글을 생성하거나 쓴다.
Completed (http://purl.imsglobal.org/caliper/actions/Completed) 도착하거나, 끝가지 가거나 끝내다.
Created (http://purl.imsglobal.org/caliper/actions/Created) 만들거나 존재하도록 한다. Deleted의 반대 개념
Deactivated (http://purl.imsglobal.org/caliper/actions/Deactivated) 비활성화한다. Activated의 반대 개념
Deleted (http://purl.imsglobal.org/caliper/actions/Deleted) 디지털적으로 제거한다. Created의 반대 개념
Described (http://purl.imsglobal.org/caliper/actions/Described) 자세히 묘사 한다.
DisabledClosedCaptioning (http://purl.imsglobal.org/caliper/actions/DisabledClosedCaptioning) 오디오 출력의 일반 텍스트를 시각적으로 표시할 수 없다. EnabledClosedCaptioning의 반대 개념
Disliked (http://purl.imsglobal.org/caliper/actions/Disliked) 취향에 맞지 않거나 싫어하다. Liked의 반대 개념
EnabledClosedCaptioning (http://purl.imsglobal.org/caliper/actions/EnabledClosedCaptioning) 오디오 출력의 일반 텍스트를 시각적으로 표시할 수 있다. DisabledClosedCaptioning의 반대 개념
Ended (http://purl.imsglobal.org/caliper/actions/Ended) 끝을 내거나 정지한다. Started의 반대 개념
EnteredFullScreen (http://purl.imsglobal.org/caliper/actions/EnteredFullscreen) 화면 상의 모든 공간을 사용하는 보기 모드를 시작한다. ExitedFullScreen의 반대 개념
ExitedFullScreen (http://purl.imsglobal.org/caliper/actions/ExitedFullscreen) 화면 상의 모든 공간을 사용하는 보기 모드를 종료한다. EnteredFullScreen의 반대 개념
ForwardedTo (http://purl.imsglobal.org/caliper/actions/ForwardedTo) 전송하거나 발송한다.
Graded (http://purl.imsglobal.org/caliper/actions/Graded) 누군가의 평가를 바탕으로 점수나 등급을 매긴다.
Hid (http://purl.imsglobal.org/caliper/actions/Hid 보이거나 발견되지 않도록 한다. Showed의 반대 개념
Highlighted (http://purl.imsglobal.org/caliper/actions/Highlighted) 잘 보이거나 눈에 띄게 하기 위해 앞쪽으로 이동한다.
Identified (http://purl.imsglobal.org/caliper/actions/Identified) 존재한다는 것을 인정하다; 누군가의 신원을 확인하다.
JumpedTo (http://purl.imsglobal.org/caliper/actions/JumpedTo) 갑자기 한 문단이나 주제에서 다른 문단이나 주제로 넘어간다.
Liked (http://purl.imsglobal.org/caliper/actions/Liked) 좋아하다. Disliked의 반대 개념
Linked (http://purl.imsglobal.org/caliper/actions/Linked) 둘 이상의 조각을 연결하거나, 고정하거나, 합친다.
LoggedIn (http://purl.imsglobal.org/caliper/actions/LoggedIn) 컴퓨터나 소프트웨어 어플리케이션에 접속한다. LoggedOut의 반대 개념
LoggedOut (http://purl.imsglobal.org/caliper/actions/LoggedOut) 컴퓨터나 소프트웨어 어플리케이션을 종료한다. LoggedIn의 반대 개념
MarkedAsRead (http://purl.imsglobal.org/caliper/actions/MarkedAsRead) 읽은 상태로 표시한다. MarkedAsUnread의 반대 개념
MarkedAsUnread (http://purl.imsglobal.org/caliper/actions/MarkedAsUnread) MarkedAsRead의 반대 개념
Modified (http://purl.imsglobal.org/caliper/actions/Modified) 변화를 야기하다; 다르게 만들다; 변형을 일으키다.
Muted (http://purl.imsglobal.org/caliper/actions/Muted) 소리 또는 소음을 끄다. Unmuted의 반대 개념
NavigatedTo (http://purl.imsglobal.org/caliper/actions/NavigatedTo) 코스를 직접 주행하고 방향을 결정한다.
OpenedPopout (http://purl.imsglobal.org/caliper/actions/OpenedPopout) 비디오 팝업을 시작하거나 작동한다. ClosedPopout의 반대 개념
Paused (http://purl.imsglobal.org/caliper/actions/Paused) 잠시 행동을 멈춘다. Resumed의 반대 개념
Posted (http://purl.imsglobal.org/caliper/actions/Posted) 다른 곳으로 이동하거나 전송한다.
Questioned (http://purl.imsglobal.org/caliper/actions/Questioned) 질문을 제시한다.
Ranked (http://purl.imsglobal.org/caliper/actions/Ranked) 등급을 할당한다.
Recommended (http://purl.imsglobal.org/caliper/actions/Recommended) 좋은 의견을 내다.
Removed (http://purl.imsglobal.org/caliper/actions/Removed) 시야에서 제거한다. Added의 반대 개념
Reset (http://purl.imsglobal.org/caliper/actions/Reset) 새로 시작한다.
Restarted (http://purl.imsglobal.org/caliper/actions/Restarted) 새로 시작한다, 다시 시작하기 위해 처음으로 돌아간다.
Resumed (http://purl.imsglobal.org/caliper/actions/Resumed) 새로 시작한다, 정지했던 시점으로부터 다시 시작한다. Paused의 반대 개념
Retrieved (http://purl.imsglobal.org/caliper/actions/Retrieved) 컴퓨터 속 정보와 같은 저장 매체로부터 자료를 획득한다.
Reviewed (http://purl.imsglobal.org/caliper/actions/Reviewed) 비판적으로 살펴보다.
Rewound (http://purl.imsglobal.org/caliper/actions/Rewound) 다시 되감는다.
Searched (http://purl.imsglobal.org/caliper/actions/Searched) 탐색하다, 발견하려고 노력하다.
Shared (http://purl.imsglobal.org/caliper/actions/Shared) 소통하다.
Showed (http://purl.imsglobal.org/caliper/actions/Showed) 보여주거나, 가시화한다. Hid의 반대 개념
Skipped (http://purl.imsglobal.org/caliper/actions/Skipped) 생략하다.
Started (http://purl.imsglobal.org/caliper/actions/Started) 동작을 시작하다, 시작하게 하다. Ended의 반대 개념
Submitted (http://purl.imsglobal.org/caliper/actions/Submitted) 정식으로 제출하다.
Subscribed (http://purl.imsglobal.org/caliper/actions/Subscribed) 정기적으로 받아보다. Unsubscribed의 반대 개념
Tagged (http://purl.imsglobal.org/caliper/actions/Tagged) 태그나 라벨을 붙인다.
TimedOut (http://purl.imsglobal.org/caliper/actions/TimedOut) 지정된 시간 동안 활동이 없으면 취소한다.
Unmuted (http://purl.imsglobal.org/caliper/actions/Unmuted) Muted의 반대 개념
Unsubscribed (http://purl.imsglobal.org/caliper/actions/Unsubscribed) Subscribed의 반대 개념
Used (http://purl.imsglobal.org/caliper/actions/Used) 서비스를 활용한다; 특정 목적이나 본연의 목적등을 위해 작업하거나 이용하다.
Viewed (http://purl.imsglobal.org/caliper/actions/Viewed) 주의 깊에 살펴보다; 학습하다.

부속서 B. Event Subtypes

B.1 AnnotationEvent
AnnotationEvent Highlighted image

Caliper AnnotationEvent는 디지털 콘텐츠의 주석 유형을 모델링한다. 생성된 Annotation은 더 자세한 유형 구체화를 위해 서술되고 하위유형을 표현한다.

IRI

http://purl.imsglobal.org/caliper/AnnotationEvent

상위유형

Event

지원하는 Actor

Person

지원하는 Action

Bookmarked, Highlighted, Shared, Tagged

제거대상 Action

다음의 제거대상 액션은 더이상 지원되지 않으며 AnnotationEvent의 지원하는 액션 목록에서 제거될 것이다. 이 액션은 향후 Metric Profiles에 나타날 가능성이 많은 Caliper actions 어휘의 항목으로 명시된다.

Attached, Classified, Commented, Described, Disliked, Identified, Liked, Linked, Questioned, Ranked, Recommended, Subscribed

지원하는 Object

DigitalResource

지원하는 생성된 Entity

Annotation, BookmarkAnnotation, HighlightAnnotation, SharedAnnotation, TagAnnotation

속성

AnnotationEvent는 상위유형 Event에 정의된 모든 속성을 상속받는다. 추가 요구사항은 다음과 같다.

속성 유형 상세 적합성
id UUID 방출 어플리케이션은 반드시 UUIDEvent를 제공해야 하며[MUST], 이때 UUID는 Ver.4를 준수하는게 좋다[SHOULD]. UUID는 반드시 RFC 4122에 따라 urn:uuid:<UUID> 형식을 사용하여 URN으로 기술해야 한다[MUST]. 필수
type Term 문자열 값은 반드시 AnnotationEvent Term으로 설정해야 한다[MUST]. 필수
actor Person | IRI action을 시작한 Person. actor 값은 반드시 객체 또는 액터의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 필수
action string actor 또는 주어를 object에 바인딩하는 동작 또는 술어. 값의 범위는 위에 나열된 지원하는 액션 용어로 제한된다. Event 당 하나의 action Term만 지정한다. 삭제 예정 액션은 사용하지 않는게 좋다[SHOULD NOT]. 필수
object DigitalResource | IRI 상호작용하는 object를 구성하는 주석 처리된 DigitalResource. object 값은 반드시 객체 또는 객체의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 필수
eventTime DateTime Event가 발생한 시점을 나타내는 ISO 8601 날짜와 시간 값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 필수
target Frame | IRI object 내의 특정 세그먼트 또는 위치를 나타내는 Frame. target 값은 반드시 객체 또는 대상 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
generated Annotation | IRI generated Annotation. generated 값은 반드시 객체 또는 생성된 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
edApp SoftwareApplication | IRI 어플리케이션 컨텐스트를 구성하는 SoftwareApplication. edApp 값은 반드시 객체 또는 edApp의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
referrer Entity | IRI 참조하는 컨텍스트를 나타내는 Entity. SoftwareApplication 또는 DigitalResource 일반적으로 참조 컨텍스트를 구성한다. referrer 값은 반드시 referrer의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
group Organization | IRI group 값은 반드시 객체 또는 그룹의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
membership Membership | IRI 현재 상태와 역할에 대한 actorgroup 사이의 관계. membership 값은 반드시 객체 또는 멤버십 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
session Session | IRI 현재 사용자 Session. session 값은 반드시 객체 또는 세션의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
federatedSession LtiSession | IRI EventLTI 도구를 시작하는 컨텍스트내에서 발생하면, 액터의 도구 소비자는 LtiSession을 참조할 수 있다[MAY]. federatedSession 값은 반드시 객체 또는 federatedSession의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 AnnotationEvent를 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
예: AnnotationEvent (bookmarked)
{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "urn:uuid:d4618c23-d612-4709-8d9a-478d87808067",
  "type": "AnnotationEvent",
  "actor": {
    "id": "https://example.edu/users/554433",
    "type": "Person"
  },
  "action": "Bookmarked",
  "object": {
    "id": "https://example.com/#/texts/imscaliperimplguide/cfi/6/10!/4/2/2/2@0:0",
    "type": "Page",
    "name": "IMS Caliper Implementation Guide, pg 5",
    "version": "1.1"
  },
  "generated": {
    "id": "https://example.com/users/554433/texts/imscaliperimplguide/bookmarks/1",
    "type": "BookmarkAnnotation",
    "annotator": "https://example.edu/users/554433",
    "annotated": "https://example.com/#/texts/imscaliperimplguide/cfi/6/10!/4/2/2/2@0:0",
    "bookmarkNotes": "Caliper profiles model discrete learning activities or supporting activities that facilitate learning.",
    "dateCreated": "2018-11-15T10:15:00.000Z"
  },
  "eventTime": "2018-11-15T10:15:00.000Z",
  "edApp": {
    "id": "https://example.com/reader",
    "type": "SoftwareApplication",
    "name": "ePub Reader",
    "version": "1.2.3"
  },
  "group": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1",
    "type": "CourseSection",
    "courseNumber": "CPS 435-01",
    "academicSession": "Fall 2018"
  },
  "membership": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1/rosters/1",
    "type": "Membership",
    "member": "https://example.edu/users/554433",
    "organization": "https://example.edu/terms/201801/courses/7/sections/1",
    "roles": [ "Learner" ],
    "status": "Active",
    "dateCreated": "2018-08-01T06:00:00.000Z"
  },
  "session": {
    "id": "https://example.com/sessions/1f6442a482de72ea6ad134943812bff564a76259",
    "type": "Session",
    "startedAtTime": "2018-11-15T10:00:00.000Z"
  }
}
B.2 AssessmentEvent
AssessmentEvent Started image

Caliper AssessmentEvent는 온라인 테스트 또는 퀴즈와 같은 평가 도구와 학습자 간의 상호작용을 모델링한다.

IRI

http://purl.imsglobal.org/caliper/AssessmentEvent

상위유형

Event

지원하는 Actor

Person

지원하는 Action

Started, Paused, Resumed, Restarted, Reset, Submitted

지원하는 Object

Assessment

지원하는 생성된 Entity

Attempt

속성

AssessmentEvent는 상위유형 Event에 정의된 모든 속성을 상속받는다. 추가 요구사항은 다음과 같다.

속성 유형 상세 적합성
id UUID 방출 어플리케이션은 반드시 UUIDEvent를 제공해야 하며[MUST], 이때 UUID는 Ver.4를 준수하는게 좋다[SHOULD]. UUID는 반드시 RFC 4122에 따라 urn:uuid:<UUID> 형식을 사용하여 URN으로 기술해야 한다[MUST]. 필수
type Term 문자열 값은 반드시 AssessmentEvent Term으로 설정해야 한다[MUST]. 필수
actor Person | IRI action을 시작한 Person. actor 값은 반드시 객체 또는 액터의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 필수
action Term actor 또는 주어를 object에 바인딩하는 동작 또는 술어. 값의 범위는 위에 나열된 지원하는 액션 용어로 제한된다. Event 당 하나의 action Term만 지정한다. 필수
object Assessment | IRI object 값은 반드시 객체 또는 객체의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 필수
eventTime DateTime Event가 발생한 시점을 나타내는 ISO 8601 날짜와 시간 값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 필수
target Entity | IRI object 내의 특정 세그먼트 또는 위치를 나타내는 Entity. target 값은 반드시 객체 또는 대상 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
generated Attempt | IRI generated 값은 반드시 객체 또는 생성된 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
edApp SoftwareApplication | IRI 어플리케이션 컨텐스트를 구성하는 SoftwareApplication. edApp 값은 반드시 객체 또는 edApp의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
referrer Entity | IRI 참조하는 컨텍스트를 나타내는 Entity. SoftwareApplication 또는 DigitalResource 일반적으로 참조 컨텍스트를 구성한다. referrer 값은 반드시 referrer의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
group Organization | IRI group 값은 반드시 객체 또는 그룹의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
membership Membership | IRI 현재 상태와 역할에 대한 actorgroup 사이의 관계. membership 값은 반드시 객체 또는 멤버십 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
session Session | IRI 현재 사용자 Session. session 값은 반드시 객체 또는 세션의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
federatedSession LtiSession | IRI EventLTI 도구를 시작하는 컨텍스트내에서 발생하면, 액터의 도구 소비자는 LtiSession을 참조할 수 있다[MAY]. federatedSession 값은 반드시 객체 또는 federatedSession의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 AssessmentEvent를 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
예: AssessmentEvent (started)
{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "urn:uuid:27734504-068d-4596-861c-2315be33a2a2",
  "type": "AssessmentEvent",
  "actor": {
    "id": "https://example.edu/users/554433",
    "type": "Person"
  },
  "action": "Started",
  "object": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1/assess/1",
    "type": "Assessment",
    "name": "Quiz One",
    "dateToStartOn": "2018-11-14T05:00:00.000Z",
    "dateToSubmit": "2018-11-18T11:59:59.000Z",
    "maxAttempts": 2,
    "maxSubmits": 2,
    "maxScore": 25.0,
    "version": "1.0"
  },
  "generated": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1/assess/1/users/554433/attempts/1",
    "type": "Attempt",
    "assignee": "https://example.edu/users/554433",
    "assignable": "https://example.edu/terms/201801/courses/7/sections/1/assess/1",
    "count": 1,
    "dateCreated": "2018-11-15T10:15:00.000Z",
    "startedAtTime": "2018-11-15T10:15:00.000Z"
  },
  "eventTime": "2018-11-15T10:15:00.000Z",
  "edApp": {
    "id": "https://example.edu",
    "type": "SoftwareApplication",
    "version": "v2"
  },
  "group": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1",
    "type": "CourseSection",
    "courseNumber": "CPS 435-01",
    "academicSession": "Fall 2018"
  },
  "membership": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1/rosters/1",
    "type": "Membership",
    "member": "https://example.edu/users/554433",
    "organization": "https://example.edu/terms/201801/courses/7/sections/1",
    "roles": [ "Learner" ],
    "status": "Active",
    "dateCreated": "2018-08-01T06:00:00.000Z"
  },
  "session": {
    "id": "https://example.edu/sessions/1f6442a482de72ea6ad134943812bff564a76259",
    "type": "Session",
    "startedAtTime": "2018-11-15T10:00:00.000Z"
  }
}
B.3 AssessmentItemEvent
AssessmentItemEvent Started image

Caliper AssessmentItemEvent는 학습자와 개별 AssessmentItem 간의 상호작용을 모델링한다.

IRI

http://purl.imsglobal.org/caliper/AssessmentItemEvent

상위유형

Event

지원하는 Actor

Person

지원하는 Action

Started, Skipped, Completed

제거대상 Action

Reviewed, Viewed

지원하는 Object

AssessmentItem

지원하는 생성된 Entity

Response, FillinBlankResponse, MultipleChoiceResponse, MultipleResponseResponse, SelectTextResponse, TrueFalseResponse

속성

AssessmentItemEvent는 상위유형 Event에 정의된 모든 속성을 상속받는다. 추가 요구사항은 다음과 같다.

속성 유형 상세 적합성
id UUID 방출 어플리케이션은 반드시 UUIDEvent를 제공해야 하며[MUST], 이때 UUID는 Ver.4를 준수하는게 좋다[SHOULD]. UUID는 반드시 RFC 4122에 따라 urn:uuid:<UUID> 형식을 사용하여 URN으로 기술해야 한다[MUST]. 필수
type Term 문자열 값은 반드시 AssessmentItemEvent Term으로 설정해야 한다[MUST] 필수
actor Person | IRI action을 시작한 Person. actor 값은 반드시 객체 또는 액터의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 필수
action Term actor 또는 주어를 object에 바인딩하는 동작 또는 술어. 값의 범위는 위에 나열된 액션 용어로 제한된다. Event 당 하나의 action Term만 지정한다. 필수
object AssessmentItem | IRI object 값은 반드시 객체 또는 객체의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 필수
eventTime DateTime Event가 발생한 시점을 나타내는 ISO 8601 날짜와 시간 값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 필수
target Entity | IRI object 내의 특정 세그먼트 또는 위치를 나타내는 Entity. target 값은 반드시 객체 또는 대상 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
generated Response | IRI completed 액션을 위해 generated Response. generated 값은 반드시 객체 또는 생성된 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
edApp SoftwareApplication | IRI 어플리케이션 컨텐스트를 구성하는 SoftwareApplication. edApp 값은 반드시 객체 또는 edApp의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
referrer AssessmentItem | IRI 이전에 시도한 AssessmentItemreferrer로 지정할 수 있다[MAY]. referrer 값은 반드시 객체 또는 referrer의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
group Organization | IRI 그룹 컨텍스트를 나타내는 Organization. group 값은 반드시 객체 또는 그룹의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
membership Membership | IRI 현재 상태와 역할에 대한 actorgroup 사이의 관계. membership 값은 반드시 객체 또는 멤버십 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
session Session | IRI 현재 사용자 Session. session 값은 반드시 객체 또는 세션의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
federatedSession LtiSession | IRI EventLTI 도구를 시작하는 컨텍스트내에서 발생하면, 액터의 도구 소비자는 LtiSession을 참조할 수 있다[MAY]. federatedSession 값은 반드시 객체 또는 federatedSession의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 AssessmentItemEvent를 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
예: AssessmentItem (completed)
{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "urn:uuid:e5891791-3d27-4df1-a272-091806a43dfb",
  "type": "AssessmentItemEvent",
  "actor": {
    "id": "https://example.edu/users/554433",
    "type": "Person"
  },
  "action": "Completed",
  "object": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1/assess/1/items/3",
    "type": "AssessmentItem",
    "name": "Assessment Item 3",
    "isPartOf": {
      "id": "https://example.edu/terms/201801/courses/7/sections/1/assess/1",
      "type": "Assessment"
    },
    "dateToStartOn": "2018-11-14T05:00:00.000Z",
    "dateToSubmit": "2018-11-18T11:59:59.000Z",
    "maxAttempts": 2,
    "maxSubmits": 2,
    "maxScore": 1.0,
    "isTimeDependent": false,
    "version": "1.0"
  },
  "generated": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1/assess/1/items/3/users/554433/responses/1",
    "type": "FillinBlankResponse",
    "attempt": {
      "id": "https://example.edu/terms/201801/courses/7/sections/1/assess/1/items/3/users/554433/attempts/1",
      "type": "Attempt",
      "assignee": "https://example.edu/users/554433",
      "assignable": {
        "id": "https://example.edu/terms/201801/courses/7/sections/1/assess/1/items/3",
        "type": "AssessmentItem",
        "name": "Assessment Item 3",
        "isPartOf": {
          "id": "https://example.edu/terms/201801/courses/7/sections/1/assess/1",
          "type": "Assessment"
        }
      },
      "isPartOf": "https://example.edu/terms/201801/courses/7/sections/1/assess/1/users/554433/attempts/1",
      "count": 1,
      "dateCreated": "2018-11-15T10:15:02.000Z",
      "startedAtTime": "2018-11-15T10:15:02.000Z",
      "endedAtTime": "2018-11-15T10:15:12.000Z"
    },
    "dateCreated": "2018-11-15T10:15:12.000Z",
    "startedAtTime": "2018-11-15T10:15:02.000Z",
    "endedAtTime": "2018-11-15T10:15:12.000Z",
    "values": ["subject", "object", "predicate"]
  },
  "eventTime": "2018-11-15T10:15:12.000Z",
  "edApp": {
    "id": "https://example.edu",
    "type": "SoftwareApplication",
    "version": "v2"
  },
  "group": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1",
    "type": "CourseSection",
    "courseNumber": "CPS 435-01",
    "academicSession": "Fall 2018"
  },
  "membership": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1/rosters/1",
    "type": "Membership",
    "member": "https://example.edu/users/554433",
    "organization": "https://example.edu/terms/201801/courses/7/sections/1",
    "roles": [
      "Learner"
    ],
    "status": "Active",
    "dateCreated": "2018-08-01T06:00:00.000Z"
  },
  "session": {
    "id": "https://example.edu/sessions/1f6442a482de72ea6ad134943812bff564a76259",
    "type": "Session",
    "startedAtTime": "2018-11-15T10:00:00.000Z"
  }
}
B.4 AssignableEvent
AssignableEvent Activated image

Caliper AssignableEvent는 완료하기 위해 학습자에게 배정된 디지털 콘텐츠의 과제와 관련된 활동을 모델링한다.

IRI

http://purl.imsglobal.org/caliper/AssignableEvent

상위유형

Event

지원하는 Actor

Person

지원하는 Action

Activated, Deactivated, Started, Completed, Submitted, Reviewed

제거대상 Action

다음의 제거대상 액션은 더이상 지원되지 않으며 AssignableEvent의 지원하는 액션 목록에서 제거될 것이다.

Abandoned, Hid, Showed

지원하는 Object

AssignableDigitalResource

지원하는 생성된 Entity

Attempt

속성

AssignableEvent는 상위유형 Event에 정의된 모든 속성을 상속받는다. 추가 요구사항은 다음과 같다.

속성 유형 상세 적합성
id UUID 방출 어플리케이션은 반드시 UUIDEvent를 제공해야 하며[MUST], 이때 UUID는 Ver.4를 준수하는게 좋다[SHOULD]. UUID는 반드시 RFC 4122에 따라 urn:uuid:<UUID> 형식을 사용하여 URN으로 기술해야 한다[MUST]. 필수
type Term 문자열 값은 반드시 AssignableEvent Term으로 설정해야 한다[MUST]. 필수
actor Person | IRI action을 시작한 Person. actor 값은 반드시 객체 또는 액터의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 필수
action Term actor 또는 주어를 object에 바인딩하는 동작 또는 술어. 값의 범위는 위에 나열된 액션 용어로 제한된다. Event 당 하나의 action Term만 지정한다. 삭제 예정 액션은 사용하지 않는게 좋다[SHOULD NOT]. 필수
object AssignableDigitalResource | IRI 상호작용하는 object를 구성하는 AssignableDigitalResource. object 값은 반드시 객체 또는 객체의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 필수
eventTime DateTime Event가 발생한 시점을 나타내는 ISO 8601 날짜와 시간 값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 필수
target Frame | IRI object 내의 특정 세그먼트 또는 위치를 나타내는 Frame. target 값은 반드시 객체 또는 대상 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
generated Attempt | IRI Started, Completed, Reviewed 액션을 위해 액터의 Attempt를 명시하는 게 좋다[SHOULD]. generated 값은 반드시 객체 또는 생성된 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
edApp SoftwareApplication | IRI 어플리케이션 컨텐스트를 구성하는 SoftwareApplication. edApp 값은 반드시 객체 또는 edApp의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
referrer Entity | IRI 참조하는 컨텍스트를 나타내는 Entity. SoftwareApplication 또는 DigitalResource 일반적으로 참조 컨텍스트를 구성한다. referrer 값은 반드시 referrer의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
group Organization | IRI group 값은 반드시 객체 또는 그룹의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
membership Membership | IRI 현재 상태와 역할에 대한 actorgroup 사이의 관계. membership 값은 반드시 객체 또는 멤버십 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
session Session | IRI 현재 사용자 Session. session 값은 반드시 객체 또는 세션의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
federatedSession LtiSession | IRI EventLTI 도구를 시작하는 컨텍스트내에서 발생하면, 액터의 도구 소비자는 LtiSession을 참조할 수 있다[MAY]. federatedSession 값은 반드시 객체 또는 federatedSession의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 AssignableEvent를 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
예: AssignableEvent (activated)
{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "urn:uuid:2635b9dd-0061-4059-ac61-2718ab366f75",
  "type": "AssignableEvent",
  "actor": {
    "id": "https://example.edu/users/112233",
    "type": "Person"
  },
  "action": "Activated",
  "object": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1/assess/1",
    "type": "Assessment",
    "name": "Quiz One",
    "dateCreated": "2018-08-01T06:00:00.000Z",
    "dateModified": "2018-09-02T11:30:00.000Z",
    "datePublished": "2018-11-12T10:10:00.000Z",
    "dateToActivate": "2018-11-12T10:15:00.000Z",
    "dateToStartOn": "2018-11-14T05:00:00.000Z",
    "dateToSubmit": "2018-11-18T11:59:59.000Z",
    "maxAttempts": 2,
    "maxSubmits": 2,
    "maxScore": 25.0,
    "version": "1.0"
  },
  "eventTime": "2018-11-12T10:15:00.000Z",
  "edApp": {
    "id": "https://example.edu",
    "type": "SoftwareApplication",
    "version": "v2"
  },
  "group": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1",
    "type": "CourseSection",
    "courseNumber": "CPS 435-01",
    "academicSession": "Fall 2018"
  },
  "membership": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1/rosters/1",
    "type": "Membership",
    "member": "https://example.edu/users/112233",
    "organization": "https://example.edu/terms/201801/courses/7/sections/1",
    "roles": [ "Instructor" ],
    "status": "Active",
    "dateCreated": "2018-08-01T06:00:00.000Z"
  },
  "session": {
    "id": "https://example.edu/sessions/f095bbd391ea4a5dd639724a40b606e98a631823",
    "type": "Session",
    "startedAtTime": "2018-11-12T10:00:00.000Z"
  }
}
B.5 ForumEvent
ForumEvent Subscribed image

Caliper ForumEvent는 온라인 포럼 커뮤니티에 참여하는 학습자와 그 외의 참여자들에 대해 모델링한다. 포럼은 일반적으로 회원이 가입할 수 있는 하나 이상의 스레드 또는 주제를 포괄적으로 인코딩 할 수 있으며, 이를 통해 스레드가 허용되는 경우 다른 메시지에 회신할 수 있다.

IRI

http://purl.imsglobal.org/caliper/ForumEvent

상위유형

Event

지원하는 Actor

Person

지원하는 Action

Subscribed, Unsubscribed

지원하는 Object

Forum

속성

ForumEvent는 상위유형 Event에 정의된 모든 속성을 상속받는다. 추가 요구사항은 다음과 같다.

속성 유형 상세 적합성
id UUID 방출 어플리케이션은 반드시 UUIDEvent를 제공해야 하며[MUST], 이때 UUID는 Ver.4를 준수하는게 좋다[SHOULD]. UUID는 반드시 RFC 4122에 따라 urn:uuid:<UUID> 형식을 사용하여 URN으로 기술해야 한다[MUST]. 필수
type Term 문자열 값은 반드시 ForumEvent Term으로 설정해야 한다[MUST]. 필수
actor Person | IRI action을 시작한 Person. actor 값은 반드시 객체 또는 액터의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 필수
action Term actor 또는 주어를 object에 바인딩하는 동작 또는 술어. 값의 범위는 위에 나열된 액션 용어로 제한된다. Event 당 하나의 action Term만 지정한다. 필수
object Forum | IRI 상호작용하는 object를 구성하는 Forum. object 값은 반드시 객체 또는 객체의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 필수
eventTime DateTime Event가 발생한 시점을 나타내는 ISO 8601 날짜와 시간 값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 필수
target Entity | IRI object 내의 특정 세그먼트 또는 위치를 나타내는 Entity. target 값은 반드시 객체 또는 대상 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
generated Entity | IRI 상호작용의 결과로 만들어지거나 생성된 Entity. generated 값은 반드시 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
referrer Entity | IRI 참조하는 컨텍스트를 나타내는 Entity. SoftwareApplication 또는 DigitalResource는 일반적으로 참조 컨텍스트를 구성한다. 선택
edApp SoftwareApplication | IRI 어플리케이션 컨텐스트를 구성하는 SoftwareApplication. edApp 값은 반드시 객체 또는 edApp의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
referrer Entity | IRI 참조하는 컨텍스트를 나타내는 Entity. SoftwareApplication 또는 DigitalResource 일반적으로 참조 컨텍스트를 구성한다. referrer 값은 반드시 referrer의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
group Organization | IRI group 값은 반드시 객체 또는 그룹의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
membership Membership | IRI 현재 상태와 역할에 대한 actorgroup 사이의 관계. membership 값은 반드시 객체 또는 멤버십 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
session Session | IRI 현재 사용자 Session. session 값은 반드시 객체 또는 세션의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
federatedSession LtiSession | IRI EventLTI 도구를 시작하는 컨텍스트내에서 발생하면, 액터의 도구 소비자는 LtiSession을 참조할 수 있다[MAY]. federatedSession 값은 반드시 객체 또는 federatedSession의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 ForumEvent를 보다 간결하게 표현하기 위해 명시할 수 있다[MUST]. 선택
예: ForumEvent (subscribed)
{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "urn:uuid:a2f41f9c-d57d-4400-b3fe-716b9026334e",
  "type": "ForumEvent",
  "actor": {
    "id": "https://example.edu/users/554433",
    "type": "Person"
  },
  "action": "Subscribed",
  "object": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1/forums/1",
    "type": "Forum",
    "name": "Caliper Forum",
    "isPartOf": {
      "id": "https://example.edu/terms/201801/courses/7/sections/1",
      "type": "CourseSection"
    },
    "dateCreated": "2018-09-14T11:00:00.000Z"
  },
  "eventTime": "2018-11-15T10:16:00.000Z",
  "edApp": {
    "id": "https://example.edu/forums",
    "type": "SoftwareApplication",
    "version": "v2"
  },
  "group": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1",
    "type": "CourseSection",
    "courseNumber": "CPS 435-01",
    "academicSession": "Fall 2018"
  },
  "membership": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1/rosters/1",
    "type": "Membership",
    "member": "https://example.edu/users/554433",
    "organization": "https://example.edu/terms/201801/courses/7/sections/1",
    "roles": [ "Learner" ],
    "status": "Active",
    "dateCreated": "2018-08-01T06:00:00.000Z"
  },
  "session": {
    "id": "https://example.edu/sessions/1f6442a482de72ea6ad134943812bff564a76259",
    "type": "Session",
    "startedAtTime": "2018-11-15T10:00:00.000Z"
  }
}
B.6 GradeEvent
GradeEvent Graded image

Caliper GradeEventPerson 또는 SoftwareApplication과 같은 Agent에 의해 수행되는 채점 또는 등급 활동을 모델링한다. Caliper GradeEvent는 제거대상인 OutcomeEvent를 대체한다.

IRI

http://purl.imsglobal.org/caliper/GradeEvent

상위유형

Event

지원하는 Actor

Agent

지원하는 Action

Graded

지원하는 Object

Attempt

지원하는 생성된 Entity

Score

속성

GradeEvent는 상위유형 Event에 정의된 모든 속성을 상속받는다. 추가 요구사항은 다음과 같다.

속성 유형 상세 적합성
id UUID 방출 어플리케이션은 반드시 UUIDEvent를 제공해야 하며[MUST], 이때 UUID는 Ver.4를 준수하는게 좋다[SHOULD]. UUID는 반드시 RFC 4122에 따라 urn:uuid:<UUID> 형식을 사용하여 URN으로 기술해야 한다[MUST]. 필수
type Term 문자열 값은 반드시 GradeEvent Term으로 설정해야 한다[MUST]. 필수
actor Agent | IRI Agent(일반적으로 Person 또는 SoftwareApplication)는 반드시 actor로 지정되어야 한다[MUST]. actor 값은 반드시 객체 또는 액터의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 필수
action Term actor 또는 주어를 object에 바인딩하는 동작 또는 술어. 값의 범위는 위에 나열된 액션 용어로 제한된다. Event 당 하나의 action Term만 지정한다. 필수
object Attempt | IRI 완료된 Attempt. object 값은 반드시 객체 또는 객체의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 필수
eventTime DateTime Event가 발생한 시점을 나타내는 ISO 8601 날짜와 시간 값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 필수
target Entity | IRI object 내의 특정 세그먼트 또는 위치를 나타내는 Entity. target 값은 반드시 객체 또는 대상 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 해당없음
generated Score | IRI 생성된 Score를 제공하는 게 좋다[SHOULD]. generated 값은 반드시 객체 또는 생성된 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
edApp SoftwareApplication | IRI 어플리케이션 컨텐스트를 구성하는 SoftwareApplication. edApp 값은 반드시 객체 또는 edApp의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
referrer Entity | IRI 참조하는 컨텍스트를 나타내는 Entity. SoftwareApplication 또는 DigitalResource 일반적으로 참조 컨텍스트를 구성한다. referrer 값은 반드시 referrer의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
group Organization | IRI group 값은 반드시 객체 또는 그룹의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
membership Membership | IRI 현재 상태와 역할에 대한 actorgroup 사이의 관계. membership 값은 반드시 객체 또는 멤버십 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
session Session | IRI 현재 사용자 Session. session 값은 반드시 객체 또는 세션의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
federatedSession LtiSession | IRI EventLTI 도구를 시작하는 컨텍스트내에서 발생하면, 액터의 도구 소비자는 LtiSession을 참조할 수 있다[MAY]. federatedSession 값은 반드시 객체 또는 federatedSession의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 GradeEvent를 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
예: GradeEvent (graded)
{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "urn:uuid:a50ca17f-5971-47bb-8fca-4e6e6879001d",
  "type": "GradeEvent",
  "actor": {
    "id": "https://example.edu/autograder",
    "type": "SoftwareApplication",
    "version": "v2"
  },
  "action": "Graded",
  "object": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1/assess/1/users/554433/attempts/1",
    "type": "Attempt",
    "assignee": {
      "id": "https://example.edu/users/554433",
      "type": "Person"
    },
    "assignable": {
      "id": "https://example.edu/terms/201801/courses/7/sections/1/assess/1",
      "type": "Assessment"
    },
    "count": 1,
    "dateCreated": "2018-11-15T10:05:00.000Z",
    "startedAtTime": "2018-11-15T10:05:00.000Z",
    "endedAtTime": "2018-11-15T10:55:12.000Z",
    "duration": "PT50M12S"
  },
  "eventTime": "2018-11-15T10:57:06.000Z",
  "edApp": "https://example.edu",
  "generated": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1/assess/1/users/554433/attempts/1/scores/1",
    "type": "Score",
    "attempt": "https://example.edu/terms/201801/courses/7/sections/1/assess/1/users/554433/attempts/1",
    "maxScore": 15.0,
    "scoreGiven": 10.0,
    "scoredBy": "https://example.edu/autograder",
    "comment": "auto-graded exam",
    "dateCreated": "2018-11-15T10:56:00.000Z"
  },
  "group": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1",
    "type": "CourseSection",
    "courseNumber": "CPS 435-01",
    "academicSession": "Fall 2018"
  }
}
B.7 MediaEvent
MediaEvent Paused image

Caliper MediaEvent는 오디오, 이미지, 비디오와 같은 다양한 콘텐츠와 학습자간의 상호작용을 모델링한다.

IRI

http://purl.imsglobal.org/caliper/MediaEvent

상위유형

Event

지원하는 Actor

Person

지원하는 Action

Started, Ended, Paused, Resumed, Restarted, ForwardedTo, JumpedTo, ChangedResolution, ChangedSize, ChangedSpeed, ChangedVolume, EnabledClosedCaptioning, DisabledClosedCaptioning, EnteredFullScreen, ExitedFullScreen, Muted, Unmuted, OpenedPopout, ClosedPopout

제거대상 Action

다음의 제거대상 액션은 더이상 지원되지 않으며 MediaEvent의 지원하는 액션 목록에서 제거될 것이다.

Rewound

지원하는 Object

AudioObject, ImageObject, MediaObject, VideoObject

지원하는 대상 Entity

MediaLocation

속성

MediaEvent는 상위유형 Event에 정의된 모든 속성을 상속받는다. 추가 요구사항은 다음과 같다.

속성 유형 상세 적합성
id UUID 방출 어플리케이션은 반드시 UUIDEvent를 제공해야 하며[MUST], 이때 UUID는 Ver.4를 준수하는게 좋다[SHOULD]. UUID는 반드시 RFC 4122에 따라 urn:uuid:<UUID> 형식을 사용하여 URN으로 기술해야 한다[MUST]. 필수
type Term 문자열 값은 반드시 MediaEvent Term으로 설정해야 한다[MUST]. 필수
actor Person | IRI action을 시작한 Person. actor 값은 반드시 객체 또는 액터의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 필수
action Term actor 또는 주어를 object에 바인딩하는 동작 또는 술어. 값의 범위는 위에 나열된 액션 용어로 제한된다. Event 당 하나의 action Term만 지정한다. 필수
object MediaObject | IRI 상호작용하는 object 를 구성하는 MediaObject. object 값은 반드시 객체 또는 객체의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 필수
eventTime DateTime Event가 발생한 시점을 나타내는 ISO 8601 날짜와 시간 값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 필수
target MediaLocation | IRI MediaEvent objectAudioObject 또는 VideoObject인 경우, 해당 액션을 표시하는 오디오나 비디오 스트림에 currentTime을 제공하기 위해 MediaLocation을 지정하는 게 좋다[SHOULD]. currentTime이 지정되면, 값은 반드시 ISO 8601 형식(예: “PT30M54S”)이어야 한다[MUST]. target 값은 반드시 객체 또는 대상 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
generated Entity | IRI 상호작용의 결과로 만들어지거나 생성된 Entity. generated 값은 반드시 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
edApp SoftwareApplication | IRI 어플리케이션 컨텐스트를 구성하는 SoftwareApplication. edApp 값은 반드시 객체 또는 edApp의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
referrer Entity | IRI 참조하는 컨텍스트를 나타내는 Entity. SoftwareApplication 또는 DigitalResource 일반적으로 참조 컨텍스트를 구성한다. referrer 값은 반드시 referrer의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
group Organization | IRI group 값은 반드시 객체 또는 그룹의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
membership Membership | IRI 현재 상태와 역할에 대한 actorgroup 사이의 관계. membership 값은 반드시 객체 또는 멤버십 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
session Session | IRI 현재 사용자 Session. session 값은 반드시 객체 또는 세션의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
federatedSession LtiSession | IRI EventLTI 도구를 시작하는 컨텍스트내에서 발생하면, 액터의 도구 소비자는 LtiSession을 참조할 수 있다[MAY]. federatedSession 값은 반드시 객체 또는 federatedSession의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 MediaEvent를 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
예: MediaEvent (paused)
{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "urn:uuid:956b4a02-8de0-4991-b8c5-b6eebb6b4cab",
  "type": "MediaEvent",
  "actor": {
    "id": "https://example.edu/users/554433",
    "type": "Person"
  },
  "action": "Paused",
  "object": {
    "id": "https://example.edu/UQVK-dsU7-Y",
    "type": "VideoObject",
    "name": "Information and Welcome",
    "mediaType": "video/ogg",
    "duration": "PT20M20S"
  },
  "target": {
    "id": "https://example.edu/UQVK-dsU7-Y?t=321",
    "type": "MediaLocation",
    "currentTime": "PT05M21S"
  },
  "eventTime": "2018-11-15T10:15:00.000Z",
  "edApp": "https://example.edu/player",
  "group": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1",
    "type": "CourseSection",
    "courseNumber": "CPS 435-01",
    "academicSession": "Fall 2018"
  },
  "membership": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1/rosters/1",
    "type": "Membership",
    "member": "https://example.edu/users/554433",
    "organization": "https://example.edu/terms/201801/courses/7/sections/1",
    "roles": [ "Learner" ],
    "status": "Active",
    "dateCreated": "2018-08-01T06:00:00.000Z"
  },
  "session": {
    "id": "https://example.edu/sessions/1f6442a482de72ea6ad134943812bff564a76259",
    "type": "Session",
    "startedAtTime": "2018-11-15T10:00:00.000Z"
  }
}
B.8 MessageEvent
MessageEvent Posted image

Caliper MessageEventMessage를 게시하는 Person을 설명하거나 게시물이 읽히거나 읽히지 않았는지를 설명한다.

IRI

http://purl.imsglobal.org/caliper/MessageEvent

상위유형

Event

지원하는 Actor

Person

지원하는 Action

MarkedAsRead, MarkedAsUnRead, Posted

지원하는 Object

Message

속성

MessageEvent는 상위유형 Event에 정의된 모든 속성을 상속받는다. 추가 요구사항은 다음과 같다.

속성 유형 상세 적합성
id UUID 방출 어플리케이션은 반드시 UUIDEvent를 제공해야 하며[MUST], 이때 UUID는 Ver.4를 준수하는게 좋다[SHOULD]. UUID는 반드시 RFC 4122에 따라 urn:uuid:<UUID> 형식을 사용하여 URN으로 기술해야 한다[MUST]. 필수
type Term 문자열 값은 반드시 MessageEvent Term으로 설정해야 한다[MUST]. 필수
actor Person | IRI action을 시작한 Person. actor 값은 반드시 객체 또는 액터의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 필수
action Term actor 또는 주어를 object에 바인딩하는 동작 또는 술어. 값의 범위는 위에 나열된 액션 용어로 제한된다. Event 당 하나의 action Term만 지정한다. 필수
object Message | IRI 상호작용하는 object를 구성하는 Message. object가 이전 게시물에 대한 댓글로 게시된 Message를 나타내는 경우, Message replyTo 속성을 사용하여 Message를 유도한 이전 게시물을 참조하는 게 좋다[SHOULD]. object 값은 반드시 객체 또는 객체의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 필수
eventTime DateTime Event가 발생한 시점을 나타내는 ISO 8601 날짜와 시간 값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 필수
target Entity | IRI object 내의 특정 세그먼트 또는 위치를 나타내는 Entity. target 값은 반드시 객체 또는 대상 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
generated Entity | IRI 상호작용의 결과로 만들어지거나 생성된 Entity. generated 값은 반드시 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
edApp SoftwareApplication | IRI 어플리케이션 컨텐스트를 구성하는 SoftwareApplication. edApp 값은 반드시 객체 또는 edApp의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
referrer Entity | IRI 참조하는 컨텍스트를 나타내는 Entity. SoftwareApplication 또는 DigitalResource 일반적으로 참조 컨텍스트를 구성한다. referrer 값은 반드시 referrer의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
group Organization | IRI group 값은 반드시 객체 또는 그룹의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
membership Membership | IRI 현재 상태와 역할에 대한 actorgroup 사이의 관계. membership 값은 반드시 객체 또는 멤버십 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. session 값은 반드시 객체 또는 세션의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
session Session | IRI The current user Session. 선택
federatedSession LtiSession | IRI EventLTI 도구를 시작하는 컨텍스트내에서 발생하면, 액터의 도구 소비자는 LtiSession을 참조할 수 있다[MAY]. federatedSession 값은 반드시 객체 또는 federatedSession의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 MessageEvent를 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
예: MessageEvent (posted)
{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "urn:uuid:0d015a85-abf5-49ee-abb1-46dbd57fe64e",
  "type": "MessageEvent",
  "actor": {
    "id": "https://example.edu/users/554433",
    "type": "Person"
  },
  "action": "Posted",
  "object": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1/forums/2/topics/1/messages/2",
    "type": "Message",
    "creators": [
      {
        "id": "https://example.edu/users/554433",
        "type": "Person"
      }
    ],
    "body": "Are the Caliper Sensor reference implementations production-ready?",
    "isPartOf": {
      "id": "https://example.edu/terms/201801/courses/7/sections/1/forums/2/topics/1",
      "type": "Thread",
      "name": "Caliper Adoption",
      "isPartOf": {
        "id": "https://example.edu/terms/201801/courses/7/sections/1/forums/2",
        "type": "Forum",
        "name": "Caliper Forum"
      }
    },
    "dateCreated": "2018-11-15T10:15:00.000Z"
  },
  "eventTime": "2018-11-15T10:15:00.000Z",
  "edApp": {
    "id": "https://example.edu/forums",
    "type": "SoftwareApplication",
    "version": "v2"
  },
  "group": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1",
    "type": "CourseSection",
    "courseNumber": "CPS 435-01",
    "academicSession": "Fall 2018"
  },
  "membership": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1/rosters/1",
    "type": "Membership",
    "member": "https://example.edu/users/554433",
    "organization": "https://example.edu/terms/201801/courses/7/sections/1",
    "roles": [ "Learner" ],
    "status": "Active",
    "dateCreated": "2018-08-01T06:00:00.000Z"
  },
  "session": {
    "id": "https://example.edu/sessions/1f6442a482de72ea6ad134943812bff564a76259",
    "type": "Session",
    "startedAtTime": "2018-11-15T10:00:00.000Z"
  }
}
예: MessageEvent (posted reply)
{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "urn:uuid:aed54386-a3fb-45ff-90f9-a35d3daaf031",
  "type": "MessageEvent",
  "actor": {
    "id": "https://example.edu/users/778899",
    "type": "Person"
  },
  "action": "Posted",
  "object": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1/forums/2/topics/1/messages/3",
    "type": "Message",
    "creators": [
      {
        "id": "https://example.edu/users/778899",
        "type": "Person"
      }
    ],
    "replyTo": {
      "id": "https://example.edu/terms/201801/courses/7/sections/1/forums/2/topics/1/messages/2",
      "type": "Message"
    },
    "isPartOf": {
      "id": "https://example.edu/terms/201801/courses/7/sections/1/forums/2/topics/1",
      "type": "Thread",
      "isPartOf": {
        "id": "https://example.edu/terms/201801/courses/7/sections/1/forums/2",
        "type": "Forum"
      }
    },
    "dateCreated": "2018-11-15T10:15:30.000Z"
  },
  "eventTime": "2018-11-15T10:15:30.000Z",
  "edApp": {
    "id": "https://example.edu/forums",
    "type": "SoftwareApplication",
    "version": "v2"
  },
  "group": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1",
    "type": "CourseSection",
    "courseNumber": "CPS 435-01",
    "academicSession": "Fall 2018"
  },
  "membership": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1/rosters/1",
    "type": "Membership",
    "member": "https://example.edu/users/778899",
    "organization": "https://example.edu/terms/201801/courses/7/sections/1",
    "roles": [ "Learner" ],
    "status": "Active",
    "dateCreated": "2018-08-01T06:00:00.000Z"
  },
  "session": {
    "id": "https://example.edu/sessions/1d6fa9adf16f4892650e4305f6cf16610905cd50",
    "type": "Session",
    "startedAtTime": "2018-11-15T10:12:00.000Z"
  }
}
B.9 NavigationEvent
NavigationEvent NavigatedTo image

Caliper NavigationEvent는 디지털 리소스 네트워크를 탐색하는 액터를 모델링한다.

IRI

http://purl.imsglobal.org/caliper/NavigationEvent

상위유형

Event

지원하는 Actor

Person

지원하는 Action

NavigatedTo

지원하는 Object

DigitalResource, SoftwareApplication

지원하는 대상 Entity

Frame

속성

NavigationEvent는 상위유형 Event에 정의된 모든 속성을 상속받는다. 추가 요구사항은 다음과 같다.

속성 유형 상세 적합성
id UUID 방출 어플리케이션은 반드시 UUIDEvent를 제공해야 하며[MUST], 이때 UUID는 Ver.4를 준수하는게 좋다[SHOULD]. UUID는 반드시 RFC 4122에 따라 urn:uuid:<UUID> 형식을 사용하여 URN으로 기술해야 한다[MUST]. 필수
type Term 문자열 값은 반드시 NavigationEvent Term으로 설정해야 한다[MUST]. 필수
actor Person | IRI action을 시작한 Person. actor 값은 반드시 객체 또는 액터의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 필수
action Term actor 또는 주어를 object에 바인딩하는 동작 또는 술어. 값의 범위는 위에 나열된 액션 용어로 제한된다. Event 당 하나의 action Term만 지정한다. 필수
object DigitalResource | SoftwareApplication | IRI 상호작용하는 object를 구성하는 DigitalResource 또는 SoftwareApplication. object 값은 반드시 객체 또는 객체의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 필수
eventTime DateTime Event가 발생한 시점을 나타내는 ISO 8601 날짜와 시간 값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 필수
target Frame | IRI object 내의 특정 세그먼트 또는 위치를 나타내는 Frame. target 값은 반드시 객체 또는 대상 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
generated Entity | IRI 상호작용의 결과로 만들어지거나 생성된 Entity. generated 값은 반드시 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
edApp SoftwareApplication | IRI 어플리케이션 컨텐스트를 구성하는 SoftwareApplication. edApp 값은 반드시 객체 또는 edApp의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
referrer DigitalResource | SoftwareApplication | IRI 참조하는 컨텍스트를 구성하는 DigitalResource 또는 SoftwareApplication. referrer 값은 반드시 객체 또는 referrer의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
group Organization | IRI group 값은 반드시 객체 또는 그룹의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
membership Membership | IRI 현재 상태와 역할에 대한 actorgroup 사이의 관계. membership 값은 반드시 객체 또는 멤버십 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
session Session | IRI 현재 사용자 Session. session 값은 반드시 객체 또는 세션의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
federatedSession LtiSession | IRI EventLTI 도구를 시작하는 컨텍스트내에서 발생하면, 액터의 도구 소비자는 LtiSession을 참조할 수 있다[MAY]. federatedSession 값은 반드시 객체 또는 federatedSession의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 NavigationEvent를 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
제거대상 속성

다음 NavigationEvent 속성은 제거대상이므로 사용해서는 안된다[MUST NOT]. 해당 속성은 향후 버전의 Caliper에서 제거될 것이다.

속성 유형 상세 적합성
navigatedFrom DigitalResource, SoftwareApplication 참조하는 컨텍스트를 구성하는 DigitalResource 또는 SoftwareApplication. navigatedFrom은 제거대상이므로 referrer로 대체한다. 선택
예: NavigationEvent (navigated to)
{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "urn:uuid:ff9ec22a-fc59-4ae1-ae8d-2c9463ee2f8f",
  "type": "NavigationEvent",
  "actor": {
    "id": "https://example.edu/users/554433",
    "type": "Person"
  },
  "action": "NavigatedTo",
  "object": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1/pages/2",
    "type": "WebPage",
    "name": "Learning Analytics Specifications",
    "description": "Overview of Learning Analytics Specifications with particular emphasis on IMS Caliper.",
    "dateCreated": "2018-08-01T09:00:00.000Z"
  },
  "eventTime": "2018-11-15T10:15:00.000Z",
  "referrer": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1/pages/1",
    "type": "WebPage"
  },
  "edApp": "https://example.edu",
  "group": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1",
    "type": "CourseSection",
    "courseNumber": "CPS 435-01",
    "academicSession": "Fall 2018"
  },
  "membership": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1/rosters/1",
    "type": "Membership",
    "member": "https://example.edu/users/554433",
    "organization": "https://example.edu/terms/201801/courses/7/sections/1",
    "roles": [ "Learner" ],
    "status": "Active",
    "dateCreated": "2018-08-01T06:00:00.000Z"
  },
  "session": {
    "id": "https://example.edu/sessions/1f6442a482de72ea6ad134943812bff564a76259",
    "type": "Session",
    "startedAtTime": "2018-11-15T10:00:00.000Z"
  }
}
B.10 OutcomeEvent 삭제예정

Caliper OutcomeEventPerson 또는 SoftwareApplication과 같은 Agent가 수행하는 채점 활동을 모델링한다. OutcomeEvent는 삭제예정이며, 향후 버전에서는 제거될 것이다. 대신 GradeEvent를 사용한다.

IRI

http://purl.imsglobal.org/caliper/OutcomeEvent

상위유형

Event

지원하는 Actor

Agent

지원하는 Action

Graded

지원하는 Object

Attempt

지원하는 생성된 Entity

Result

속성

OutcomeEvent는 상위유형 Event에 정의된 모든 속성을 상속받는다. 추가 요구사항은 다음과 같다.

속성 유형 상세 적합성
id UUID 방출 어플리케이션은 반드시 UUIDEvent를 제공해야 하며[MUST], 이때 UUID는 Ver.4를 준수하는게 좋다[SHOULD]. UUID는 반드시 RFC 4122에 따라 urn:uuid:<UUID> 형식을 사용하여 URN으로 기술해야 한다[MUST]. 필수
type Term 문자열 값은 반드시 OutcomeEvent Term으로 설정해야 한다[MUST]. 필수
actor Agent | IRI Agent(일반적으로 Person 또는 SoftwareApplication)는 반드시 actor로 지정되어야 한다[MUST]. actor 값은 반드시 객체 또는 액터의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 필수
action Term actor 또는 주어를 object에 바인딩하는 동작 또는 술어. 값의 범위는 위에 나열된 액션 용어로 제한된다. Event 당 하나의 action Term만 지정한다. 필수
object Attempt | IRI 완료된 Attempt. object 값은 반드시 객체 또는 객체의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 필수
eventTime DateTime Event가 발생한 시점을 나타내는 ISO 8601 날짜와 시간 값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 필수
target Entity | IRI object 내의 특정 세그먼트 또는 위치를 나타내는 Entity. target 값은 반드시 객체 또는 대상 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 해당없음
generated Result | IRI 생성된 Result를 제공하는 게 좋다[SHOULD]. generated 값은 반드시 객체 또는 생성된 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
edApp SoftwareApplication | IRI 어플리케이션 컨텐스트를 구성하는 SoftwareApplication. edApp 값은 반드시 객체 또는 edApp의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
referrer Entity | IRI 참조하는 컨텍스트를 나타내는 Entity. SoftwareApplication 또는 DigitalResource 일반적으로 참조 컨텍스트를 구성한다. referrer 값은 반드시 referrer의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
group Organization | IRI group 값은 반드시 객체 또는 그룹의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
membership Membership | IRI 현재 상태와 역할에 대한 actorgroup 사이의 관계. membership 값은 반드시 객체 또는 멤버십 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
session Session | IRI 현재 사용자 Session. session 값은 반드시 객체 또는 세션의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
federatedSession LtiSession | IRI EventLTI 도구를 시작하는 컨텍스트내에서 발생하면, 액터의 도구 소비자는 LtiSession을 참조할 수 있다[MAY]. federatedSession 값은 반드시 객체 또는 federatedSession의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 OutcomeEvent를 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
B.11 ReadingEvent 삭제예정

Caliper ReadingEvent가 문자 콘텐츠를 읽는 것을 모델링한다. ReadingEvent는 삭제예정이며, 향후 버전에서는 제거될 것이다. 참조하지 않는게 좋다[SHOULD NOT].

IRI

http://purl.imsglobal.org/caliper/ReadingEvent

상위유형

Event

지원하는 Actor

Person

지원하는 Action

NavigatedTo, Searched, Viewed

지원하는 Object

DigitalResource

지원하는 대상 Entity

Frame

속성

ReadingEvent는 상위유형 Event에 정의된 모든 속성을 상속받는다. 추가 요구사항은 다음과 같다.

속성 유형 상세 적합성
id UUID 방출 어플리케이션은 반드시 UUIDEvent를 제공해야 하며[MUST], 이때 UUID는 Ver.4를 준수하는게 좋다[SHOULD]. UUID는 반드시 RFC 4122에 따라 urn:uuid:<UUID> 형식을 사용하여 URN으로 기술해야 한다[MUST]. 필수
type Term 문자열 값은 반드시 ReadingEvent Term으로 설정해야 한다[MUST]. 필수
actor Person | IRI action을 시작한 Person. actor 값은 반드시 객체 또는 액터의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 필수
action Term actor 또는 주어를 object에 바인딩하는 동작 또는 술어. 값의 범위는 위에 나열된 액션 용어로 제한된다. Event 당 하나의 action Term만 지정한다. 필수
object DigitalResource | IRI 상호작용하는 object를 구성하는 DigitalResource. object 값은 반드시 객체 또는 객체의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 필수
eventTime DateTime Event가 발생한 시점을 나타내는 ISO 8601 날짜와 시간 값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 필수
target Frame | IRI object 내의 특정 세그먼트 또는 위치를 나타내는 Frame. target 값은 반드시 객체 또는 대상 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
generated Entity | IRI 상호작용의 결과로 만들어지거나 생성된 Entity. generated 값은 반드시 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
edApp SoftwareApplication | IRI 어플리케이션 컨텐스트를 구성하는 SoftwareApplication. edApp 값은 반드시 객체 또는 edApp의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
referrer Entity | IRI 참조하는 컨텍스트를 나타내는 Entity. SoftwareApplication 또는 DigitalResource 일반적으로 참조 컨텍스트를 구성한다. referrer 값은 반드시 referrer의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
group Organization | IRI group 값은 반드시 객체 또는 그룹의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
membership Membership | IRI 현재 상태와 역할에 대한 actorgroup 사이의 관계. membership 값은 반드시 객체 또는 멤버십 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
session Session | IRI 현재 사용자 Session. session 값은 반드시 객체 또는 세션의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
federatedSession LtiSession | IRI EventLTI 도구를 시작하는 컨텍스트내에서 발생하면, 액터의 도구 소비자는 LtiSession을 참조할 수 있다[MAY]. federatedSession 값은 반드시 객체 또는 federatedSession의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 ReadingEvent를 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
B.12 SessionEvent
SessionEvent LoggedIn image
SessionEvent LoggedOut image
SessionEvent TimedOut image

Caliper SessionEventSoftwareApplication과 상호작용하는 Person에 의해 설정된 사용자 세션의 생성 및 후속 종료를 모델링한다.

IRI

http://purl.imsglobal.org/caliper/SessionEvent

상위유형

Event

지원하는 Actor

Person, SoftwareApplication

지원하는 Action

LoggedIn, LoggedOut, TimedOut

지원하는 Object

Session, SoftwareApplication

속성

SessionEvent는 상위유형 Event에 정의된 모든 속성을 상속받는다. 추가 요구사항은 다음과 같다.

속성 유형 상세 적합성
id UUID 방출 어플리케이션은 반드시 UUIDEvent를 제공해야 하며[MUST], 이때 UUID는 Ver.4를 준수하는게 좋다[SHOULD]. UUID는 반드시 RFC 4122에 따라 urn:uuid:<UUID> 형식을 사용하여 URN으로 기술해야 한다[MUST]. 필수
type Term 문자열 값은 반드시 SessionEvent Term으로 설정해야 한다[MUST]. 필수
actor Person | SoftwareApplication | IRI action을 시작한 Agent. LoggedInLoggedOut액션의 경우, Person은 반드시 actor로 지정해야 한다[MUST]. TimedOut 액션의 경우,SoftwareApplication은 반드시 actor로 지정해야 한다[MUST]. actor 값은 반드시 객체 또는 액터의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 필수
action Term actor 또는 주어를 object에 바인딩하는 동작 또는 술어. 값의 범위는 위에 나열된 액션 용어로 제한된다. Event 당 하나의 action Term만 지정한다. 필수
object Session | SoftwareApplication | IRI LoggedInLoggedOut 액션의 경우, SoftwareApplication은 반드시 object로 지정해야 한다[MUST]. TimedOut 액션의 경우, Session은 반드시 객체로 지정해야 한다[MUST]. object 값은 반드시 객체 또는 객체의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 필수
eventTime DateTime Event가 발생한 시점을 나타내는 ISO 8601 날짜와 시간 값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 필수
target DigitalResource | IRI SoftwareApplication에 로그인할 때, 액터가 특정 DigitalResource에 접근을 시도한다면, 상호작용의 target으로 지정할 수 있다[MAY]. target 값은 반드시 객체 또는 대상 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
generated Entity | IRI 상호작용의 결과로 만들어지거나 생성된 Entity. generated 값은 반드시 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
edApp SoftwareApplication | IRI 어플리케이션 컨텐스트를 구성하는 SoftwareApplication. edApp 값은 반드시 객체 또는 edApp의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
referrer DigitalResource | SoftwareApplication | IRI 참조하는 컨텍스트를 구성하는 DigitalResource 또는 SoftwareApplicationreferrer로 지정할 수 있다[MAY]. referrer 값은 반드시 객체 또는 referrer의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
group Organization | IRI group 값은 반드시 객체 또는 그룹의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
membership Membership | IRI 현재 상태와 역할에 대한 actorgroup 사이의 관계. membership 값은 반드시 객체 또는 멤버십 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
session Session | IRI 현재 사용자 Session. session 값은 반드시 객체 또는 세션의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
federatedSession LtiSession | IRI EventLTI 도구를 시작하는 컨텍스트내에서 발생하면, 액터의 도구 소비자는 LtiSession을 참조할 수 있다[MAY]. federatedSession 값은 반드시 객체 또는 federatedSession의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 SessionEvent를 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
예: SessionEvent (logged in)
{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "urn:uuid:fcd495d0-3740-4298-9bec-1154571dc211",
  "type": "SessionEvent",
  "actor": {
    "id": "https://example.edu/users/554433",
    "type": "Person"
  },
  "action": "LoggedIn",
  "object": {
    "id": "https://example.edu",
    "type": "SoftwareApplication",
    "version": "v2"
  },
  "eventTime": "2018-11-15T10:15:00.000Z",
  "edApp": "https://example.edu",
  "session": {
    "id": "https://example.edu/sessions/1f6442a482de72ea6ad134943812bff564a76259",
    "type": "Session",
    "user": "https://example.edu/users/554433",
    "dateCreated": "2018-11-15T10:00:00.000Z",
    "startedAtTime": "2018-11-15T10:00:00.000Z"
  }
}
예: SessionEvent (logged out)
{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "urn:uuid:a438f8ac-1da3-4d48-8c86-94a1b387e0f6",
  "type": "SessionEvent",
  "actor": {
    "id": "https://example.edu/users/554433",
    "type": "Person"
  },
  "action": "LoggedOut",
  "object": {
    "id": "https://example.edu",
    "type": "SoftwareApplication",
    "version": "v2"
  },
  "eventTime": "2018-11-15T11:05:00.000Z",
  "edApp": "https://example.edu",
  "session": {
    "id": "https://example.edu/sessions/1f6442a482de72ea6ad134943812bff564a76259",
    "type": "Session",
    "user": "https://example.edu/users/554433",
    "dateCreated": "2018-11-15T10:00:00.000Z",
    "startedAtTime": "2018-11-15T10:00:00.000Z",
    "endedAtTime": "2018-11-15T11:05:00.000Z",
    "duration": "PT3000S"
  }
}
예: SessionEvent (timed out)
{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "urn:uuid:4e61cf6c-ffbe-45bc-893f-afe7ad4079dc",
  "type": "SessionEvent",
  "actor": {
    "id": "https://example.edu",
    "type": "SoftwareApplication"
  },
  "action": "TimedOut",
  "object": {
    "id": "https://example.edu/sessions/7d6b88adf746f0692e2e873308b78c60fb13a864",
    "type": "Session",
    "user": {
      "id": "https://example.edu/users/112233",
      "type": "Person"
    },
    "dateCreated": "2018-11-15T10:15:00.000Z",
    "startedAtTime": "2018-11-15T10:15:00.000Z",
    "endedAtTime": "2018-11-15T11:15:00.000Z",
    "duration": "PT3600S"
  },
  "eventTime": "2018-11-15T11:15:00.000Z",
  "edApp": "https://example.edu"
}
B.13 ThreadEvent
ThreadEvent MarkedAsRead image

Caliper ThreadEventForum의 스레드 또는 주제와 상호작용하는 액터를 모델링한다.

IRI

http://purl.imsglobal.org/caliper/ThreadEvent

상위유형

Event

지원하는 Actor

Person

지원하는 Action

MarkedAsRead, MarkedAsUnRead

지원하는 Object

Thread

속성

ThreadEvent는 상위유형 Event에 정의된 모든 속성을 상속받는다. 추가 요구사항은 다음과 같다.

속성 유형 상세 적합성
id UUID 방출 어플리케이션은 반드시 UUIDEvent를 제공해야 하며[MUST], 이때 UUID는 Ver.4를 준수하는게 좋다[SHOULD]. UUID는 반드시 RFC 4122에 따라 urn:uuid:<UUID> 형식을 사용하여 URN으로 기술해야 한다[MUST]. 필수
type Term 문자열 값은 반드시 ThreadEvent Term 으로 설정해야 한다[MUST]. 필수
actor Person | IRI action을 시작한 Person. actor 값은 반드시 객체 또는 액터의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 필수
action Term actor 또는 주어를 object에 바인딩하는 동작 또는 술어. 값의 범위는 위에 나열된 액션 용어로 제한된다. Event 당 하나의 action Term만 지정한다. 필수
object Thread | IRI 상호작용하는 object를 구성하는 Thread. object 값은 반드시 객체 또는 객체의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 필수
eventTime DateTime Event가 발생한 시점을 나타내는 ISO 8601 날짜와 시간 값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 필수
target Entity | IRI object 내의 특정 세그먼트 또는 위치를 나타내는 Entity. target 값은 반드시 객체 또는 대상 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
generated Entity | IRI 상호작용의 결과로 만들어지거나 생성된 Entity. generated 값은 반드시 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
edApp SoftwareApplication | IRI 어플리케이션 컨텐스트를 구성하는 SoftwareApplication. edApp 값은 반드시 객체 또는 edApp의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
referrer Entity | IRI 참조하는 컨텍스트를 나타내는 Entity. SoftwareApplication 또는 DigitalResource 일반적으로 참조 컨텍스트를 구성한다. referrer 값은 반드시 referrer의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
group Organization | IRI group 값은 반드시 객체 또는 그룹의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
membership Membership | IRI 현재 상태와 역할에 대한 actorgroup 사이의 관계. membership 값은 반드시 객체 또는 멤버십 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
session Session | IRI 현재 사용자 Session. session 값은 반드시 객체 또는 세션의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
federatedSession LtiSession | IRI EventLTI 도구를 시작하는 컨텍스트내에서 발생하면, 액터의 도구 소비자는 LtiSession을 참조할 수 있다[MAY]. federatedSession 값은 반드시 객체 또는 federatedSession의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 ThreadEvent를 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
예: ThreadEvent (marked as read)
{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "urn:uuid:6b20c5ba-301c-4e56-85a0-2f3d9a94c249",
  "type": "ThreadEvent",
  "actor": {
    "id": "https://example.edu/users/554433",
    "type": "Person"
  },
  "action": "MarkedAsRead",
  "object": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1/forums/1/topics/1",
    "type": "Thread",
    "name": "Caliper Information Model",
    "isPartOf": {
      "id": "https://example.edu/terms/201801/courses/7/sections/1/forums/1",
      "type": "Forum",
      "name": "Caliper Forum",
      "dateCreated": "2018-11-15T10:15:00.000Z"
    },
    "dateCreated": "2018-11-15T10:16:00.000Z"
  },
  "eventTime": "2018-11-15T10:16:00.000Z",
  "edApp": {
    "id": "https://example.edu/forums",
    "type": "SoftwareApplication",
    "version": "v2"
  },
  "group": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1",
    "type": "CourseSection",
    "courseNumber": "CPS 435-01",
    "academicSession": "Fall 2018"
  },
  "membership": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1/rosters/1",
    "type": "Membership",
    "member": "https://example.edu/users/554433",
    "organization": "https://example.edu/terms/201801/courses/7/sections/1",
    "roles": [ "Learner" ],
    "status": "Active",
    "dateCreated": "2018-08-01T06:00:00.000Z"
  },
  "session": {
    "id": "https://example.edu/sessions/1f6442a482de72ea6ad134943812bff564a76259",
    "type": "Session",
    "startedAtTime": "2018-11-15T10:00:00.000Z"
  }
}
B.14 ToolUseEvent
ToolUseEvent Used image

Caliper ToolUseEvent는 도구 생성자가 결정한 학습 상호 작용 방법대로 학습 도구를 사용하는 Person을 모델링한다.

IRI

http://purl.imsglobal.org/caliper/ToolUseEvent

상위유형

Event

지원하는 Actor

Person

지원하는 Action

Used

지원하는 Object

SoftwareApplication

속성

ToolUseEvent는 상위유형 Event에 정의된 모든 속성을 상속받는다. 추가 요구사항은 다음과 같다.

속성 유형 상세 적합성
id UUID 방출 어플리케이션은 반드시 UUIDEvent를 제공해야 하며[MUST], 이때 UUID는 Ver.4를 준수하는게 좋다[SHOULD]. UUID는 반드시 RFC 4122에 따라 urn:uuid:<UUID> 형식을 사용하여 URN으로 기술해야 한다[MUST]. 필수
type Term 문자열 값은 반드시 ToolUseEvent Term으로 설정해야 한다[MUST]. 필수
actor Person | IRI action을 시작한 Person. actor 값은 반드시 객체 또는 액터의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 필수
action Term actor 또는 주어를 object에 바인딩하는 동작 또는 술어. 값의 범위는 위에 나열된 액션 용어로 제한된다. Event 당 하나의 action Term만 지정한다. 필수
object SoftwareApplication | IRI 상호작용하는 object를 구성하는 SoftwareApplication. object 값은 반드시 객체 또는 객체의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 필수
eventTime DateTime Event가 발생한 시점을 나타내는 ISO 8601 날짜와 시간 값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 필수
target SoftwareApplication | IRI object가 제공하는 특정 기능이나 특징을 나타내는 SoftwareApplication. target 값은 반드시 객체 또는 대상 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
generated Entity | IRI 상호작용의 결과로 만들어지거나 생성된 Entity. generated 값은 반드시 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
edApp SoftwareApplication | IRI 어플리케이션 컨텐스트를 구성하는 SoftwareApplication. edApp 값은 반드시 객체 또는 edApp의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
referrer Entity | IRI 참조하는 컨텍스트를 나타내는 Entity. SoftwareApplication 또는 DigitalResource 일반적으로 참조 컨텍스트를 구성한다. referrer 값은 반드시 referrer의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
group Organization | IRI group 값은 반드시 객체 또는 그룹의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
membership Membership | IRI 현재 상태와 역할에 대한 actorgroup 사이의 관계. membership 값은 반드시 객체 또는 멤버십 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
session Session | IRI 현재 사용자 Session. session 값은 반드시 객체 또는 세션의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
federatedSession LtiSession | IRI EventLTI 도구를 시작하는 컨텍스트내에서 발생하면, 액터의 도구 소비자는 LtiSession을 참조할 수 있다[MAY]. federatedSession 값은 반드시 객체 또는 federatedSession의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 ToolUseEvent를 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
예: ToolUseEvent (used)
{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "urn:uuid:7e10e4f3-a0d8-4430-95bd-783ffae4d916",
  "type": "ToolUseEvent",
  "actor": {
    "id": "https://example.edu/users/554433",
    "type": "Person"
  },
  "action": "Used",
  "object": {
    "id": "https://example.edu",
    "type": "SoftwareApplication"
  },
  "eventTime": "2018-11-15T10:15:00.000Z",
  "edApp": "https://example.edu",
  "group": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1",
    "type": "CourseSection",
    "courseNumber": "CPS 435-01",
    "academicSession": "Fall 2018"
  },
  "membership": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1/rosters/1",
    "type": "Membership",
    "member": "https://example.edu/users/554433",
    "organization": "https://example.edu/terms/201801/courses/7/sections/1",
    "roles": [ "Learner" ],
    "status": "Active",
    "dateCreated": "2018-08-01T06:00:00.000Z"
  },
  "session": {
    "id": "https://example.edu/sessions/1f6442a482de72ea6ad134943812bff564a76259",
    "type": "Session",
    "startedAtTime": "2018-11-15T10:00:00.000Z"
  }
}
B.15 ViewEvent
ViewEvent Viewed image

Caliper ViewEvent는 단순히 리소스를 검색하는 것과 대조적으로 사려깊은 관찰 또는 학습을 강조할 때 액터가 디지털 콘텐츠를 조사하는 것을 나타낸다.

IRI

http://purl.imsglobal.org/caliper/ViewEvent

상위유형

Event

지원하는 Actor

Person

지원하는 Action

Viewed

지원하는 Object

DigitalResource

지원하는 대상 Entity

Frame

속성

ViewEvent는 상위유형 Event에 정의된 모든 속성을 상속받는다. 추가 요구사항은 다음과 같다.

속성 유형 상세 적합성
id UUID 방출 어플리케이션은 반드시 UUIDEvent를 제공해야 하며[MUST], 이때 UUID는 Ver.4를 준수하는게 좋다[SHOULD]. UUID는 반드시 RFC 4122에 따라 urn:uuid:<UUID> 형식을 사용하여 URN으로 기술해야 한다[MUST]. 필수
type Term 문자열 값은 반드시 ViewEvent Term으로 설정해야 한다[MUST].  
actor Person | IRI action을 시작한 Person. actor 값은 반드시 객체 또는 액터의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 필수
action Term actor 또는 주어를 object에 바인딩하는 동작 또는 술어. 값의 범위는 위에 나열된 액션 용어로 제한된다. Event 당 하나의 action Term만 지정한다. 필수
object DigitalResource | IRI 상호작용하는 object를 구성하는 DigitalResource. object 값은 반드시 객체 또는 객체의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 필수
eventTime DateTime Event가 발생한 시점을 나타내는 ISO 8601 날짜와 시간 값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 필수
target Frame | IRI object 내의 특정 세그먼트 또는 위치를 나타내는 Frame. target 값은 반드시 객체 또는 대상 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
generated Entity | IRI 상호작용의 결과로 만들어지거나 생성된 Entity. generated 값은 반드시 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
edApp SoftwareApplication | IRI 어플리케이션 컨텐스트를 구성하는 SoftwareApplication. edApp 값은 반드시 객체 또는 edApp의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
referrer Entity | IRI 참조하는 컨텍스트를 나타내는 Entity. SoftwareApplication 또는 DigitalResource 일반적으로 참조 컨텍스트를 구성한다. referrer 값은 반드시 referrer의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
group Organization | IRI group 값은 반드시 객체 또는 그룹의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
membership Membership | IRI 현재 상태와 역할에 대한 actorgroup 사이의 관계. membership 값은 반드시 객체 또는 멤버십 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
session Session | IRI 현재 사용자 Session. session 값은 반드시 객체 또는 세션의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
federatedSession LtiSession | IRI EventLTI 도구를 시작하는 컨텍스트내에서 발생하면, 액터의 도구 소비자는 LtiSession을 참조할 수 있다[MAY]. federatedSession 값은 반드시 객체 또는 federatedSession의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 ViewEvent를 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
예 ViewEvent (viewed)
{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "urn:uuid:cd088ca7-c044-405c-bb41-0b2a8506f907",
  "type": "ViewEvent",
  "actor": {
    "id": "https://example.edu/users/554433",
    "type": "Person"
  },
  "action": "Viewed",
  "object": {
    "id": "https://example.edu/etexts/201.epub",
    "type": "Document",
    "name": "IMS Caliper Implementation Guide",
    "dateCreated": "2018-08-01T06:00:00.000Z",
    "datePublished": "2018-10-01T06:00:00.000Z",
    "version": "1.1"
  },
  "eventTime": "2018-11-15T10:15:00.000Z",
  "edApp": "https://example.edu",
  "group": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1",
    "type": "CourseSection",
    "courseNumber": "CPS 435-01",
    "academicSession": "Fall 2018"
  },
  "membership": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1/rosters/1",
    "type": "Membership",
    "member": "https://example.edu/users/554433",
    "organization": "https://example.edu/terms/201801/courses/7/sections/1",
    "roles": [ "Learner" ],
    "status": "Active",
    "dateCreated": "2018-08-01T06:00:00.000Z"
  },
  "session": {
    "id": "https://example.edu/sessions/1f6442a482de72ea6ad134943812bff564a76259",
    "type": "Session",
    "startedAtTime": "2018-11-15T10:00:00.000Z"
  }
}

부속서 C. Entity Subtypes

C.1 Agent

Caliper Agent 액션을 시작하거나 수행할 수 있는 Entity를 나타내는 일반 유형이다.

Agent는 서술하고자 하는 대상에 해당하는 유효한 하위유형이 존재하지 않을 경우에만 사용한다.

IRI

http://purl.imsglobal.org/caliper/Agent

상위유형

Entity

속성

Agent는 상위유형 Entity에 정의된 모든 속성을 상속받는다. 추가 요구사항은 다음과 같다.

속성 유형 상세 적합성
id IRI 반드시 유효한 IRI를 명시해야한다[MUST]. IRI는 반드시 고유하고 영구적이어야 한다[MUST]. 또한, 역참조할 수 있는 게 좋다[SHOULD]. 즉, 리소스의 접근 권한을 반환할 수 있어야 한다. URN 스키마를 사용하는 URI링크드 데이터에 적합한 HTTP URI를 사용하는 게 불가능하거나 부적절한 경우에 제공할 수 있다[MAY]. 필수
type Term 문자열 값은 반드시 Agent Term으로 설정해야 한다[MUST]. 필수
name string Agent를 알려진 단어 또는 구로 구성한 문자열 값.. 선택
description string Agent에 대해 간략한 표현으로 구성한 문자열 값. 선택
dateCreated DateTime Agent가 생성된 시점을 나타내는 ISO 8601 날짜와 시간 값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateModified DateTime Agent가 마지막으로 변경되거나 업데이트된 시점을 나타내는 ISO 8601 날짜와 시간 값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 Agent를 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
하위유형

Organization, Person, SoftwareApplication

{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "https://example.edu/agents/99999",
  "type": "Agent",
  "dateCreated": "2018-08-01T06:00:00.000Z",
  "dateModified": "2018-09-02T11:30:00.000Z"
}
C.2 Annotation

Caliper AnnotationDigitalResource에 연결된 조언, 상세, 강조, 표시, 메모, 질문, 태그를 나타내는 일반 유형이다. DigitalResource를 다른 사람과 공유하는 것도 주석의 한 형태이다.

Annotation은 서술하고자 하는 대상에 해당하는 유효한 하위유형이 존재하지 않을 경우에만 사용한다.

IRI

http://purl.imsglobal.org/caliper/Annotation

상위유형

Entity

속성

Annotation은 상위유형 Entity에 정의된 모든 속성을 상속받는다. 추가 속성과 요구사항은 다음과 같다.

속성 유형 상세 적합성
id IRI 반드시 유효한 IRI를 명시해야한다[MUST]. IRI는 반드시 고유하고 영구적이어야 한다[MUST]. 또한, 역참조할 수 있는 게 좋다[SHOULD]. 즉, 리소스의 접근 권한을 반환할 수 있어야 한다. URN 스키마를 사용하는 URI링크드 데이터에 적합한 HTTP URI를 사용하는 게 불가능하거나 부적절한 경우에 제공할 수 있다[MAY]. 필수
type Term 문자열 값은 반드시 Annotation Term으로 설정해야 한다[MUST]. 필수
name string Annotation를 알려진 단어 또는 구로 구성한 문자열 값. 선택
description string Annotation에 대해 간략한 표현으로 구성한 문자열 값. 선택
annotator Person | IRI Annotation을 생성하는 Person. annotator 값은 반드시 객체 또는 annotator의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
annotated DigitalResource | IRI annotator에 의해 주석이 생성된 DigitalResource. annotated 값은 객체 또는 주석이 생성된 리소스의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
dateCreated DateTime Annotation가 생성된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateModified DateTime Annotation가 마지막으로 변경되거나 업데이트된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 Annotation을 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
하위유형

BookmarkAnnotation, HighlightAnnotation, SharedAnnotation, TagAnnotation

{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "https://example.com/users/554433/texts/imscaliperimplguide/annotations/1",
  "type": "Annotation",
  "annotator": {
    "id": "https://example.edu/users/554433",
    "type": "Person"
  },
  "annotated": {
    "id": "https://example.com/#/texts/imscaliperimplguide/cfi/6/10!/4/2/2/2@0:0",
    "type": "Page"
  },
  "dateCreated": "2018-08-01T06:00:00.000Z"
}
C.3 Assessment

Caliper Assessment는 테스트나 퀴즈와 같은 평가 도구를 나타낸다.

IRI

http://purl.imsglobal.org/caliper/Assessment

상위유형

DigitalResourceCollection, AssignableDigitalResource

속성

Assessment는 상위유형 DigitalResourceCollectionAssignableDigitalResource에 정의된 모든 속성과 요구사항을 상속받는다. 추가 요구사항은 다음과 같다.

속성 유형 상세 적합성
id IRI 반드시 유효한 IRI를 명시해야한다[MUST]. IRI는 반드시 고유하고 영구적이어야 한다[MUST]. 또한, 역참조할 수 있는 게 좋다[SHOULD]. 즉, 리소스의 접근 권한을 반환할 수 있어야 한다. URN 스키마를 사용하는 URI링크드 데이터에 적합한 HTTP URI를 사용하는 게 불가능하거나 부적절한 경우에 제공할 수 있다[MAY]. 필수
type Term 문자열 값은 반드시 Assessment Term으로 설정해야 한다[MUST]. 필수
name string Assessment를 알려진 단어 또는 구로 구성한 문자열 값. 선택
description string Assessment에 대해 간략한 표현으로 구성한 문자열 값. 선택
creators Array Assessment를 만들어낸 Agent 엔터티를 정렬한 집합(일반적으로 Person 유형). 각 배열의 항목은 반드시 객체 또는 항목의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
mediaType string Assessment의 파일 형식을 식별하는 IANA에서 승인된 미디어 유형과 하위유형 목록에서 가져온 문자열 값. 선택
keywords Array Assessment를 식별하는데 사용되는 태그나 라벨을 나타내는 하나 이상의 문자열 값을 정렬한 집합. 선택
learningObjectives Array 학습자가 Assessment를 활용한 후에, 학습자가 이해하거나 달성할 것으로 예상되는 것을 설명하는 하나 이상의 LearningObjective 엔터티를 정렬한 집합. 각 배열의 항목은 반드시 객체 또는 항목의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
isPartOf Entity | IRI Assessment를 전체적으로 포함하거나 일부 포함하는 관련 Entity. isPartOf 값은 반드시 객체 또는 관련 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
items Array AssessmentItem 엔터티를 정렬한 집합. 각 배열의 항목은 반드시 객체 또는 항목의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
dateCreated DateTime Assessment가 생성된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateModified DateTime Assessment가 마지막으로 변경되거나 업데이트된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
datePublished DateTime Assessment가 공개된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateToActivate DateTime Assessment가 활성화된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateToShow DateTime Assessment가 학습자에게 보여지거나 가능하게 된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateToStartOn DateTime Assessment가 시작될 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateToSubmit DateTime Assessment가 평가를 위해 제출된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
maxAttempts integer 허용된 시도 횟수를 나타내는 음이 아닌 정수. 선택
maxSubmits integer 허용된 제출 횟수를 나타내는 음이 아닌 정수. 선택
maxScore decimal 허용된 최대 점수를 나타내는 소수점 구분 기호로 표시된 소수 부분이 있는 숫자. 선택
version string Assessment의 현재 양식이나 버전을 나타내는 문자열 값. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 Assessment를 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
제거대상 속성

다음 Assessment 속성은 제거대상이므로 사용해서는 안된다[MUST NOT]. 해당 속성은 향후 버전의 Caliper에서 제거될 것이다.

속성 유형 상세 적합성
objectType string DigitalResource의 유형을 지정하는 문자열 값. 선택
alignedLearningObjective Array 학습자가 DigitalResource를 활용한 후에, 학습자가 이해하거나 달성할 것으로 예상되는 것을 설명하는 하나 이상의 LearningObjective 엔터티를 정렬한 집합. alignedLearningObjective는 제거대상이므로 learningObjectives로 대체한다. 선택
{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "https://example.edu/terms/201801/courses/7/sections/1/assess/1",
  "type": "Assessment",
  "name": "Quiz One",
  "items": [
    {
      "id": "https://example.edu/terms/201801/courses/7/sections/1/assess/1/items/1",
      "type": "AssessmentItem"
    },
    {
      "id": "https://example.edu/terms/201801/courses/7/sections/1/assess/1/items/2",
      "type": "AssessmentItem"
    },
    {
      "id": "https://example.edu/terms/201801/courses/7/sections/1/assess/1/items/3",
      "type": "AssessmentItem"
    }
  ],
  "dateCreated": "2018-08-01T06:00:00.000Z",
  "dateModified": "2018-09-02T11:30:00.000Z",
  "datePublished": "2018-08-15T09:30:00.000Z",
  "dateToActivate": "2018-08-16T05:00:00.000Z",
  "dateToShow": "2018-08-16T05:00:00.000Z",
  "dateToStartOn": "2018-08-16T05:00:00.000Z",
  "dateToSubmit": "2018-09-28T11:59:59.000Z",
  "maxAttempts": 2,
  "maxScore": 15.0,
  "maxSubmits": 2,
  "version": "1.0"
}
C.4 AssessmentItem

Caliper AssessmentItem은 하나의 문제를 나타낸다.

IRI

http://purl.imsglobal.org/caliper/AssessmentItem

상위유형

AssignableDigitalResource

속성

AssessmentItem은 상위유형 AssignableDigitalResource에 정의된 모든 속성과 요구사항을 상속받는다. 추가 요구사항은 다음과 같다.

속성 유형 상세 적합성
id IRI 반드시 유효한 IRI를 명시해야한다[MUST]. IRI는 반드시 고유하고 영구적이어야 한다[MUST]. 또한, 역참조할 수 있는 게 좋다[SHOULD]. 즉, 리소스의 접근 권한을 반환할 수 있어야 한다. URN 스키마를 사용하는 URI링크드 데이터에 적합한 HTTP URI를 사용하는 게 불가능하거나 부적절한 경우에 제공할 수 있다[MAY]. 필수
type Term 문자열 값은 반드시 AssessmentItem Term으로 설정해야 한다[MUST]. 필수
name string AssessmentItem을 알려진 단어 또는 구로 구성한 문자열 값. 선택
description string AssessmentItem에 대해 간략한 표현으로 구성한 문자열 값. 선택
creators Array AssessmentItem을 만들어낸 Agent 엔터티(일반적으로 Person 유형). 각 배열의 항목은 반드시 객체 또는 항목의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
mediaType string AssessmentItem의 파일 형식을 식별하는 IANA에서 승인된 미디어 유형과 하위유형 목록에서 가져온 문자열 값. 선택
keywords Array AssessmentItem을 식별하는데 사용되는 태그나 라벨을 나타내는 하나 이상의 문자열 값을 정렬한 집합. 선택
learningObjectives Array 학습자가 AssessmentItem을 활용한 후에, 학습자가 이해하거나 달성할 것으로 예상되는 것을 설명하는 하나 이상의 LearningObjective 엔터티를 정렬한 집합. 각 배열의 항목은 반드시 객체 또는 항목의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
isTimeDependent Boolean 항목과 상호작용하는지 여부를 나타내는 boolean 값. 선택
isPartOf Entity | IRI AssessmentItem을 전체적으로 포함하거나 일부 포함하는 관련 Entity(일반적으로 Assessment). isPartOf 값은 반드시 객체 또는 관련 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
dateCreated DateTime AssessmentItem이 생성된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateModified DateTime AssessmentItem이 마지막으로 변경되거나 업데이트된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
datePublished DateTime AssessmentItem이 공개된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateToActivate DateTime AssessmentItem이 활성화된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateToShow DateTime AssessmentItem이 학습자에게 보여지거나 가능하게 된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateToStartOn DateTime AssessmentItem이 시작될 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateToSubmit DateTime AssessmentItem이 평가를 위해 제출된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
maxAttempts integer 허용된 시도 횟수를 나타내는 음이 아닌 정수. 선택
maxSubmits integer 허용된 제출 횟수를 나타내는 음이 아닌 정수. 선택
maxScore decimal 허용된 최대 점수를 나타내는 소수점 구분 기호로 표시된 소수 부분이 있는 숫자. 선택
version string AssessmentItem의 현재 양식이나 버전을 나타내는 문자열 값. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 AssessmentItem를 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
제거대상 속성

다음 AssessmentItem 속성은 제거대상이므로 사용해서는 안된다[MUST NOT]. 해당 속성은 향후 버전의 Caliper에서 제거될 것이다.

속성 유형 상세 적합성
objectType string DigitalResource의 유형을 지정하는 문자열 값. 선택
alignedLearningObjective Array 학습자가 DigitalResource를 활용한 후에, 학습자가 이해하거나 달성할 것으로 예상되는 것을 설명하는 하나 이상의 LearningObjective 엔터티를 정렬한 집합. alignedLearningObjective는 제거대상이므로 learningObjectives로 대체한다. 선택
{
*  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "https://example.edu/terms/201801/courses/7/sections/1/assess/1/items/3",
  "type": "AssessmentItem",
  "isPartOf": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1/assess/1",
    "type": "Assessment"
  },
  "dateCreated": "2018-08-01T06:00:00.000Z",
  "datePublished": "2018-08-15T09:30:00.000Z",
  "isTimeDependent": false,
  "maxScore": 1.0,
  "maxSubmits": 2,
  "extensions": {
    "questionType": "Dichotomous",
    "questionText": "Is Caliper SoftwareApplication a subtype of Caliper Agent?",
    "correctResponse": "yes"
  }
}
C.5 AssignableDigitalResource

Caliper AssignableDigitalResource는 등급이 지정되거나 지정되지 않은 과제와 관련된 디지털 콘텐츠를 나타내는 일반 유형이다.

AssignableDigitalResource는 서술하고자 하는 대상에 해당하는 유효한 하위유형이 존재하지 않을 경우에만 사용한다.

IRI

http://purl.imsglobal.org/caliper/AssignableDigitalResource

상위유형

DigitalResource

속성

AssignableDigitalResource는 상위유형 DigitalResource에 정의된 모든 속성과 요구사항을 상속받는다. 추가 속성과 요구사항은 다음과 같다.

속성 유형 상세 적합성
id IRI 반드시 유효한 IRI를 명시해야한다[MUST]. IRI는 반드시 고유하고 영구적이어야 한다[MUST]. 또한, 역참조할 수 있는 게 좋다[SHOULD]. 즉, 리소스의 접근 권한을 반환할 수 있어야 한다. URN 스키마를 사용하는 URI링크드 데이터에 적합한 HTTP URI를 사용하는 게 불가능하거나 부적절한 경우에 제공할 수 있다[MAY]. 필수
type Term 문자열 값은 반드시 AssignableDigitalResource Term으로 설정해야 한다[MUST]. 필수
name string AssignableDigitalResource를 알려진 단어 또는 구로 구성한 문자열 값. 선택
description string AssignableDigitalResource에 대해 간략한 표현으로 구성한 문자열 값. 선택
creators Array AssignableDigitalResource를 만들어낸 Agent 엔터티(일반적으로 Person)를 정렬한 집합. 각 배열의 항목은 반드시 객체 또는 항목의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
mediaType string AssignableDigitalResource의 파일 형식을 식별하는 IANA에서 승인된 미디어 유형과 하위유형 목록에서 가져온 문자열 값. 선택
keywords Array AssignableDigitalResource를 식별하는데 사용되는 태그나 라벨을 나타내는 하나 이상의 문자열 값을 정렬한 집합. 선택
learningObjectives Array 학습자가 AssignableDigitalResource를 활용한 후에, 학습자가 이해하거나 달성할 것으로 예상되는 것을 설명하는 하나 이상의 LearningObjective 엔터티를 정렬한 집합. 각 배열의 항목은 반드시 객체 또는 항목의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
isPartOf Entity | IRI AssignableDigitalResource를 전체적으로 포함하거나 일부 포함하는 관련 Entity. isPartOf 값은 반드시 객체 또는 관련 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
dateCreated DateTime AssignableDigitalResource가 생성된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateModified DateTime 리소스가 마지막으로 변경되거나 업데이트된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
datePublished DateTime 리소스가 공개된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateToActivate DateTime 리소스가 활성화된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateToShow DateTime 리소스가 학습자에게 보여지거나 가능하게 된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateToStartOn DateTime 리소스가 시작될 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateToSubmit DateTime 리소스가 평가를 위해 제출된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
maxAttempts integer 허용된 시도 횟수를 나타내는 음이 아닌 정수. 선택
maxSubmits integer 허용된 제출 횟수를 나타내는 음이 아닌 정수. 선택
maxScore decimal 허용된 최대 점수를 나타내는 소수점 구분 기호로 표시된 소수 부분이 있는 숫자. 선택
version string AssignableDigitalResource의 현재 양식이나 버전을 나타내는 문자열 값. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 AssignableDigitalResource를 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
제거대상 속성

다음 AssignableDigitalResource 속성은 제거대상이므로 사용해서는 안된다[MUST NOT]. 해당 속성은 향후 버전의 Caliper에서 제거될 것이다.

속성 유형 상세 적합성
objectType string DigitalResource의 유형을 지정하는 문자열 값. 선택
alignedLearningObjective Array 학습자가 DigitalResource를 활용한 후에, 학습자가 이해하거나 달성할 것으로 예상되는 것을 설명하는 하나 이상의 LearningObjective 엔터티를 정렬한 집합. alignedLearningObjective는 제거대상이므로 learningObjectives로 대체한다. 선택
하위유형

Assessment, AssessmentItem

{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "https://example.edu/terms/201801/courses/7/sections/1/assign/2",
  "type": "AssignableDigitalResource",
  "name": "Week 9 Reflection",
  "description": "3-5 page reflection on this week's assigned readings.",
  "dateCreated": "2018-11-01T06:00:00.000Z",
  "dateToActivate": "2018-11-10T11:59:59.000Z",
  "dateToShow": "2018-11-10T11:59:59.000Z",
  "dateToStartOn": "2018-11-10T11:59:59.000Z",
  "dateToSubmit": "2018-11-14T11:59:59.000Z",
  "maxAttempts": 2,
  "maxSubmits": 2,
  "maxScore": 50.0
}
C.6 Attempt

Caliper Attempt는 시작시간, 종료시간, 지속시간 정보와 함께 액터가 AssignableDigitalResource와 상호작용한 횟수를 나타낸다. AttemptAssessment의 시작과 같은 액션으로부터 생성된다.

IRI

http://purl.imsglobal.org/caliper/Attempt

상위유형

Entity

속성

Attempt는 상위유형 Entity에 정의된 모든 속성과 요구사항을 상속받는다. 추가 속성과 요구사항은 다음과 같다.

속성 유형 상세 적합성
id IRI 반드시 유효한 IRI를 명시해야한다[MUST]. IRI는 반드시 고유하고 영구적이어야 한다[MUST]. 또한, 역참조할 수 있는 게 좋다[SHOULD]. 즉, 리소스의 접근 권한을 반환할 수 있어야 한다. URN 스키마를 사용하는 URI링크드 데이터에 적합한 HTTP URI를 사용하는 게 불가능하거나 부적절한 경우에 제공할 수 있다[MAY]. 필수
type Term 문자열 값은 반드시 Attempt Term으로 설정해야 한다[MUST]. 필수
name string Attempt를 알려진 단어 또는 구로 구성한 문자열 값. 선택
description string Attempt에 대해 간략한 표현으로 구성한 문자열 값. 선택
assignee Person | IRI Attempt를 생성하는 Person. assignee 값은 반드시 객체 또는 assignee의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
assignable DigitalResource | IRI 과제의 대상이 되는 DigitalResource. assignable 값은 반드시 객체 또는 할당된 리소스의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
isPartOf Attempt | IRI 부모 Attempt(존재하는 경우). isPartOf 값은 반드시 객체 또는 관련 attempt의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
count integer 할당된 DigitalResource에 대해 등록된 현재 시도를 포함한 총 횟수. 선택
dateCreated DateTime Attempt가 생성된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateModified DateTime Attempt가 마지막으로 변경되거나 업데이트된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
startedAtTime DateTime Attempt가 시작될 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
endedAtTime DateTime Attempt가 완료되고 종료된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
duration Duration Attempt를 완료하는 데 걸리는 시간을 나타내는 시간 간격. 이 값은 반드시 ISO 8601 기간 형식으로 표현해야 한다[MUST]. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 Attempt를 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
제거대상 속성

다음 Attempt 속성은 제거대상이므로 사용해서는 안된다[MUST NOT]. 해당 속성은 향후 버전의 Caliper에서 제거될 것이다.

속성 유형 상세 적합성
actor Person Attempt를 생성하는 Person. actor는 제거대상이므로 assignee로 대체한다. 선택
{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "https://example.edu/terms/201801/courses/7/sections/1/assess/1/users/554433/attempts/1",
  "type": "Attempt",
  "assignable": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1/assess/1",
    "type": "Assessment"
  },
  "assignee": {
    "id": "https://example.edu/users/554433",
    "type": "Person"
  },
  "count": 1,
  "dateCreated": "2018-11-15T10:05:00.000Z",
  "startedAtTime": "2018-11-15T10:05:00.000Z",
  "endedAtTime": "2018-11-15T10:55:30.000Z",
  "duration": "PT50M30S"
}
C.7 AudioObject

Caliper AudioObject는 오디오나 사운드 파일을 나타낸다.

IRI

http://purl.imsglobal.org/caliper/AudioObject

상위유형

MediaObject

속성

AudioObject는 상위유형 MediaObject에 정의된 모든 속성과 요구사항을 상속받는다. 추가 속성은 다음과 같다.

속성 유형 상세 적합성
id IRI 반드시 유효한 IRI를 명시해야한다[MUST]. IRI는 반드시 고유하고 영구적이어야 한다[MUST]. 또한, 역참조할 수 있는 게 좋다[SHOULD]. 즉, 리소스의 접근 권한을 반환할 수 있어야 한다. URN 스키마를 사용하는 URI링크드 데이터에 적합한 HTTP URI를 사용하는 게 불가능하거나 부적절한 경우에 제공할 수 있다[MAY]. 필수
type Term 문자열 값은 반드시 AudioObject Term으로 설정해야 한다[MUST]. 필수
name string AudioObject를 알려진 단어 또는 구로 구성한 문자열 값. 선택
description string AudioObject에 대해 간략한 표현으로 구성한 문자열 값. 선택
creators Array AudioObject를 만들어낸 Agent 엔터티를 정렬한 집합(일반적으로 Person 유형). 각 배열의 항목은 반드시 객체 또는 항목의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
mediaType string AudioObject의 파일 형식을 식별하는 IANA에서 승인된 미디어 유형과 하위유형 목록에서 가져온 문자열 값. 선택
keywords Array AudioObject를 식별하는데 사용되는 태그나 라벨을 나타내는 하나 이상의 문자열 값을 정렬한 집합. 선택
learningObjectives Array 학습자가 AudioObject를 활용한 후에, 학습자가 이해하거나 달성할 것으로 예상되는 것을 설명하는 하나 이상의 LearningObjective 엔터티를 정렬한 집합. 각 배열의 항목은 반드시 객체 또는 항목의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
isPartOf Entity | IRI AudioObject를 전체적으로 포함하거나 일부 포함하는 관련 Entity. isPartOf 값은 반드시 객체 또는 관련 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
volumeLevel string 현재 볼륨 단계를 나타내는 문자열 값. 선택
volumeMin string 최소 볼륨 단계를 나타내는 문자열 값. 선택
volumeMax string 최대 볼륨 단계를 나타내는 문자열 값. 선택
muted Boolean 오디오 객체의 음소거 여부를 나타내는 boolean 값 선택
duration Duration AudioObject를 일반 속도로 보거나 듣는데 필요한 총 시간을 나타내는 값 . 이 값은 반드시 ISO 8601 기간 형식으로 표현해야 한다[MUST]. 선택
dateCreated DateTime AudioObject가 생성된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateModified DateTime AudioObject가 마지막으로 변경되거나 업데이트된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
datePublished DateTime AudioObject가 공개된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
version string AudioObject의 현재 양식이나 버전을 나타내는 문자열 값. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 AudioObject를 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
제거대상 속성

다음 AudioObject 속성은 제거대상이므로 사용해서는 안된다[MUST NOT]. 해당 속성은 향후 버전의 Caliper에서 제거될 것이다.

속성 유형 상세 적합성
objectType string DigitalResource의 유형을 지정하는 문자열 값. 선택
alignedLearningObjective Array 학습자가 DigitalResource를 활용한 후에, 학습자가 이해하거나 달성할 것으로 예상되는 것을 설명하는 하나 이상의 LearningObjective 엔터티를 정렬한 집합. alignedLearningObjective는 제거대상이므로 learningObjectives로 대체한다. 선택
{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "https://example.edu/audio/765",
  "type": "AudioObject",
  "name": "Audio Recording: IMS Caliper Sensor API Q&A.",
  "mediaType": "audio/ogg",
  "datePublished": "2018-12-01T06:00:00.000Z",
  "duration": "PT55M13S"
}
C.8 BookmarkAnnotation

Caliper BookmarkAnnotation은 특정 위치에 DigitalResource를 표시하는 활동을 나타낸다.

IRI

http://purl.imsglobal.org/caliper/BookmarkAnnotation

상위유형

Annotation

속성

BookmarkAnnotation은 상위유형 Annotation에 정의된 모든 속성과 요구사항을 상속받는다. 추가 속성과 요구사항은 다음과 같다.

속성 유형 상세 적합성
id IRI 반드시 유효한 IRI를 명시해야한다[MUST]. IRI는 반드시 고유하고 영구적이어야 한다[MUST]. 또한, 역참조할 수 있는 게 좋다[SHOULD]. 즉, 리소스의 접근 권한을 반환할 수 있어야 한다. URN 스키마를 사용하는 URI링크드 데이터에 적합한 HTTP URI를 사용하는 게 불가능하거나 부적절한 경우에 제공할 수 있다[MAY]. 필수
type Term 문자열 값은 반드시 BookmarkAnnotation Term으로 설정해야 한다[MUST]. 필수
name string BookmarkAnnotation을 알려진 단어 또는 구로 구성한 문자열 값. 선택
description string BookmarkAnnotation의 간략한 표현으로 구성한 문자열 값 선택
annotator Person | IRI BookmarkAnnotation을 생성한 Person. annotator 값은 반드시 객체 또는 annotator의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
annotated DigitalResource | IRI annotator에 의해 주석이 생성된 DigitalResource. annotated 값은 객체 또는 주석이 생성된 리소스의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
bookmarkNotes string 북마크에 포함되는 메모의 일반 텍스트 렌더링을 구성하는 문자열 값. 선택
dateCreated DateTime BookmarkAnnotation이 생성된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateModified DateTime BookmarkAnnotation이 마지막으로 변경되거나 업데이트된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 BookmarkAnnotation를 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "https://example.com/users/554433/texts/imscaliperimplguide/bookmarks/1",
  "type": "BookmarkAnnotation",
  "annotator": {
    "id": "https://example.edu/users/554433",
    "type": "Person"
  },
  "annotated": {
    "id": "https://example.com/#/texts/imscaliperimplguide/cfi/6/10!/4/2/2/2@0:0",
    "type": "Page"
  },
  "bookmarkNotes": "Caliper profiles model discrete learning activities or supporting activities that facilitate learning.",
  "dateCreated": "2018-08-01T06:00:00.000Z"
}
C.9 Chapter

Caliper Chapter는 디지털 콘텐츠의 주요 세부 분류를 나타낸다.

IRI

http://purl.imsglobal.org/caliper/Chapter

상위유형

DigitalResource

속성

Chapter는 상위유형 DigitalResource에 정의된 모든 속성과 요구사항을 상속받는다. 추가 요구사항은 다음과 같다.

속성 유형 상세 적합성
id IRI 반드시 유효한 IRI를 명시해야한다[MUST]. IRI는 반드시 고유하고 영구적이어야 한다[MUST]. 또한, 역참조할 수 있는 게 좋다[SHOULD]. 즉, 리소스의 접근 권한을 반환할 수 있어야 한다. URN 스키마를 사용하는 URI링크드 데이터에 적합한 HTTP URI를 사용하는 게 불가능하거나 부적절한 경우에 제공할 수 있다[MAY]. 필수
type Term 문자열 값은 반드시 Chapter Term으로 설정해야 한다[MUST]. 필수
name string Chapter를 알려진 단어 또는 구로 구성한 문자열 값. 선택
description string Chapter에 대해 간략한 표현으로 구성한 문자열 값. 선택
creators Array Chapter를 만들어 낸 Agent 엔터티를 정렬한 집합(일반적으로 Person 유형). 각 배열의 항목은 반드시 객체 또는 항목의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
mediaType string Chapter의 파일 형식을 식별하는 IANA에서 승인된 미디어 유형과 하위유형 목록에서 가져온 문자열 값. 선택
keywords Array Chapter를 식별하는데 사용되는 태그나 라벨을 나타내는 하나 이상의 문자열 값을 정렬한 집합. 선택
learningObjectives Array 학습자가 Chapter를 활용한 후에, 학습자가 이해하거나 달성할 것으로 예상되는 것을 설명하는 하나 이상의 LearningObjective 엔터티를 정렬한 집합. 각 배열의 항목은 반드시 객체 또는 항목의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
isPartOf Entity | IRI Chapter를 전체적으로 포함하거나 일부 포함하는 관련 Entity. isPartOf 값은 반드시 객체 또는 관련 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
dateCreated DateTime Chapter가 생성된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateModified DateTime Chapter가 마지막으로 변경되거나 업데이트된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
datePublished DateTime Chapter가 공개된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
version string Chapter의 현재 양식이나 버전을 나타내는 문자열 값. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 Chapter를 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
제거대상 속성

다음 Chapter 속성은 제거대상이므로 사용해서는 안된다[MUST NOT]. 해당 속성은 향후 버전의 Caliper에서 제거될 것이다.

속성 유형 상세 적합성
objectType string DigitalResource의 유형을 지정하는 문자열 값. 선택
alignedLearningObjective Array 학습자가 DigitalResource를 활용한 후에, 학습자가 이해하거나 달성할 것으로 예상되는 것을 설명하는 하나 이상의 LearningObjective 엔터티를 정렬한 집합. alignedLearningObjective는 제거대상이므로 learningObjectives로 대체한다. 선택
{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "https://example.com/#/texts/imscaliperimplguide/cfi/6/10",
  "type": "Chapter",
  "name": "The Caliper Information Model",
  "isPartOf": {
    "id": "https://example.com/#/texts/imscaliperimplguide",
    "type": "Document",
    "dateCreated": "2018-10-01T06:00:00.000Z",
    "name": "IMS Caliper Implementation Guide",
    "version": "1.1"
  }
}
C.10 CourseOffering

Caliper CourseOffering은 지정된 기간 동안의 코스 또는 유형의 발생을 나타낸다. CourseOffering은 IMS LTI 2.1 표준에서 명시된 속성의 하위 집합으로 구성되며, 이는 IMS LIS 1.0에서 도출하였다.

IRI

http://purl.imsglobal.org/caliper/CourseOffering

상위유형

Organization

속성

CourseOffering은 상위유형 Organization에 정의된 모든 속성과 요구사항을 상속받는다. 추가 속성과 요구사항은 다음과 같다.

속성 유형 상세 적합성
id IRI 반드시 유효한 IRI를 명시해야한다[MUST]. IRI는 반드시 고유하고 영구적이어야 한다[MUST]. 또한, 역참조할 수 있는 게 좋다[SHOULD]. 즉, 리소스의 접근 권한을 반환할 수 있어야 한다. URN 스키마를 사용하는 URI링크드 데이터에 적합한 HTTP URI를 사용하는 게 불가능하거나 부적절한 경우에 제공할 수 있다[MAY]. 필수
type Term 문자열 값은 반드시 CourseOffering Term으로 설정해야 한다[MUST]. 필수
courseNumber string CourseOffering에 대해 사람이 읽을 수 있는 식별자로 구성된 문자열 값. 선택
academicSession string CourseOffering이 발생하는 지정된 기간에 대해 사람이 읽을 수 있는 식별자로 구성된 문자열 값. 선택
name string CourseOffering을 알려진 단어 또는 구로 구성한 문자열 값. 선택
description string CourseOffering에 대해 간략한 표현으로 구성한 문자열 값. 선택
subOrganizationOf Organization | IRI CourseOffering의 부모 Organization. subOrganizationOf 값은 반드시 객체 또는 부모 organization의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
members Array Agent 엔터티를 정렬한 집합(일반적으로 CourseSection, Group 및/또는 Person 유형). 각 배열의 항목은 반드시 객체 또는 항목의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
dateCreated DateTime CourseOffering이 생성된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateModified DateTime CourseOffering이 마지막으로 변경되거나 업데이트된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 CourseOffering을 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
하위유형

CourseSection

{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "https://example.edu/terms/201801/courses/7",
  "type": "CourseOffering",
  "courseNumber": "CPS 435",
  "academicSession": "Fall 2018",
  "name": "CPS 435 Learning Analytics",
  "dateCreated": "2018-08-01T06:00:00.000Z",
  "dateModified": "2018-09-02T11:30:00.000Z"
}
C.11 CourseSection

Caliper CourseSection은 특정 학기, 기간 또는 기간 중에 발생하는 CourseOffering의 특정 인스턴스를 나타낸다. CourseSection은 IMS LTI 2.1 표준에서 명시된 속성의 하위 집합으로 구성되며, 이는 IMS LIS 1.0 표준에서 도출되었다.

IRI

http://purl.imsglobal.org/caliper/CourseSection

상위유형

CourseOffering

속성

CourseSection은 상위유형 CourseOffering에 정의된 모든 속성과 요구사항을 상속받는다. 추가 속성과 요구사항은 다음과 같다.

속성 유형 상세 적합성
id IRI 반드시 유효한 IRI를 명시해야한다[MUST]. IRI는 반드시 고유하고 영구적이어야 한다[MUST]. 또한, 역참조할 수 있는 게 좋다[SHOULD]. 즉, 리소스의 접근 권한을 반환할 수 있어야 한다. URN 스키마를 사용하는 URI링크드 데이터에 적합한 HTTP URI를 사용하는 게 불가능하거나 부적절한 경우에 제공할 수 있다[MAY]. 필수
type Term 문자열 값은 반드시 CourseSection Term으로 설정해야 한다[MUST]. 필수
courseNumber string CourseSection에 대해 사람이 읽을 수 있는 식별자로 구성된 문자열 값.. 선택
academicSession string CourseSection이 발생하는 지정된 기간에 대해 사람이 읽을 수 있는 식별자로 구성된 문자열 값. 선택
name string CourseSection을 알려진 단어 또는 구로 구성한 문자열 값. 선택
description string CourseSection에 대해 간략한 표현으로 구성한 문자열 값. 선택
category string “강의”, “실험실” 또는 “세미나”와 같은 섹션의 목적을 나타내는 문자열 값. 선택
subOrganizationOf Organization | IRI CourseSection의 부모 Organization. subOrganizationOf 값은 반드시 객체 또는 부모 organization의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
members Array Agent 엔터티를 정렬한 집합(일반적으로 Group 및/또는 Person 유형). 각 배열의 항목은 반드시 객체 또는 항목의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
dateCreated DateTime CourseSection이 생성된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateModified DateTime CourseSection이 마지막으로 변경되거나 업데이트된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 CourseSection를 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "https://example.edu/terms/201801/courses/7/sections/1",
  "type": "CourseSection",
  "academicSession": "Fall 2018",
  "courseNumber": "CPS 435-01",
  "name": "CPS 435 Learning Analytics, Section 01",
  "category": "seminar",
  "subOrganizationOf": {
    "id": "https://example.edu/terms/201801/courses/7",
    "type": "CourseOffering",
    "courseNumber": "CPS 435"
  },
  "dateCreated": "2018-08-01T06:00:00.000Z"
}
C.12 DigitalResource

Caliper DigitalResource는 디지털 콘텐츠를 나타내는 일반유형이다.

DigitalResource는 서술하고자 하는 대상에 해당하는 유효한 하위유형이 존재하지 않을 경우에만 사용한다.

IRI

http://purl.imsglobal.org/caliper/DigitalResource

상위유형

Entity

속성

DigitalResource는 상위유형 Entity에 정의된 모든 속성과 요구사항을 상속받는다. 추가 속성과 요구사항은 다음과 같다.

속성 유형 상세 적합성
id IRI 반드시 유효한 IRI를 명시해야한다[MUST]. IRI는 반드시 고유하고 영구적이어야 한다[MUST]. 또한, 역참조할 수 있는 게 좋다[SHOULD]. 즉, 리소스의 접근 권한을 반환할 수 있어야 한다. URN 스키마를 사용하는 URI링크드 데이터에 적합한 HTTP URI를 사용하는 게 불가능하거나 부적절한 경우에 제공할 수 있다[MAY]. 필수
type Term 문자열 값은 반드시 DigitaResource Term으로 설정해야 한다[MUST]. 필수
name string 리소스를 알려진 단어 또는 구로 구성한 문자열 값. 선택
description string 리소스에 대해 간략한 표현으로 구성한 문자열 값. 선택
creators Array 리소스를 만들어 낸 Agent 엔터티를 정렬한 집합(일반적으로 Person 유형). 각 배열의 항목은 반드시 객체 또는 항목의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
mediaType string 리소스의 파일 형식을 식별하는 IANA에서 승인된 미디어 유형과 하위유형 목록에서 가져온 문자열 값. 선택
keywords Array 리소스를 식별하는데 사용되는 태그나 라벨을 나타내는 하나 이상의 문자열 값을 정렬한 집합. 선택
learningObjectives Array 학습자가 리소스를 활용한 후에, 학습자가 이해하거나 달성할 것으로 예상되는 것을 설명하는 하나 이상의 LearningObjective 엔터티를 정렬한 집합. 각 배열의 항목은 반드시 객체 또는 항목의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
isPartOf Entity | IRI 리소스를 전체적으로 포함하거나 일부 포함하는 관련 Entity. isPartOf 값은 반드시 객체 또는 관련 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
dateCreated DateTime 리소스가 생성된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateModified DateTime 리소스가 마지막으로 변경되거나 업데이트된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
datePublished DateTime 리소스가 공개된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
version string 리소스의 현재 양식이나 버전을 나타내는 문자열 값. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 DigitalResource를 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
제거대상 속성

다음 DigitalResource 속성은 제거대상이므로 사용해서는 안된다[MUST NOT]. 해당 속성은 향후 버전의 Caliper에서 제거될 것이다.

속성 유형 상세 적합성
objectType string DigitalResource의 유형을 지정하는 문자열 값. 선택
alignedLearningObjective Array 학습자가 DigitalResource를 활용한 후에, 학습자가 이해하거나 달성할 것으로 예상되는 것을 설명하는 하나 이상의 LearningObjective 엔터티를 정렬한 집합. alignedLearningObjective는 제거대상이므로 learningObjectives로 대체한다. 선택
하위유형

AssignableDigitalResource, Chapter, DigitalResourceCollection, Document, Forum, Frame, MediaLocation, MediaObject, Message, Page, Thread, WebPage

Deprecated subtypes

EpubChapter, EpubPart, EpubSubChapter, EpubVolume, Reading

{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "https://example.edu/terms/201801/courses/7/sections/1/resources/1/syllabus.pdf",
  "type": "DigitalResource",
  "name": "Course Syllabus",
  "mediaType": "application/pdf",
  "creators": [
    {
      "id": "https://example.edu/users/223344",
      "type": "Person"
    }
  ],
  "isPartOf": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1/resources/1",
    "type": "DigitalResourceCollection",
    "name": "Course Assets",
    "isPartOf": {
      "id": "https://example.edu/terms/201801/courses/7/sections/1",
      "type": "CourseSection"
    }
  },
  "dateCreated": "2018-08-02T11:32:00.000Z"
}
C.13 DigitalResourceCollection

Caliper DigitalResourceCollectionDigitalResource 엔터티를 정렬한 집합이다.

IRI

http://purl.imsglobal.org/caliper/DigitalResourceCollection

상위유형

DigitalResource

속성

DigitalResourceCollection은 상위유형 DigitalResource에 정의된 모든 속성과 요구사항을 상속받는다. 추가 속성과 요구사항은 다음과 같다.

속성 유형 상세 적합성
id IRI 반드시 유효한 IRI를 명시해야한다[MUST]. IRI는 반드시 고유하고 영구적이어야 한다[MUST]. 또한, 역참조할 수 있는 게 좋다[SHOULD]. 즉, 리소스의 접근 권한을 반환할 수 있어야 한다. URN 스키마를 사용하는 URI링크드 데이터에 적합한 HTTP URI를 사용하는 게 불가능하거나 부적절한 경우에 제공할 수 있다[MAY]. 필수
type Term 문자열 값은 반드시 DigitaResourceCollection Term으로 설정해야 한다[MUST]. 필수
name string DigitalResourceCollection을 알려진 단어 또는 구로 구성한 문자열 값. 선택
description string DigitalResourceCollection에 대해 간략한 표현으로 구성한 문자열 값. 선택
creators Array DigitalResourceCollection을 만들어 낸 Agent 엔터티를 정렬한 집합(일반적으로 Person 유형). 각 배열의 항목은 반드시 객체 또는 항목의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
mediaType string DigitalResourceCollection의 파일 형식을 식별하는 IANA에서 승인된 미디어 유형과 하위유형 목록에서 가져온 문자열 값. 선택
keywords Array DigitalResourceCollection를 식별하는데 사용되는 태그나 라벨을 나타내는 하나 이상의 문자열 값을 정렬한 집합. 선택
learningObjectives Array 학습자가 를 활용한 후에, 학습자가 이해하거나 달성할 것으로 예상되는 것을 설명하는 하나 이상의 LearningObjective 엔터티를 정렬한 집합. DigitalResourceCollection. 각 배열의 항목은 반드시 객체 또는 항목의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
isPartOf Entity | IRI DigitalResourceCollection을 전체적으로 포함하거나 일부 포함하는 관련 Entity. isPartOf 값은 반드시 객체 또는 관련 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
items Array DigitalResource 엔터티를 정렬한 집합. 각 배열의 항목은 반드시 객체 또는 항목의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
dateCreated DateTime collection이 생성된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateModified DateTime collection이 마지막으로 변경되거나 업데이트된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
datePublished DateTime collection이 공개된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
version string DigitalResourceCollection의 현재 양식이나 버전을 나타내는 문자열 값. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 DigitalResourceCollection을 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
제거대상 속성

다음 DigitalResourceCollection 속성은 제거대상이므로 사용해서는 안된다[MUST NOT]. 해당 속성은 향후 버전의 Caliper에서 제거될 것이다.

속성 유형 상세 적합성
objectType string DigitalResource의 유형을 지정하는 문자열 값. 선택
alignedLearningObjective Array 학습자가 DigitalResource를 활용한 후에, 학습자가 이해하거나 달성할 것으로 예상되는 것을 설명하는 하나 이상의 LearningObjective 엔터티를 정렬한 집합. alignedLearningObjective는 제거대상이므로 learningObjectives로 대체한다. 선택
하위유형

Assessment, Forum, Thread

{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "https://example.edu/terms/201801/courses/7/sections/1/resources/2",
  "type": "DigitalResourceCollection",
  "name": "Video Collection",
  "keywords": ["collection", "videos"],
  "items": [
    {
      "id": "https://example.edu/videos/1225",
      "type": "VideoObject",
      "mediaType": "video/ogg",
      "name": "Introduction to IMS Caliper",
      "dateCreated": "2018-08-01T06:00:00.000Z",
      "duration": "PT1H12M27S",
      "version": "1.1"
    },
    {
      "id": "https://example.edu/videos/5629",
      "type": "VideoObject",
      "mediaType": "video/ogg",
      "name": "IMS Caliper Activity Profiles",
      "dateCreated": "2018-08-01T06:00:00.000Z",
      "duration": "PT55M13S",
      "version": "1.1.1"
    }
  ],
  "isPartOf": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1",
    "type": "CourseSection",
    "subOrganizationOf": {
      "id": "https://example.edu/terms/201801/courses/7",
      "type": "CourseOffering"
    }
  },
  "dateCreated": "2018-08-01T06:00:00.000Z",
  "dateModified": "2018-09-02T11:30:00.000Z"
}
C.14 Document

Caliper Document는 텍스트 콘텐츠를 나타낸다.

IRI

http://purl.imsglobal.org/caliper/Document

상위유형

DigitalResource

속성

Document는 상위유형 DigitalResource에 정의된 모든 속성과 요구사항을 상속받는다. 추가 속성과 요구사항은 다음과 같다.

속성 유형 상세 적합성
id IRI 반드시 유효한 IRI를 명시해야한다[MUST]. IRI는 반드시 고유하고 영구적이어야 한다[MUST]. 또한, 역참조할 수 있는 게 좋다[SHOULD]. 즉, 리소스의 접근 권한을 반환할 수 있어야 한다. URN 스키마를 사용하는 URI링크드 데이터에 적합한 HTTP URI를 사용하는 게 불가능하거나 부적절한 경우에 제공할 수 있다[MAY]. 필수
type Term 문자열 값은 반드시 Document Term으로 설정해야 한다[MUST]. 필수
name string Document를 알려진 단어 또는 구로 구성한 문자열 값. 선택
description string Document에 대해 간략한 표현으로 구성한 문자열 값. 선택
creators Array Document를 만들어 낸 Agent 엔터티를 정렬한 집합(일반적으로 Person 유형). 각 배열의 항목은 반드시 객체 또는 항목의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
mediaType string Document의 파일 형식을 식별하는 IANA에서 승인된 미디어 유형과 하위유형 목록에서 가져온 문자열 값. 선택
keywords Array Document를 식별하는데 사용되는 태그나 라벨을 나타내는 하나 이상의 문자열 값을 정렬한 집합. 선택
learningObjectives Array 학습자가 Document를 활용한 후에, 학습자가 이해하거나 달성할 것으로 예상되는 것을 설명하는 하나 이상의 LearningObjective 엔터티를 정렬한 집합. 각 배열의 항목은 반드시 객체 또는 항목의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
isPartOf Entity | IRI Document를 전체적으로 포함하거나 일부 포함하는 관련 Entity. isPartOf 값은 반드시 객체 또는 관련 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
dateCreated DateTime Document가 생성된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateModified DateTime Document가 마지막으로 변경되거나 업데이트된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
datePublished DateTime Document가 공개된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
version string Document의 현재 양식이나 버전을 나타내는 문자열 값. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 Document를 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
제거대상 속성

다음 Document 속성은 제거대상이므로 사용해서는 안된다[MUST NOT]. 해당 속성은 향후 버전의 Caliper에서 제거될 것이다.

속성 유형 상세 적합성
objectType string DigitalResource의 유형을 지정하는 문자열 값. 선택
alignedLearningObjective Array 학습자가 DigitalResource를 활용한 후에, 학습자가 이해하거나 달성할 것으로 예상되는 것을 설명하는 하나 이상의 LearningObjective 엔터티를 정렬한 집합. alignedLearningObjective는 제거대상이므로 learningObjectives로 대체한다. 선택
{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "https://example.edu/etexts/201.epub",
  "type": "Document",
  "name": "IMS Caliper Implementation Guide",
  "mediaType": "application/epub+zip",
  "creators": [
    {
      "id": "https://example.edu/people/12345",
      "type": "Person"
    },
    {
      "id": "https://example.com/staff/56789",
      "type": "Person"
    }
  ],
  "dateCreated": "2018-08-01T06:00:00.000Z",
  "datePublished": "2018-10-01T06:00:00.000Z",
  "version": "1.1"
}
C.15 EpubChapter (삭제예정)

Caliper EpubChapter는 글쓰기의 주요 구조적 부분을 나타낸다. EpubChapter는 삭제예정이며, 향후 버전에서는 제거될 것이다. 참조하지 않는게 좋다[SHOULD NOT].

IRI

http://purl.imsglobal.org/caliper/EpubChapter

상위유형

DigitalResource

속성

EpubChapter는 상위유형 DigitalResource에 정의된 모든 속성과 요구사항을 상속받는다. 추가 요구사항은 다음과 같다.

속성 유형 상세 적합성
id IRI 반드시 유효한 IRI를 명시해야한다[MUST]. IRI는 반드시 고유하고 영구적이어야 한다[MUST]. 또한, 역참조할 수 있는 게 좋다[SHOULD]. 즉, 리소스의 접근 권한을 반환할 수 있어야 한다. URN 스키마를 사용하는 URI링크드 데이터에 적합한 HTTP URI를 사용하는 게 불가능하거나 부적절한 경우에 제공할 수 있다[MAY]. 필수
type Term 문자열 값은 반드시 EpubChapter Term으로 설정해야 한다[MUST]. 필수
name string EpubChapter를 알려진 단어 또는 구로 구성한 문자열 값. 선택
description string EpubChapter에 대해 간략한 표현으로 구성한 문자열 값. 선택
creators Array EpubChapter를 만들어 낸 Agent 엔터티를 정렬한 집합(일반적으로 Person 유형). 각 배열의 항목은 반드시 객체 또는 항목의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
mediaType string EpubChapter의 파일 형식을 식별하는 IANA에서 승인된 미디어 유형과 하위유형 목록에서 가져온 문자열 값 . 선택
keywords Array EpubChapter를 식별하는데 사용되는 태그나 라벨을 나타내는 하나 이상의 문자열 값을 정렬한 집합. 선택
learningObjectives Array 학습자가 EpubChapter를 활용한 후에, 학습자가 이해하거나 달성할 것으로 예상되는 것을 설명하는 하나 이상의 LearningObjective 엔터티를 정렬한 집합. 각 배열의 항목은 반드시 객체 또는 항목의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
isPartOf Entity | IRI EpubChapter을 전체적으로 포함하거나 일부 포함하는 관련 Entity. isPartOf 값은 반드시 객체 또는 관련 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
dateCreated DateTime EpubChapter가 생성된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateModified DateTime EpubChapter가 마지막으로 변경되거나 업데이트된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
datePublished DateTime EpubChapter가 공개된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
version string EpubChapter의 현재 양식이나 버전을 나타내는 문자열 값. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 EpubChapter를 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
제거대상 속성

다음 EpubChapter 속성은 제거대상이므로 사용해서는 안된다[MUST NOT]. 해당 속성은 향후 버전의 Caliper에서 제거될 것이다.

속성 유형 상세 적합성
objectType string DigitalResource의 유형을 지정하는 문자열 값. 선택
alignedLearningObjective Array 학습자가 DigitalResource를 활용한 후에, 학습자가 이해하거나 달성할 것으로 예상되는 것을 설명하는 하나 이상의 LearningObjective 엔터티를 정렬한 집합. alignedLearningObjective는 제거대상이므로 learningObjectives로 대체한다. 선택
C.16 EpubPart (삭제예정)

Caliper EpubPart는 일반적으로 관련된 일련의 챕터를 캡슐화하는 글의 주요 구조적 구분을 나타낸다. EpubPart는 삭제예정이며, 향후 버전에서는 제거될 것이다. 참조하지 않는게 좋다[SHOULD NOT].

IRI

http://purl.imsglobal.org/caliper/EpubPart

상위유형

DigitalResource

속성

EpubPart는 상위유형 DigitalResource에 정의된 모든 속성과 요구사항을 상속받는다. 추가 요구사항은 다음과 같다.

속성 유형 상세 적합성
id IRI 반드시 유효한 IRI를 명시해야한다[MUST]. IRI는 반드시 고유하고 영구적이어야 한다[MUST]. 또한, 역참조할 수 있는 게 좋다[SHOULD]. 즉, 리소스의 접근 권한을 반환할 수 있어야 한다. URN 스키마를 사용하는 URI링크드 데이터에 적합한 HTTP URI를 사용하는 게 불가능하거나 부적절한 경우에 제공할 수 있다[MAY]. 필수
type Term 문자열 값은 반드시 EpubPart Term으로 설정해야 한다[MUST]. 필수
name string EpubPart를 알려진 단어 또는 구로 구성한 문자열 값. 선택
description string EpubPart에 대해 간략한 표현으로 구성한 문자열 값. 선택
creators Array EpubPart를 만들어 낸 Agent 엔터티를 정렬한 집합(일반적으로 Person 유형). 각 배열의 항목은 반드시 객체 또는 항목의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
mediaType string EpubPart의 파일 형식을 식별하는 IANA에서 승인된 미디어 유형과 하위유형 목록에서 가져온 문자열 값. 선택
keywords Array EpubPart를 식별하는데 사용되는 태그나 라벨을 나타내는 하나 이상의 문자열 값을 정렬한 집합. 선택
learningObjectives Array 학습자가 EpubPart를 활용한 후에, 학습자가 이해하거나 달성할 것으로 예상되는 것을 설명하는 하나 이상의 LearningObjective 엔터티를 정렬한 집합. 각 배열의 항목은 반드시 객체 또는 항목의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
isPartOf Entity | IRI EpubPart을 전체적으로 포함하거나 일부 포함하는 관련 Entity. isPartOf 값은 반드시 객체 또는 관련 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
dateCreated DateTime EpubPart가 생성된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateModified DateTime EpubPart가 마지막으로 변경되거나 업데이트된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
datePublished DateTime EpubPart가 공개된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위).. 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
version string 의 현재 양식이나 버전을 나타내는 문자열 값 EpubPart. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 EpubPart. 선택
제거대상 속성

다음 EpubPart 속성은 제거대상이므로 사용해서는 안된다[MUST NOT]. 해당 속성은 향후 버전의 Caliper에서 제거될 것이다.

속성 유형 상세 적합성
objectType string DigitalResource의 유형을 지정하는 문자열 값. 선택
alignedLearningObjective Array 학습자가 DigitalResource를 활용한 후에, 학습자가 이해하거나 달성할 것으로 예상되는 것을 설명하는 하나 이상의 LearningObjective 엔터티를 정렬한 집합. alignedLearningObjective는 제거대상이므로 learningObjectives로 대체한다. 선택
C.17 EpubSubChapter (삭제예정)

Caliper EpubSubChapterEpubChapter의 주요 하위 분류를 나타낸다. EpubSubChapter는 삭제예정이며, 향후 버전에서는 제거될 것이다. 참조하지 않는게 좋다[SHOULD NOT].

IRI

http://purl.imsglobal.org/caliper/EpubSubChapter

상위유형

DigitalResource

속성

EpubSubChapter는 상위유형 DigitalResource에 정의된 모든 속성과 요구사항을 상속받는다. 추가 요구사항은 다음과 같다.

속성 유형 상세 적합성
id IRI 반드시 유효한 IRI를 명시해야한다[MUST]. IRI는 반드시 고유하고 영구적이어야 한다[MUST]. 또한, 역참조할 수 있는 게 좋다[SHOULD]. 즉, 리소스의 접근 권한을 반환할 수 있어야 한다. URN 스키마를 사용하는 URI링크드 데이터에 적합한 HTTP URI를 사용하는 게 불가능하거나 부적절한 경우에 제공할 수 있다[MAY]. 필수
type Term 문자열 값은 반드시 EpubSubChapter Term으로 설정해야 한다[MUST]. 필수
name string EpubSubChapter를 알려진 단어 또는 구로 구성한 문자열 값. 선택
description string EpubSubChapter에 대해 간략한 표현으로 구성한 문자열 값. 선택
creators Array EpubSubChapter를 만들어 낸 Agent 엔터티를 정렬한 집합(일반적으로 Person 유형). 각 배열의 항목은 반드시 객체 또는 항목의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
mediaType string EpubSubChapter의 파일 형식을 식별하는 IANA에서 승인된 미디어 유형과 하위유형 목록에서 가져온 문자열 값. 선택
keywords Array EpubSubChapter를 식별하는데 사용되는 태그나 라벨을 나타내는 하나 이상의 문자열 값을 정렬한 집합. 선택
learningObjectives Array 학습자가 EpubSubChapter를 활용한 후에, 학습자가 이해하거나 달성할 것으로 예상되는 것을 설명하는 하나 이상의 LearningObjective 엔터티를 정렬한 집합. 각 배열의 항목은 반드시 객체 또는 항목의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
isPartOf EpubChapter | IRI EpubSubChapter를 전체적으로 포함하거나 일부 포함하는 관련 EpubChapter. isPartOf 값은 반드시 객체 또는 관련 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
dateCreated DateTime EpubSubChapter가 생성된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateModified DateTime EpubSubChapter가 마지막으로 변경되거나 업데이트된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
datePublished DateTime EpubSubChapter가 공개된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
version string EpubSubChapter의 현재 양식이나 버전을 나타내는 문자열 값. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 EpubSubChapter를 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
제거대상 속성

다음 EpubChapter 속성은 제거대상이므로 사용해서는 안된다[MUST NOT]. 해당 속성은 향후 버전의 Caliper에서 제거될 것이다.

속성 유형 상세 적합성
objectType string DigitalResource의 유형을 지정하는 문자열 값. 선택
alignedLearningObjective Array 학습자가 DigitalResource를 활용한 후에, 학습자가 이해하거나 달성할 것으로 예상되는 것을 설명하는 하나 이상의 LearningObjective 엔터티를 정렬한 집합. alignedLearningObjective는 제거대상이므로 learningObjectives로 대체한다. 선택
C.18 EpubVolume (삭제예정)

Caliper EpubVolume은 집합의 구성요소를 나타낸다. EpubVolume은 상위유형 DigitalResource에 정의된 모든 속성과 요구사항을 상속받는다. EpubVolume는 삭제예정이며, 향후 버전에서는 제거될 것이다. 참조하지 않는게 좋다[SHOULD NOT].

IRI

http://purl.imsglobal.org/caliper/EpubVolume

상위유형

DigitalResource

속성

EpubVolume은 상위유형 DigitalResource에 정의된 모든 속성과 요구사항을 상속받는다. 추가 요구사항은 다음과 같다.

속성 유형 상세 적합성
id IRI 반드시 유효한 IRI를 명시해야한다[MUST]. IRI는 반드시 고유하고 영구적이어야 한다[MUST]. 또한, 역참조할 수 있는 게 좋다[SHOULD]. 즉, 리소스의 접근 권한을 반환할 수 있어야 한다. URN 스키마를 사용하는 URI링크드 데이터에 적합한 HTTP URI를 사용하는 게 불가능하거나 부적절한 경우에 제공할 수 있다[MAY]. 필수
type Term 문자열 값은 반드시 EpubSubChapter Term으로 설정해야 한다[MUST]. 필수
name string EpubVolume을 알려진 단어 또는 구로 구성한 문자열 값. 선택
description string EpubVolume에 대해 간략한 표현으로 구성한 문자열 값. 선택
creators Array EpubVolume을 만들어 낸 Agent 엔터티를 정렬한 집합(일반적으로 Person 유형). 각 배열의 항목은 반드시 객체 또는 항목의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
mediaType string EpubVolume의 파일 형식을 식별하는 IANA에서 승인된 미디어 유형과 하위유형 목록에서 가져온 문자열 값. 선택
keywords Array EpubVolume을 식별하는데 사용되는 태그나 라벨을 나타내는 하나 이상의 문자열 값을 정렬한 집합. 선택
learningObjectives Array 학습자가 EpubVolume을 활용한 후에, 학습자가 이해하거나 달성할 것으로 예상되는 것을 설명하는 하나 이상의 LearningObjective 엔터티를 정렬한 집합. 각 배열의 항목은 반드시 객체 또는 항목의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
isPartOf Entity | IRI EpubVolume를 전체적으로 포함하거나 일부 포함하는 관련 Entity. isPartOf 값은 반드시 객체 또는 관련 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
dateCreated DateTime EpubVolume이 생성된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateModified DateTime EpubVolume이 마지막으로 변경되거나 업데이트된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
datePublished DateTime EpubVolume이 공개된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
version string EpubVolume의 현재 양식이나 버전을 나타내는 문자열 값. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 EpubVolume을 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
제거대상 속성

다음 EpubVolume 속성은 제거대상이므로 사용해서는 안된다[MUST NOT]. 해당 속성은 향후 버전의 Caliper에서 제거될 것이다.

속성 유형 상세 적합성
objectType string DigitalResource의 유형을 지정하는 문자열 값. 선택
alignedLearningObjective Array 학습자가 DigitalResource를 활용한 후에, 학습자가 이해하거나 달성할 것으로 예상되는 것을 설명하는 하나 이상의 LearningObjective 엔터티를 정렬한 집합. alignedLearningObjective는 제거대상이므로 learningObjectives로 대체한다. 선택
C.19 FillinBlankResponse

Caliper FillinBlankResponse은 응답자가 문장을 올바르게 완성하도록 하나 이상의 단어, 표현 또는 짧은 문구를 제공하는 Response의 한 유형이다.

IRI

http://purl.imsglobal.org/caliper/FillinBlankResponse

상위유형

Response

속성

FillinBlankResponse는 상위유형 Response에 정의된 모든 속성과 요구사항을 상속받는다. 추가 속성과 요구사항은 다음과 같다.

속성 유형 상세 적합성
id IRI 반드시 유효한 IRI를 명시해야한다[MUST]. IRI는 반드시 고유하고 영구적이어야 한다[MUST]. 또한, 역참조할 수 있는 게 좋다[SHOULD]. 즉, 리소스의 접근 권한을 반환할 수 있어야 한다. URN 스키마를 사용하는 URI링크드 데이터에 적합한 HTTP URI를 사용하는 게 불가능하거나 부적절한 경우에 제공할 수 있다[MAY]. 필수
type Term 문자열 값은 반드시 FillinBlankResponse Term으로 설정해야 한다[MUST]. 필수
name string FillinBlankResponse를 알려진 단어 또는 구로 구성한 문자열 값. 선택
description string FillinBlankResponse에 대해 간략한 표현으로 구성한 문자열 값. 선택
attempt Attempt | IRI 연관된 Attempt. attempt 값은 반드시 객체 또는 attempt의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 객체 표현이 제공되면, AttemptFillinBlankResponse를 생성하는 Person과 관련 AssessmentItem을 참조하는게 좋다[SHOULD]. 선택
values Array FillinBlankResponse를 구성하는 단어, 표현식, 짧은 구문을 나타내는 하나 이상의 문자열 값을 정렬한 집합. 선택
dateCreated DateTime FillinBlankResponse가 생성된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateModified DateTime FillinBlankResponse가 마지막으로 변경되거나 업데이트된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
startedAtTime DateTime FillinBlankResponse가 시작될 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
endedAtTime DateTime FillinBlankResponse가 완료되고 종료된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
duration Duration FillinBlankResponse를 완료하는 데 걸리는 시간을 나타내는 시간 간격. 이 값은 반드시 ISO 8601 기간 형식으로 표현해야 한다[MUST]. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 FillinBlankResponse를 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
제거대상 속성

다음 FillinBlankResponse 속성은 제거대상이므로 사용해서는 안된다[MUST NOT]. 해당 속성은 향후 버전의 Caliper에서 제거될 것이다.

속성 유형 상세 적합성
actor Agent Response를 생성한 Agent. actor는 제거대상이므로 attempt로 대체한다. 선택
assignable AssessmentItem Response와 관련된 AssessmentItem. assignable는 제거대상이므로 attempt로 대체한다. 선택
{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "https://example.edu/terms/201801/courses/7/sections/1/assess/1/items/1/users/554433/responses/1",
  "type": "FillinBlankResponse",
  "attempt": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1/assess/1/items/1/users/554433/attempts/1",
    "type": "Attempt",
    "assignee": {
      "id": "https://example.edu/users/554433",
      "type": "Person"
    },
    "assignable": {
      "id": "https://example.edu/terms/201801/courses/7/sections/1/assess/1/items/1",
      "type": "AssessmentItem",
      "isPartOf": {
        "id": "https://example.edu/terms/201801/courses/7/sections/1/assess/1",
        "type": "Assessment"
      }
    },
    "count": 1,
    "startedAtTime": "2018-11-15T10:15:02.000Z",
    "endedAtTime": "2018-11-15T10:15:12.000Z"
  },
  "dateCreated": "2018-11-15T10:15:12.000Z",
  "startedAtTime": "2018-11-15T10:15:02.000Z",
  "endedAtTime": "2018-11-15T10:15:12.000Z",
  "values": [ "data interoperability", "semantic interoperability" ]
}
C.20 Forum

Caliper Forum은 그룹 토론이 이루어지는 채널 또는 가상 공간을 나타낸다. Forum은 일반적으로 회원이 가입하고 메시지를 게시하고 다른 메시지에 회신할 수 있는 하나 이상의 스레드 대화로 이루어진다.

IRI

http://purl.imsglobal.org/caliper/Forum

상위유형

DigitalResourceCollection

속성

Forum은 상위유형 DigitalResourceCollection에 정의된 모든 속성과 요구사항을 상속받는다. 추가 속성과 요구사항은 다음과 같다.

속성 유형 상세 적합성
id IRI 반드시 유효한 IRI를 명시해야한다[MUST]. IRI는 반드시 고유하고 영구적이어야 한다[MUST]. 또한, 역참조할 수 있는 게 좋다[SHOULD]. 즉, 리소스의 접근 권한을 반환할 수 있어야 한다. URN 스키마를 사용하는 URI링크드 데이터에 적합한 HTTP URI를 사용하는 게 불가능하거나 부적절한 경우에 제공할 수 있다[MAY]. 필수
type Term 문자열 값은 반드시 Forum Term으로 설정해야 한다[MUST]. 필수
name string Forum을 알려진 단어 또는 구로 구성한 문자열 값. 선택
description string Forum에 대해 간략한 표현으로 구성한 문자열 값. 선택
creators Array Forum을 만들어 낸 Agent 엔터티를 정렬한 집합(일반적으로 Person 유형). 각 배열의 항목은 반드시 객체 또는 항목의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
mediaType string Forum의 파일 형식을 식별하는 IANA에서 승인된 미디어 유형과 하위유형 목록에서 가져온 문자열 값. 선택
keywords Array Forum을 식별하는데 사용되는 태그나 라벨을 나타내는 하나 이상의 문자열 값을 정렬한 집합. 선택
learningObjectives Array 학습자가 Forum을 활용한 후에, 학습자가 이해하거나 달성할 것으로 예상되는 것을 설명하는 하나 이상의 LearningObjective 엔터티를 정렬한 집합. 각 배열의 항목은 반드시 객체 또는 항목의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
isPartOf Entity | IRI Forum을 전체적으로 포함하거나 일부 포함하는 관련 Entity. isPartOf 값은 반드시 객체 또는 관련 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
items Array Thread 엔터티를 정렬한 집합. 각 배열의 항목은 반드시 객체 또는 항목의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
dateCreated DateTime Forum이 생성된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateModified DateTime Forum이 마지막으로 변경되거나 업데이트된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
datePublished DateTime Forum이 공개된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
version string Forum의 현재 양식이나 버전을 나타내는 문자열 값. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 Forum을 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
제거대상 속성

다음 Forum 속성은 제거대상이므로 사용해서는 안된다[MUST NOT]. 해당 속성은 향후 버전의 Caliper에서 제거될 것이다.

속성 유형 상세 적합성
objectType string DigitalResource의 유형을 지정하는 문자열 값. 선택
alignedLearningObjective Array 학습자가 DigitalResource를 활용한 후에, 학습자가 이해하거나 달성할 것으로 예상되는 것을 설명하는 하나 이상의 LearningObjective 엔터티를 정렬한 집합. alignedLearningObjective는 제거대상이므로 learningObjectives로 대체한다. 선택
{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "https://example.edu/terms/201801/courses/7/sections/1/forums/1",
  "type": "Forum",
  "name": "Caliper Forum",
  "items": [
    {
      "id": "https://example.edu/terms/201801/courses/7/sections/1/forums/1/topics/1",
      "type": "Thread",
      "name": "Caliper Information Model",
      "dateCreated": "2018-11-01T09:30:00.000Z"
    },
    {
      "id": "https://example.edu/terms/201801/courses/7/sections/1/forums/1/topics/2",
      "type": "Thread",
      "name": "Caliper Sensor API",
      "dateCreated": "2018-11-01T09:30:00.000Z"
    },
    {
      "id": "https://example.edu/terms/201801/courses/7/sections/1/forums/1/topics/3",
      "type": "Thread",
      "name": "Caliper Certification",
      "dateCreated": "2018-11-01T09:30:00.000Z"
    }
  ],
  "isPartOf": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1",
    "type": "CourseSection",
    "subOrganizationOf": {
      "id": "https://example.edu/terms/201801/courses/7",
      "type": "CourseOffering"
    }
  },
  "dateCreated": "2018-08-01T06:00:00.000Z",
  "dateModified": "2018-09-02T11:30:00.000Z"
}
C.21 Frame

Caliper FrameDigitalResource의 일부, 부분 또는 세그먼트를 나타낸다.

IRI

http://purl.imsglobal.org/caliper/Frame

상위유형

DigitalResource

속성

Frame은 상위유형 DigitalResource에 정의된 모든 속성과 요구사항을 상속받는다. 추가 속성과 요구사항은 다음과 같다.

속성 유형 상세 적합성
id IRI 반드시 유효한 IRI를 명시해야한다[MUST]. IRI는 반드시 고유하고 영구적이어야 한다[MUST]. 또한, 역참조할 수 있는 게 좋다[SHOULD]. 즉, 리소스의 접근 권한을 반환할 수 있어야 한다. URN 스키마를 사용하는 URI링크드 데이터에 적합한 HTTP URI를 사용하는 게 불가능하거나 부적절한 경우에 제공할 수 있다[MAY]. 필수
type Term 문자열 값은 반드시 Frame Term으로 설정해야 한다[MUST]. 필수
name string Frame을 알려진 단어 또는 구로 구성한 문자열 값. 선택
description string Frame에 대해 간략한 표현으로 구성한 문자열 값. 선택
creators Array Frame을 만들어 낸 Agent 엔터티를 정렬한 집합(일반적으로 Person 유형). 각 배열의 항목은 반드시 객체 또는 항목의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
mediaType string Frame의 파일 형식을 식별하는 IANA에서 승인된 미디어 유형과 하위유형 목록에서 가져온 문자열 값. 선택
keywords Array Frame을 식별하는데 사용되는 태그나 라벨을 나타내는 하나 이상의 문자열 값을 정렬한 집합. 선택
learningObjectives Array 학습자가 Frame을 활용한 후에, 학습자가 이해하거나 달성할 것으로 예상되는 것을 설명하는 하나 이상의 LearningObjective 엔터티를 정렬한 집합. 각 배열의 항목은 반드시 객체 또는 항목의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
isPartOf Entity | IRI Frame을 전체적으로 포함하거나 일부 포함하는 관련 Entity. isPartOf 값은 반드시 객체 또는 관련 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
index integer Frame의 위치를 나타내는 음수가 아닌 정수. 선택
dateCreated DateTime Frame이 생성된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateModified DateTime Frame이 마지막으로 변경되거나 업데이트된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
datePublished DateTime Frame이 공개된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
version string Frame의 현재 양식이나 버전을 나타내는 문자열 값. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 Frame을 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
제거대상 속성

다음 Frame 속성은 제거대상이므로 사용해서는 안된다[MUST NOT]. 해당 속성은 향후 버전의 Caliper에서 제거될 것이다.

속성 유형 상세 적합성
objectType string DigitalResource의 유형을 지정하는 문자열 값. 선택
alignedLearningObjective Array 학습자가 DigitalResource를 활용한 후에, 학습자가 이해하거나 달성할 것으로 예상되는 것을 설명하는 하나 이상의 LearningObjective 엔터티를 정렬한 집합. alignedLearningObjective는 제거대상이므로 learningObjectives로 대체한다. 선택
{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "https://example.edu/etexts/201?index=2502",
  "type": "Frame",
  "dateCreated": "2018-08-01T06:00:00.000Z",
  "index": 2502,
  "isPartOf": {
    "id": "https://example.edu/etexts/201",
    "type": "Document",
    "name": "IMS Caliper Implementation Guide",
    "version": "1.1"
  }
}
C.22 Group

Caliper Group은 일반적인 교육적, 사회적 목적으로 조직된 비정형, 비공식적, 임시적인 개인들의 모임을 나타낸다. GroupAgent로써 역할을 수행한. 부모 Organizationmembers와 연결된다.

IRI

http://purl.imsglobal.org/caliper/Group

상위유형

Organization

속성

Group은 상위유형 Organization에 정의된 모든 속성과 요구사항을 상속받는다. 추가 요구사항은 다음과 같다.

속성 유형 상세 적합성
id IRI 반드시 유효한 IRI를 명시해야한다[MUST]. IRI는 반드시 고유하고 영구적이어야 한다[MUST]. 또한, 역참조할 수 있는 게 좋다[SHOULD]. 즉, 리소스의 접근 권한을 반환할 수 있어야 한다. URN 스키마를 사용하는 URI링크드 데이터에 적합한 HTTP URI를 사용하는 게 불가능하거나 부적절한 경우에 제공할 수 있다[MAY]. 필수
type Term 문자열 값은 반드시 Group Term으로 설정해야 한다[MUST]. 필수
name string Group을 알려진 단어 또는 구로 구성한 문자열 값. 선택
description string Group에 대해 간략한 표현으로 구성한 문자열 값. 선택
subOrganizationOf Organization | IRI Group의 부모 Organization. subOrganizationOf 값은 반드시 객체 또는 부모 organization의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
members Array Agent 엔터티를 정렬한 집합(일반적으로 Group 및/또는 Person). 각 배열의 항목은 반드시 객체 또는 항목의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
dateCreated DateTime Group이 생성된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateModified DateTime Group이 마지막으로 변경되거나 업데이트된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 Group을 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "https://example.edu/terms/201801/courses/7/sections/1/groups/2",
  "type": "Group",
  "name": "Discussion Group 2",
  "subOrganizationOf": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1",
    "type": "CourseSection",
    "subOrganizationOf": {
      "id": "https://example.edu/terms/201801/courses/7",
      "type": "CourseOffering"
    }
  },
  "members": [
    {
      "id": "https://example.edu/users/554433",
      "type": "Person"
    },
    {
      "id": "https://example.edu/users/778899",
      "type": "Person"
    },
    {
      "id": "https://example.edu/users/445566",
      "type": "Person"
    },
    {
      "id": "https://example.edu/users/667788",
      "type": "Person"
    },
    {
      "id": "https://example.edu/users/889900",
      "type": "Person"
    }
  ],
  "dateCreated": "2018-11-01T06:00:00.000Z"
}
C.23 HighlightAnnotation

Caliper HighlightAnnotation은 알려진 두 좌표 사이에서 DigitalResource의 특정 세그먼트를 표시하는 활동을 나타낸다.

IRI

http://purl.imsglobal.org/caliper/HighlightAnnotation

상위유형

Annotation

속성

HighlightAnnotation은 상위유형 Annotation에 정의된 모든 속성과 요구사항을 상속받는다. 추가 속성과 요구사항은 다음과 같다.

속성 유형 상세 적합성
id IRI 반드시 유효한 IRI를 명시해야한다[MUST]. IRI는 반드시 고유하고 영구적이어야 한다[MUST]. 또한, 역참조할 수 있는 게 좋다[SHOULD]. 즉, 리소스의 접근 권한을 반환할 수 있어야 한다. URN 스키마를 사용하는 URI링크드 데이터에 적합한 HTTP URI를 사용하는 게 불가능하거나 부적절한 경우에 제공할 수 있다[MAY]. 필수
type Term 문자열 값은 반드시 BookmarkAnnotation Term으로 설정해야 한다[MUST]. 필수
name string HighlightAnnotation을 알려진 단어 또는 구로 구성한 문자열 값. 선택
description string HighlightAnnotation의 간략한 표현으로 구성한 문자열 값. 선택
annotator Person | IRI HighlightAnnotation을 생성한 Person. annotator 값은 반드시 객체 또는 annotator의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
annotated DigitalResource | IRI annotator에 의해 주석이 생성된 DigitalResource. annotated 값은 객체 또는 주석이 생성된 리소스의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
selection TextPositionSelector 강조 표시된 텍스트 세그먼트의 시작과 끝 위치. 전체 텍스트의 첫번재 문자는 문자 위치가 0 이다. TextPositionSelector가 정의된 경우, startend 위치를 명시해야 한다[MUST]. 선택
selectionText string 주석이 달린 DigitalResource의 강조 표시된 세그먼트의 일반 텍스트 렌더링을 나타내는 문자열. 선택
dateCreated DateTime HighlightAnnotation이 생성된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateModified DateTime HighlightAnnotation이 마지막으로 변경되거나 업데이트된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 HighlightAnnotation을 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "https://example.edu/users/554433/etexts/201/highlights/20",
  "type": "HighlightAnnotation",
  "annotator": {
    "id": "https://example.edu/users/554433",
    "type": "Person"
  },
  "annotated": {
    "id": "https://example.edu/etexts/201",
    "type": "Document"
  },
  "selection": {
    "type": "TextPositionSelector",
    "start": 2300,
    "end": 2370
  },
  "selectionText": "ISO 8601 formatted date and time expressed with millisecond precision.",
  "dateCreated": "2018-08-01T06:00:00.000Z"
}
C.24 ImageObject

Caliper ImageObject는 이미지 파일을 나타낸다.

IRI

http://purl.imsglobal.org/caliper/ImageObject

상위유형

MediaObject

속성

ImageObject는 상위유형 MediaObject에 정의된 모든 속성과 요구사항을 상속받는다. 추가 요구사항은 다음과 같다.

속성 유형 상세 적합성
id IRI 반드시 유효한 IRI를 명시해야한다[MUST]. IRI는 반드시 고유하고 영구적이어야 한다[MUST]. 또한, 역참조할 수 있는 게 좋다[SHOULD]. 즉, 리소스의 접근 권한을 반환할 수 있어야 한다. URN 스키마를 사용하는 URI링크드 데이터에 적합한 HTTP URI를 사용하는 게 불가능하거나 부적절한 경우에 제공할 수 있다[MAY]. 필수
type Term 문자열 값은 반드시 ImageObject Term으로 설정해야 한다[MUST]. 필수
name string ImageObject를 알려진 단어 또는 구로 구성한 문자열 값. 선택
description string ImageObject의 간략한 표현으로 구성한 문자열 값. 선택
creators Array ImageObject를 만들어 낸 Agent 엔터티를 정렬한 집합(일반적으로 Person 유형). 각 배열의 항목은 반드시 객체 또는 항목의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
mediaType string ImageObject의 파일 형식을 식별하는 IANA에서 승인된 미디어 유형과 하위유형 목록에서 가져온 문자열 값. 선택
keywords Array ImageObject를 식별하는데 사용되는 태그나 라벨을 나타내는 하나 이상의 문자열 값을 정렬한 집합. 선택
learningObjectives Array 학습자가 ImageObject를 활용한 후에, 학습자가 이해하거나 달성할 것으로 예상되는 것을 설명하는 하나 이상의 LearningObjective 엔터티를 정렬한 집합. 각 배열의 항목은 반드시 객체 또는 항목의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
isPartOf Entity | IRI ImageObject를 전체적으로 포함하거나 일부 포함하는 관련 Entity. isPartOf 값은 반드시 객체 또는 관련 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
duration Duration ImageObject를 일반 속도로 보거나 듣는데 필요한 총 시간을 나타내는 값. 이 값은 반드시 ISO 8601 기간 형식으로 표현해야 한다[MUST]. 선택
dateCreated DateTime ImageObject가 생성된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateModified DateTime ImageObject가 마지막으로 변경되거나 업데이트된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
datePublished DateTime ImageObject가 공개된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
version string ImageObject의 현재 양식이나 버전을 나타내는 문자열 값. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 ImageObject를 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
제거대상 속성

다음 ImageObject 속성은 제거대상이므로 사용해서는 안된다[MUST NOT]. 해당 속성은 향후 버전의 Caliper에서 제거될 것이다.

속성 유형 상세 적합성
objectType string DigitalResource의 유형을 지정하는 문자열 값. 선택
alignedLearningObjective Array 학습자가 DigitalResource를 활용한 후에, 학습자가 이해하거나 달성할 것으로 예상되는 것을 설명하는 하나 이상의 LearningObjective 엔터티를 정렬한 집합. alignedLearningObjective는 제거대상이므로 learningObjectives로 대체한다. 선택
{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "https://example.edu/images/caliper_lti.jpg",
  "type": "ImageObject",
  "name": "IMS Caliper/LTI Integration Work Flow",
  "mediaType": "image/jpeg",
  "dateCreated": "2018-09-01T06:00:00.000Z"
}
C.25 LearningObjective

Caliper LearningObjective는 학습자가 학습 활동에 참여한 결과, 달성해야 하는 학습 관련 목표를 간략하게 요약한 요약문을 나타낸다.

IRI

http://purl.imsglobal.org/caliper/LearningObjective

상위유형

Entity

속성

LearningObjective는 상위유형 Entity에 정의된 모든 속성과 요구사항을 상속받는다. 추가 요구사항은 다음과 같다.

속성 유형 상세 적합성
id IRI 반드시 유효한 IRI를 명시해야한다[MUST]. IRI는 반드시 고유하고 영구적이어야 한다[MUST]. 또한, 역참조할 수 있는 게 좋다[SHOULD]. 즉, 리소스의 접근 권한을 반환할 수 있어야 한다. URN 스키마를 사용하는 URI링크드 데이터에 적합한 HTTP URI를 사용하는 게 불가능하거나 부적절한 경우에 제공할 수 있다[MAY]. 필수
type Term 문자열 값은 반드시 LearningObjective Term으로 설정해야 한다[MUST]. 필수
name string LearningObjective를 알려진 단어 또는 구로 구성한 문자열 값. 선택
description string LearningObjective의 간략한 표현으로 구성한 문자열 값. 선택
dateCreated DateTime LearningObjective가 생성된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateModified DateTime LearningObjective가 마지막으로 변경되거나 업데이트된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 LearningObjective를 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "https://example.edu/terms/201801/courses/7/sections/1/assign/2",
  "type": "AssignableDigitalResource",
  "name": "Caliper Profile Design",
  "description": "Choose a learning activity and describe the actions, entities and events that comprise it.",
  "learningObjectives": [
    {
      "id": "https://example.edu/terms/201801/courses/7/sections/1/objectives/1",
      "type": "LearningObjective",
      "name": "Research techniques",
      "description": "Demonstrate ability to model a learning activity as Caliper profile.",
      "dateCreated": "2018-08-01T06:00:00.000Z"
    }
  ],
  "dateToActivate": "2018-11-10T11:59:59.000Z",
  "dateToShow": "2018-11-10T11:59:59.000Z",
  "dateCreated": "2018-11-01T06:00:00.000Z",
  "dateToStartOn": "2018-11-15T11:59:59.000Z",
  "dateToSubmit": "2018-11-14T11:59:59.000Z",
  "maxAttempts": 2,
  "maxSubmits": 2,
  "maxScore": 50.0
}
C.26 LtiSession

Caliper LtiSessionLTI 도구 소비자 사용자 세션을 나타낸다.

IRI

http://purl.imsglobal.org/caliper/LtiSession

상위유형

Session

속성

LtiSession은 상위유형 Session에 정의된 모든 속성과 요구사항을 상속받는다. 추가 속성과 요구사항은 다음과 같다.

속성 유형 상세 적합성
id IRI 반드시 유효한 IRI를 명시해야한다[MUST]. IRI는 반드시 고유하고 영구적이어야 한다[MUST]. 또한, 역참조할 수 있는 게 좋다[SHOULD]. 즉, 리소스의 접근 권한을 반환할 수 있어야 한다. URN 스키마를 사용하는 URI링크드 데이터에 적합한 HTTP URI를 사용하는 게 불가능하거나 부적절한 경우에 제공할 수 있다[MAY]. 필수
type Term 문자열 값은 반드시 LtiSession Term으로 설정해야 한다[MUST]. 필수
name string LtiSession을 알려진 단어 또는 구로 구성한 문자열 값. 선택
description string LtiSession의 간략한 표현으로 구성한 문자열 값. 선택
user Person LtiSession을 생성하는 Person. 선택
messageParameters Object 도구 소비자 관련 문맥 정보를 제공하는 LTI 지정 메시지 매개 변수의 맵. 모든 유형(즉, 필수, 권장, 선택, 사용자 정의 및 확장)의 LTI 메시지 매개 변수를 참조할 수 있다[MAY]. 선택
dateCreated DateTime LtiSession이 생성된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateModified DateTime LtiSession이 마지막으로 변경되거나 업데이트된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
startedAtTime DateTime LtiSession이 시작될 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
endedAtTime DateTime LtiSession이 완료되고 종료된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
duration Duration LtiSession을 완료하는 데 걸리는 시간을 나타내는 시간 간격. 이 값은 반드시 ISO 8601 기간 형식으로 표현해야 한다[MUST]. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 LtiSession을 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
제거대상 속성

다음 LtiSession 속성은 제거대상이므로 사용해서는 안된다[MUST NOT]. 해당 속성은 향후 버전의 Caliper에서 제거될 것이다.

속성 유형 상세 적합성
actor Person LtiSession을 생성하는 Person. actor 속성은 제거대상이므로 user로 대체한다. 선택
{
    "id": "urn:uuid:1c519ff7-3dfa-4764-be48-d2fb35a2925a",
    "type": "LtiSession",
    "user": "https://example.edu/users/554433",
    "messageParameters": {
      "lti_message_type": "basic-lti-launch-request",
      "lti_version": "LTI-2p0",
      "context_id": "4f1a161f-59c3-43e5-be37-445ad09e3f76",
      "context_type": "CourseSection",
      "resource_link_id": "6b37a950-42c9-4117-8f4f-03e6e5c88d24",
      "roles": [ "Learner" ],
      "user_id": "0ae836b9-7fc9-4060-006f-27b2066ac545",
      "custom": {
        "caliper_session_id": "1c519ff7-3dfa-4764-be48-d2fb35a2925a",
        "tool_consumer_instance_url": "https://example.edu"
      },
      "ext": {
        "edu_example_course_section": "https://example.edu/terms/201801/courses/7/sections/1",
        "edu_example_course_section_roster": "https://example.edu/terms/201801/courses/7/sections/1/rosters/1",
        "edu_example_course_section_learner": "https://example.edu/users/554433",
        "edu_example_course_section_instructor": "https://example.edu/faculty/1234"
      }
    },
    "dateCreated": "2018-11-15T10:15:00.000Z",
    "startedAtTime": "2018-11-15T10:15:00.000Z"
  }
C.27 MediaLocation

Caliper MediaLocationAudioObject 또는 VideoObject와 같은 MediaObject에서 현재 재생 위치를 나타낸다.

IRI

http://purl.imsglobal.org/caliper/MediaLocation

상위유형

DigitalResource

속성

MediaLocation은 상위유형 DigitalResource에 정의된 모든 속성과 요구사항을 상속받는다. 추가 속성과 요구사항은 다음과 같다.

속성 유형 상세 적합성
id IRI 반드시 유효한 IRI를 명시해야한다[MUST]. IRI는 반드시 고유하고 영구적이어야 한다[MUST]. 또한, 역참조할 수 있는 게 좋다[SHOULD]. 즉, 리소스의 접근 권한을 반환할 수 있어야 한다. URN 스키마를 사용하는 URI링크드 데이터에 적합한 HTTP URI를 사용하는 게 불가능하거나 부적절한 경우에 제공할 수 있다[MAY]. 필수
type Term 문자열 값은 반드시 MediaLocation Term으로 설정해야 한다[MUST]. 필수
name string MediaLocation을 알려진 단어 또는 구로 구성한 문자열 값. 선택
description string MediaLocation의 간략한 표현으로 구성한 문자열 값. 선택
creators Array MediaLocation을 만들어 낸 Agent 엔터티를 정렬한 집합(일반적으로 Person 유형). 각 배열의 항목은 반드시 객체 또는 항목의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
mediaType string MediaLocation의 파일 형식을 식별하는 IANA에서 승인된 미디어 유형과 하위유형 목록에서 가져온 문자열 값. 선택
keywords Array MediaLocation을 식별하는데 사용되는 태그나 라벨을 나타내는 하나 이상의 문자열 값을 정렬한 집합. 선택
learningObjectives Array 학습자가 MediaLocation을 활용한 후에, 학습자가 이해하거나 달성할 것으로 예상되는 것을 설명하는 하나 이상의 LearningObjective 엔터티를 정렬한 집합. MediaLocation. 각 배열의 항목은 반드시 객체 또는 항목의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
isPartOf Entity | IRI MediaLocation을 전체적으로 포함하거나 일부 포함하는 관련 Entity. isPartOf 값은 반드시 객체 또는 관련 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
currentTime Duration AudioObject 또는 VideoObject의 시작 부분에서 측정된 현재 재생 위치를 나타내는 시간 간격 또는 지속 시간. currentTime이 지정되면 값은 반드시 ISO 8601 기간 형식을 준수해야 한다[MUST]. 선택
dateCreated DateTime MediaLocation이 생성된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateModified DateTime MediaLocation이 마지막으로 변경되거나 업데이트된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
datePublished DateTime MediaLocation이 공개된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
version string MediaLocation의 현재 양식이나 버전을 나타내는 문자열 값. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 MediaLocation을 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
제거대상 속성

다음 MediaLocation 속성은 제거대상이므로 사용해서는 안된다[MUST NOT]. 해당 속성은 향후 버전의 Caliper에서 제거될 것이다.

속성 유형 상세 적합성
objectType string DigitalResource의 유형을 지정하는 문자열 값. 선택
alignedLearningObjective Array 학습자가 DigitalResource를 활용한 후에, 학습자가 이해하거나 달성할 것으로 예상되는 것을 설명하는 하나 이상의 LearningObjective 엔터티를 정렬한 집합. alignedLearningObjective는 제거대상이므로 learningObjectives로 대체한다. 선택
{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "https://example.edu/videos/1225",
  "type": "MediaLocation",
  "currentTime": "PT30M54S",
  "dateCreated": "2018-08-01T06:00:00.000Z"
}
C.28 MediaObject

Caliper MediaObject는 일반적인 미디어 콘텐츠를 나타낸다.

MediaObject는 서술하고자 하는 대상에 해당하는 유효한 하위유형이 존재하지 않을 경우에만 사용한다.

IRI

http://purl.imsglobal.org/caliper/MediaObject

상위유형

DigitalResource

속성

MediaObject는 상위유형 DigitalResource에 정의된 모든 속성과 요구사항을 상속받는다. 추가 속성과 요구사항은 다음과 같다.

속성 유형 상세 적합성
id IRI 반드시 유효한 IRI를 명시해야한다[MUST]. IRI는 반드시 고유하고 영구적이어야 한다[MUST]. 또한, 역참조할 수 있는 게 좋다[SHOULD]. 즉, 리소스의 접근 권한을 반환할 수 있어야 한다. URN 스키마를 사용하는 URI링크드 데이터에 적합한 HTTP URI를 사용하는 게 불가능하거나 부적절한 경우에 제공할 수 있다[MAY]. 필수
type Term 문자열 값은 반드시 MediaObject Term으로 설정해야 한다[MUST]. 필수
name string MediaObject를 알려진 단어 또는 구로 구성한 문자열 값. 선택
description string MediaObject의 간략한 표현으로 구성한 문자열 값 MediaObject. 선택
creators Array MediaObject를 만들어 낸 Agent 엔터티를 정렬한 집합(일반적으로 Person 유형). 각 배열의 항목은 반드시 객체 또는 항목의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
mediaType string MediaObject의 파일 형식을 식별하는 IANA에서 승인된 미디어 유형과 하위유형 목록에서 가져온 문자열 값. 선택
keywords Array 를 식별하는데 사용되는 태그나 라벨을 나타내는 하나 이상의 문자열 값을 정렬한 집합 MediaObject. 선택
learningObjectives Array 학습자가 MediaObject를 활용한 후에, 학습자가 이해하거나 달성할 것으로 예상되는 것을 설명하는 하나 이상의 LearningObjective 엔터티를 정렬한 집합. 각 배열의 항목은 반드시 객체 또는 항목의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
isPartOf Entity | IRI MediaObject를 전체적으로 포함하거나 일부 포함하는 관련 Entity. isPartOf 값은 반드시 객체 또는 관련 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
duration Duration MediaObject를 일반 속도로 보거나 듣는데 필요한 총 시간을 나타내는 값. 이 값은 반드시 ISO 8601 기간 형식으로 표현해야 한다[MUST]. 선택
dateCreated DateTime MediaObject가 생성된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateModified DateTime MediaObject가 마지막으로 변경되거나 업데이트된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
datePublished DateTime MediaObject가 공개된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
version string MediaObject의 현재 양식이나 버전을 나타내는 문자열 값. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 MediaObject를 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
제거대상 속성

다음 MediaObject 속성은 제거대상이므로 사용해서는 안된다[MUST NOT]. 해당 속성은 향후 버전의 Caliper에서 제거될 것이다.

속성 유형 상세 적합성
objectType string DigitalResource의 유형을 지정하는 문자열 값. 선택
alignedLearningObjective Array 학습자가 DigitalResource를 활용한 후에, 학습자가 이해하거나 달성할 것으로 예상되는 것을 설명하는 하나 이상의 LearningObjective 엔터티를 정렬한 집합. alignedLearningObjective는 제거대상이므로 learningObjectives로 대체한다. 선택
하위유형

AudioObject, ImageObject, VideoObject

{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "https://example.edu/media/54321",
  "type": "MediaObject",
  "dateCreated": "2018-08-01T06:00:00.000Z",
  "dateModified": "2018-09-02T11:30:00.000Z",
  "duration": "PT1H17M50S"
}
C.29 Membership

Caliper Membership은 할당된 역할 및 현재 상태와 관련된 OrganizationAgent(일반적으로 Person. 즉, member) 사이의 관계를 나타낸다.

IRI

http://purl.imsglobal.org/caliper/Membership

상위유형

Entity

속성

Membership은 상위유형 Entity에 정의된 모든 속성과 요구사항을 상속받는다. 추가 속성과 요구사항은 다음과 같다.

속성 유형 상세 적합성
id IRI 반드시 유효한 IRI를 명시해야한다[MUST]. IRI는 반드시 고유하고 영구적이어야 한다[MUST]. 또한, 역참조할 수 있는 게 좋다[SHOULD]. 즉, 리소스의 접근 권한을 반환할 수 있어야 한다. URN 스키마를 사용하는 URI링크드 데이터에 적합한 HTTP URI를 사용하는 게 불가능하거나 부적절한 경우에 제공할 수 있다[MAY]. 필수
type Term 문자열 값은 반드시 Membership Term으로 설정해야 한다[MUST]. 필수
name string Membership을 알려진 단어 또는 구로 구성한 문자열 값. 선택
description string Membership의 간략한 표현으로 구성한 문자열 값. 선택
organization Organization | IRI Membership과 관련된 Organization. organization 값은 반드시 객체 또는 organization의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
member Person | IRI Membership과 관련된 Person. member 값은 반드시 객체 또는 member의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
roles Array member에게 할당된 조직적 역할을 정렬한 집합. Role 값은 Caliper가 정의한 roles 용어 목록으로 제한한다. subrole이 지정될 때 마다 핵심 컨텍스트 역할도 포함되는 게 좋다[SHOULD]. 예를 들어, Instructor#TeachingAssistant의 역할은 항상 Instructor 역할을 수반해야 한다. 선택
status Term member의 현재 상태를 나타내는 문자열 값. 상태가 정해지면, 값은 Caliper가 정의한 statuses 목록에서 선택한다. 선택
dateCreated DateTime Membership이 생성된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateModified DateTime Membership이 마지막으로 변경되거나 업데이트된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 Membership을 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "https://example.edu/terms/201801/courses/7/sections/1/rosters/1/members/554433",
  "type": "Membership",
  "member": {
    "id": "https://example.edu/users/554433",
    "type": "Person"
  },
  "organization": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1",
    "type": "CourseSection",
    "subOrganizationOf": {
      "id": "https://example.edu/terms/201801/courses/7",
      "type": "CourseOffering"
    }
  },
  "roles": [ "Learner" ],
  "status": "Active",
  "dateCreated": "2018-11-01T06:00:00.000Z"
}
C.30 Message

Caliper Message는 받는 사람에게 보낸 서면 통신의 디지털 형식이다. 공통의 주제를 공유하고 회신 또는 날짜 관계에 의해 연결되어 있는 경우 Thread를 구성한다.

IRI

http://purl.imsglobal.org/caliper/Message

상위유형

DigitalResource

속성

Message는 상위유형 DigitalResource에 정의된 모든 속성과 요구사항을 상속받는다. 추가 속성과 요구사항은 다음과 같다.

속성 유형 상세 적합성
id IRI 반드시 유효한 IRI를 명시해야한다[MUST]. IRI는 반드시 고유하고 영구적이어야 한다[MUST]. 또한, 역참조할 수 있는 게 좋다[SHOULD]. 즉, 리소스의 접근 권한을 반환할 수 있어야 한다. URN 스키마를 사용하는 URI링크드 데이터에 적합한 HTTP URI를 사용하는 게 불가능하거나 부적절한 경우에 제공할 수 있다[MAY]. 필수
type Term 문자열 값은 반드시 Message Term으로 설정해야 한다[MUST]. 필수
name string Message를 알려진 단어 또는 구로 구성한 문자열 값. 선택
description string Message의 간략한 표현으로 구성한 문자열 값. 선택
creators Array Message를 만들어 낸 Agent 엔터티를 정렬한 집합(일반적으로 Person 유형). 각 배열의 항목은 반드시 객체 또는 항목의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
mediaType string Message의 파일 형식을 식별하는 IANA에서 승인된 미디어 유형과 하위유형 목록에서 가져온 문자열 값. 선택
keywords Array Message를 식별하는데 사용되는 태그나 라벨을 나타내는 하나 이상의 문자열 값을 정렬한 집합. 선택
learningObjectives Array 학습자가 Message를 활용한 후에, 학습자가 이해하거나 달성할 것으로 예상되는 것을 설명하는 하나 이상의 LearningObjective 엔터티를 정렬한 집합. 각 배열의 항목은 반드시 객체 또는 항목의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
isPartOf Thread | IRI Message를 전체적으로 포함하거나 일부 포함하는 관련 Thread. isPartOf 값은 반드시 객체 또는 관련 스레드의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
replyTo Message | IRI Message가 답을 보내는 게시물을 나타내는 Message. replyTo 값은 반드시 객체 또는 관련 메시지의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
body string Messagebody 내용을 일반 텍스트로 렌더링하는 문자열 값. 선택
attachments Array Message에 첨부된 하나 이상의 DigitalResource 엔터티를 정렬한 집합. 각 배열의 항목은 반드시 객체 또는 항목의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
dateCreated DateTime Message가 생성된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateModified DateTime Message가 마지막으로 변경되거나 업데이트된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
datePublished DateTime Message가 공개된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
version string Message의 현재 양식이나 버전을 나타내는 문자열 값. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 Message를 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
제거대상 속성

다음 Message 속성은 제거대상이므로 사용해서는 안된다[MUST NOT]. 해당 속성은 향후 버전의 Caliper에서 제거될 것이다.

속성 유형 상세 적합성
objectType string DigitalResource의 유형을 지정하는 문자열 값. 선택
alignedLearningObjective Array 학습자가 DigitalResource를 활용한 후에, 학습자가 이해하거나 달성할 것으로 예상되는 것을 설명하는 하나 이상의 LearningObjective 엔터티를 정렬한 집합. alignedLearningObjective는 제거대상이므로 learningObjectives로 대체한다. 선택
{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "https://example.edu/terms/201801/courses/7/sections/1/forums/2/topics/1/messages/3",
  "type": "Message",
  "creators": [
    {
      "id": "https://example.edu/users/778899",
      "type": "Person"
    }
  ],
  "body": "The Caliper working group provides a set of Caliper Sensor reference implementations for the purposes of education and experimentation.  They have not been tested for use in a production environment.  See the Caliper Implementation Guide for more details.",
  "replyTo": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1/forums/2/topics/1/messages/2",
    "type": "Message"
  },
  "isPartOf": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1/forums/2/topics/1",
    "type": "Thread",
    "isPartOf": {
      "id": "https://example.edu/terms/201801/courses/7/sections/1/forums/2",
      "type": "Forum"
    }
  },
  "attachments": [
    {
      "id": "https://example.edu/etexts/201.epub",
      "type": "Document",
      "name": "IMS Caliper Implementation Guide",
      "dateCreated": "2018-10-01T06:00:00.000Z",
      "version": "1.1"
    }
  ],
  "dateCreated": "2018-11-15T10:15:30.000Z"
}
C.31 MultipleChoiceResponse

Caliper MultipleChoiceResponse은 응답자가 선택 가능한 목록 중 최상의 답변을 제공하도록 요청하는 Response의 한 유형이다.

IRI

http://purl.imsglobal.org/caliper/MultipleChoiceResponse

상위유형

Response

속성

MultipleChoiceResponse는 상위유형 Response에 정의된 모든 속성과 요구사항을 상속받는다. 추가 속성과 요구사항은 다음과 같다.

속성 유형 상세 적합성
id IRI 반드시 유효한 IRI를 명시해야한다[MUST]. IRI는 반드시 고유하고 영구적이어야 한다[MUST]. 또한, 역참조할 수 있는 게 좋다[SHOULD]. 즉, 리소스의 접근 권한을 반환할 수 있어야 한다. URN 스키마를 사용하는 URI링크드 데이터에 적합한 HTTP URI를 사용하는 게 불가능하거나 부적절한 경우에 제공할 수 있다[MAY]. 필수
type Term 문자열 값은 반드시 MultipleChoiceResponse Term으로 설정해야 한다[MUST]. 필수
name string MultipleChoiceResponse를 알려진 단어 또는 구로 구성한 문자열 값. 선택
description string MultipleChoiceResponse의 간략한 표현으로 구성한 문자열 값. 선택
attempt Attempt | IRI 연관된 Attempt. attempt 값은 반드시 객체 또는 attempt의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 객체 표현이 제공되면, AttemptMultipleChoiceResponse를 생성하는 Person과 관련 AssessmentItem을 참조하는게 좋다[SHOULD]. 선택
value string 선택한 옵션을 나타내는 문자열 값. 선택
dateCreated DateTime MultipleChoiceResponse가 생성된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateModified DateTime MultipleChoiceResponse가 마지막으로 변경되거나 업데이트된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
startedAtTime DateTime MultipleChoiceResponse가 시작될 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
endedAtTime DateTime MultipleChoiceResponse가 완료되고 종료된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
duration Duration MultipleChoiceResponse를 완료하는 데 걸리는 시간을 나타내는 시간 간격. 이 값은 반드시 ISO 8601 기간 형식으로 표현해야 한다[MUST]. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 MultipleChoiceResponse를 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
제거대상 속성

다음 MultipleChoiceResponse 속성은 제거대상이므로 사용해서는 안된다[MUST NOT]. 해당 속성은 향후 버전의 Caliper에서 제거될 것이다.

속성 유형 상세 적합성
actor Person Response를 생성한 Person. actor는 제거대상이므로 attempt로 대체한다. 선택
assignable AssessmentItem Response와 관련된 AssessmentItem. assignable는 제거대상이므로 attempt로 대체한다. 선택
{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "https://example.edu/terms/201801/courses/7/sections/1/assess/1/items/2/users/554433/responses/1",
  "type": "MultipleChoiceResponse",
  "attempt": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1/assess/1/items/2/users/554433/attempts/1",
    "type": "Attempt",
    "assignee": {
      "id": "https://example.edu/users/554433",
      "type": "Person"
    },
    "assignable": {
      "id": "https://example.edu/terms/201801/courses/7/sections/1/assess/1/items/2",
      "type": "AssessmentItem",
      "isPartOf": {
        "id": "https://example.edu/terms/201801/courses/7/sections/1/assess/1",
        "type": "Assessment"
      }
    },
    "count": 1,
    "startedAtTime": "2018-11-15T10:15:14.000Z",
    "endedAtTime": "2018-11-15T10:15:20.000Z"
  },
  "dateCreated": "2018-11-15T10:15:20.000Z",
  "startedAtTime": "2018-11-15T10:15:14.000Z",
  "endedAtTime": "2018-11-15T10:15:20.000Z",
  "value": "C"
}
C.32 MultipleResponseResponse

Caliper MultipleResponseResponse은 응답자가 선택 목록에서 하나 이상의 정답을 선택하도록 요청하는 응답 양식을 나타낸다.

IRI

http://purl.imsglobal.org/caliper/MultipleResponseResponse

상위유형

Response

속성

MultipleResponseResponse는 상위유형 Response에 정의된 모든 속성과 요구사항을 상속받는다. 추가 속성과 요구사항은 다음과 같다.

속성 유형 상세 적합성
id IRI 반드시 유효한 IRI를 명시해야한다[MUST]. IRI는 반드시 고유하고 영구적이어야 한다[MUST]. 또한, 역참조할 수 있는 게 좋다[SHOULD]. 즉, 리소스의 접근 권한을 반환할 수 있어야 한다. URN 스키마를 사용하는 URI링크드 데이터에 적합한 HTTP URI를 사용하는 게 불가능하거나 부적절한 경우에 제공할 수 있다[MAY]. 필수
type Term 문자열 값은 반드시 MultipleResponseResponse Term으로 설정해야 한다[MUST]. 필수
name string MultipleResponseResponse를 알려진 단어 또는 구로 구성한 문자열 값. 선택
description string MultipleResponseResponse의 간략한 표현으로 구성한 문자열 값. 선택
attempt Attempt | IRI 연관된 Attempt. attempt 값은 반드시 객체 또는 attempt의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 객체 표현이 제공되면, AttemptMultipleResponseResponse를 생성하는 Person과 관련 AssessmentItem을 참조하는게 좋다[SHOULD]. 선택
values Array 하나 이상의 선택된 옵션을 정렬한 집합을 명시한다[MAY]. 선택
dateCreated DateTime MultipleResponseResponse가 생성된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateModified DateTime MultipleResponseResponse가 마지막으로 변경되거나 업데이트된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
startedAtTime DateTime MultipleResponseResponse가 시작될 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
endedAtTime DateTime MultipleResponseResponse가 완료되고 종료된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
duration Duration MultipleResponseResponse를 완료하는 데 걸리는 시간을 나타내는 시간 간격. 이 값은 반드시 ISO 8601 기간 형식으로 표현해야 한다[MUST]. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 MultipleResponseResponse를 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
제거대상 속성

다음 MultipleResponseResponse 속성은 제거대상이므로 사용해서는 안된다[MUST NOT]. 해당 속성은 향후 버전의 Caliper에서 제거될 것이다.

속성 유형 상세 적합성
actor Person Response를 생성한 Person. actor는 제거대상이므로 attempt로 대체한다. 선택
assignable AssessmentItem Response와 관련된 AssessmentItem. assignable는 제거대상이므로 attempt로 대체한다. 선택
{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "https://example.edu/terms/201801/courses/7/sections/1/assess/1/items/3/users/554433/responses/1",
  "type": "MultipleResponseResponse",
  "attempt": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1/assess/1/items/3/users/554433/attempts/1",
    "type": "Attempt",
    "assignee": {
      "id": "https://example.edu/users/554433",
      "type": "Person"
    },
    "assignable": {
      "id": "https://example.edu/terms/201801/courses/7/sections/1/assess/1/items/3",
      "type": "AssessmentItem",
      "isPartOf": {
        "id": "https://example.edu/terms/201801/courses/7/sections/1/assess/1",
        "type": "Assessment"
      }
    },
    "count": 1,
    "startedAtTime": "2018-11-15T10:15:22.000Z",
    "endedAtTime": "2018-11-15T10:15:30.000Z"
  },
  "dateCreated": "2018-11-15T10:15:22.000Z",
  "startedAtTime": "2018-11-15T10:15:22.000Z",
  "endedAtTime": "2018-11-15T10:15:30.000Z",
  "values": [ "A", "D", "E" ]
}
C.33 Organization

Caliper Organization은 일반적인 교육적, 사회적 또는 관리 목적으로 조직된 공식적인 개인들의 모임을 나타낸다. OrganizationAgent 역할을 수행한다. 부모 Organization과 그 members와 연결될 수 있다.

IRI

http://purl.imsglobal.org/caliper/Organization

상위유형

Agent

필수 속성

Organization은 상위유형 Agent에 정의된 모든 속성과 요구사항을 상속받는다. 추가 속성과 요구사항은 다음과 같다.

속성 유형 상세 적합성
id IRI 반드시 유효한 IRI를 명시해야한다[MUST]. IRI는 반드시 고유하고 영구적이어야 한다[MUST]. 또한, 역참조할 수 있는 게 좋다[SHOULD]. 즉, 리소스의 접근 권한을 반환할 수 있어야 한다. URN 스키마를 사용하는 URI링크드 데이터에 적합한 HTTP URI를 사용하는 게 불가능하거나 부적절한 경우에 제공할 수 있다[MAY]. 필수
type Term 문자열 값은 반드시 Organization Term으로 설정해야 한다[MUST]. 필수
name string Organization을 알려진 단어 또는 구로 구성한 문자열 값. 선택
description string Organization의 간략한 표현으로 구성한 문자열 값 Organization. 선택
subOrganizationOf Organization | IRI Organization의 부모 Organization. subOrganizationOf 값은 반드시 객체 또는 부모 organization의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
members Array Agent 엔터티를 정렬한 집합. 각 배열의 항목은 반드시 객체 또는 항목의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
dateCreated DateTime Organization이 생성된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateModified DateTime Organization이 마지막으로 변경되거나 업데이트된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 Organization을 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
하위유형

CourseOffering, CourseSection, Group

{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "https://example.edu/colleges/1/depts/1",
  "type": "Organization",
  "name": "Computer Science Department",
  "subOrganizationOf": {
    "id": "https://example.edu/colleges/1",
    "type": "Organization",
    "name": "College of Engineering"
  }
}
C.34 Page

Caliper Page는 페이지가 매겨진 콘텐츠의 항목을 나타낸다.

IRI

http://purl.imsglobal.org/caliper/Page

상위유형

DigitalResource

속성

Page는 상위유형 DigitalResource에 정의된 모든 속성과 요구사항을 상속받는다. 추가 요구사항은 다음과 같다.

속성 유형 상세 적합성
id IRI 반드시 유효한 IRI를 명시해야한다[MUST]. IRI는 반드시 고유하고 영구적이어야 한다[MUST]. 또한, 역참조할 수 있는 게 좋다[SHOULD]. 즉, 리소스의 접근 권한을 반환할 수 있어야 한다. URN 스키마를 사용하는 URI링크드 데이터에 적합한 HTTP URI를 사용하는 게 불가능하거나 부적절한 경우에 제공할 수 있다[MAY]. 필수
type Term 문자열 값은 반드시 Page Term으로 설정해야 한다[MUST]. 필수
name string Page를 알려진 단어 또는 구로 구성한 문자열 값. 선택
description string Page의 간략한 표현으로 구성한 문자열 값. 선택
creators Array Page를 만들어 낸 Agent 엔터티를 정렬한 집합(일반적으로 Person 유형). 각 배열의 항목은 반드시 객체 또는 항목의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
mediaType string Page의 파일 형식을 식별하는 IANA에서 승인된 미디어 유형과 하위유형 목록에서 가져온 문자열 값. 선택
keywords Array Page를 식별하는데 사용되는 태그나 라벨을 나타내는 하나 이상의 문자열 값을 정렬한 집합. 선택
learningObjectives Array 학습자가 Page를 활용한 후에, 학습자가 이해하거나 달성할 것으로 예상되는 것을 설명하는 하나 이상의 LearningObjective 엔터티를 정렬한 집합. 각 배열의 항목은 반드시 객체 또는 항목의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
isPartOf Entity | IRI Page를 전체적으로 포함하거나 일부 포함하는 관련 Entity. isPartOf 값은 반드시 객체 또는 관련 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
dateCreated DateTime Page가 생성된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateModified DateTime Page가 마지막으로 변경되거나 업데이트된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
datePublished DateTime Page가 공개된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
version string Page의 현재 양식이나 버전을 나타내는 문자열 값. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 Page를 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
제거대상 속성

다음 Page 속성은 제거대상이므로 사용해서는 안된다[MUST NOT]. 해당 속성은 향후 버전의 Caliper에서 제거될 것이다.

속성 유형 상세 적합성
objectType string DigitalResource의 유형을 지정하는 문자열 값. 선택
alignedLearningObjective Array 학습자가 DigitalResource를 활용한 후에, 학습자가 이해하거나 달성할 것으로 예상되는 것을 설명하는 하나 이상의 LearningObjective 엔터티를 정렬한 집합. alignedLearningObjective는 제거대상이므로 learningObjectives로 대체한다. 선택
{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "https://example.com/#/texts/imscaliperimplguide/cfi/6/10!/4/2/2/2@0:0",
  "type": "Page",
  "name": "Page 5",
  "isPartOf": {
    "id": "https://example.com/#/texts/imscaliperimplguide/cfi/6/10",
    "type": "Chapter",
    "name": "Chapter 1",
    "isPartOf": {
      "id": "https://example.com/#/texts/imscaliperimplguide",
      "type": "Document",
      "name": "IMS Caliper Implementation Guide",
      "dateCreated": "2018-10-01T06:00:00.000Z",
      "version": "1.1"
    }
  }
}
C.35 Person

Caliper Person은 현실 혹은 가상에서 살아있거나 사망한 사람을 나타낸다.

IRI

http://purl.imsglobal.org/caliper/Person

상위유형

Agent

속성

Person은 상위유형 Agent에 정의된 모든 속성과 요구사항을 상속받는다.. 추가 요구사항은 다음과 같다.

속성 유형 상세 적합성
id IRI 반드시 유효한 IRI를 명시해야한다[MUST]. IRI는 반드시 고유하고 영구적이어야 한다[MUST]. 또한, 역참조할 수 있는 게 좋다[SHOULD]. 즉, 리소스의 접근 권한을 반환할 수 있어야 한다. URN 스키마를 사용하는 URI링크드 데이터에 적합한 HTTP URI를 사용하는 게 불가능하거나 부적절한 경우에 제공할 수 있다[MAY]. 필수
type Term 문자열 값은 반드시 Person Term으로 설정해야 한다[MUST]. 필수
name string Person을 알려진 단어 또는 구로 구성한 문자열 값. 선택
description string Person의 간략한 표현으로 구성한 문자열 값. 선택
dateCreated DateTime Person이 생성된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateModified DateTime Person이 마지막으로 변경되거나 업데이트된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 Person을 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "https://example.edu/users/554433",
  "type": "Person",
  "dateCreated": "2018-08-01T06:00:00.000Z",
  "dateModified": "2018-09-02T11:30:00.000Z"
}
C.36 Reading (삭제예정)

Caliper Reading은 페이지가 매겨진 콘텐츠의 항목을 나타낸다. Reading은 삭제예정이며, Document로 대체되어 향후 버전에서는 제거될 것이다. 참조하지 않는게 좋다[SHOULD NOT].

IRI

http://purl.imsglobal.org/caliper/Reading

상위유형

DigitalResource

속성

Reading은 상위유형 DigitalResource에 정의된 모든 속성과 요구사항을 상속받는다. 추가 요구사항은 다음과 같다.

속성 유형 상세 적합성
id IRI 반드시 유효한 IRI를 명시해야한다[MUST]. IRI는 반드시 고유하고 영구적이어야 한다[MUST]. 또한, 역참조할 수 있는 게 좋다[SHOULD]. 즉, 리소스의 접근 권한을 반환할 수 있어야 한다. URN 스키마를 사용하는 URI링크드 데이터에 적합한 HTTP URI를 사용하는 게 불가능하거나 부적절한 경우에 제공할 수 있다[MAY]. 필수
type Term 문자열 값은 반드시 Reading Term으로 설정해야 한다[MUST]. 필수
name string Reading을 알려진 단어 또는 구로 구성한 문자열 값. 선택
description string Reading의 간략한 표현으로 구성한 문자열 값 Reading. 선택
creators Array Reading을 만들어 낸 Agent 엔터티를 정렬한 집합(일반적으로 Person 유형). 각 배열의 항목은 반드시 객체 또는 항목의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
mediaType string Reading의 파일 형식을 식별하는 IANA에서 승인된 미디어 유형과 하위유형 목록에서 가져온 문자열 값. 선택
keywords Array Reading을 식별하는데 사용되는 태그나 라벨을 나타내는 하나 이상의 문자열 값을 정렬한 집합. 선택
learningObjectives Array 학습자가 Reading을 활용한 후에, 학습자가 이해하거나 달성할 것으로 예상되는 것을 설명하는 하나 이상의 LearningObjective 엔터티를 정렬한 집합. 각 배열의 항목은 반드시 객체 또는 항목의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
isPartOf Entity | IRI Reading을 전체적으로 포함하거나 일부 포함하는 관련 Entity. isPartOf 값은 반드시 객체 또는 관련 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
dateCreated DateTime Reading이 생성된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateModified DateTime Reading이 마지막으로 변경되거나 업데이트된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
datePublished DateTime Reading이 공개된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
version string Reading의 현재 양식이나 버전을 나타내는 문자열 값. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 Reading을 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
제거대상 속성

다음 Reading 속성은 제거대상이므로 사용해서는 안된다[MUST NOT]. 해당 속성은 향후 버전의 Caliper에서 제거될 것이다.

속성 유형 상세 적합성
objectType string DigitalResource의 유형을 지정하는 문자열 값. 선택
alignedLearningObjective Array 학습자가 DigitalResource를 활용한 후에, 학습자가 이해하거나 달성할 것으로 예상되는 것을 설명하는 하나 이상의 LearningObjective 엔터티를 정렬한 집합. alignedLearningObjective는 제거대상이므로 learningObjectives로 대체한다. 선택
C.37 Response

Caliper ResponseAssessmentItem과 상호작용하는 Person에 의해 생성된 선택 항목을 나타내는 일반 유형이다.

Response는 서술하고자 하는 대상에 해당하는 유효한 하위유형이 존재하지 않을 경우에만 사용한다.

IRI

http://purl.imsglobal.org/caliper/Response

상위유형

Entity

속성

Response는 상위유형 DigitalResource에 정의된 모든 속성과 요구사항을 상속받는다. 추가 속성과 요구사항은 다음과 같다.

속성 유형 상세 적합성
id IRI 반드시 유효한 IRI를 명시해야한다[MUST]. IRI는 반드시 고유하고 영구적이어야 한다[MUST]. 또한, 역참조할 수 있는 게 좋다[SHOULD]. 즉, 리소스의 접근 권한을 반환할 수 있어야 한다. URN 스키마를 사용하는 URI링크드 데이터에 적합한 HTTP URI를 사용하는 게 불가능하거나 부적절한 경우에 제공할 수 있다[MAY]. 필수
type Term 문자열 값은 반드시 Response Term으로 설정해야 한다[MUST]. 필수
name string Response를 알려진 단어 또는 구로 구성한 문자열 값. 선택
description string Response의 간략한 표현으로 구성한 문자열 값. 선택
attempt Attempt | IRI 연관된 Attempt. attempt 값은 반드시 객체 또는 attempt의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 객체 표현이 제공되면, AttemptResponse를 생성하는 Person과 관련 AssessmentItem을 참조하는게 좋다[SHOULD]. 선택
dateCreated DateTime Response가 생성된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateModified DateTime Response가 마지막으로 변경되거나 업데이트된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
startedAtTime DateTime Response가 시작될 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
endedAtTime DateTime Response가 완료되고 종료된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
duration Duration Response를 완료하는 데 걸리는 시간을 나타내는 시간 간격. 이 값은 반드시 ISO 8601 기간 형식으로 표현해야 한다[MUST]. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 Response를 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
제거대상 속성

다음 Response 속성은 제거대상이므로 사용해서는 안된다[MUST NOT]. 해당 속성은 향후 버전의 Caliper에서 제거될 것이다.

속성 유형 상세 적합성
actor Person Response를 생성한 Person. actor는 제거대상이므로 attempt로 대체한다. 선택
assignable AssessmentItem Response와 관련된 AssessmentItem. assignable는 제거대상이므로 attempt로 대체한다. 선택
하위유형

FillinBlankResponse, MultipleChoiceResponse, MutlipleResponseResponse, SelectTextResponse, TrueFalseResponse

{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "https://example.edu/terms/201801/courses/7/sections/1/assess/1/items/6/users/554433/responses/1",
  "type": "Response",
  "attempt": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1/assess/1/items/6/users/554433/attempts/1",
    "type": "Attempt",
    "assignee": "https://example.edu/users/554433",
    "assignable": {
      "id": "https://example.edu/terms/201801/courses/7/sections/1/assess/1/items/6",
      "type": "AssessmentItem",
      "isPartOf": {
        "id": "https://example.edu/terms/201801/courses/7/sections/1/assess/1",
        "type": "Assessment"
      },
      "dateCreated": "2018-08-01T06:00:00.000Z",
      "datePublished": "2018-08-15T09:30:00.000Z",
      "isTimeDependent": false,
      "maxAttempts": 2,
      "maxScore": 5.0,
      "maxSubmits": 2,
      "extensions": {
        "questionType": "Short Answer",
        "questionText": "Define Caliper Event and provide examples."
      }
    },
    "count": 1,
    "startedAtTime": "2018-11-15T10:15:46.000Z",
    "endedAtTime": "2018-11-15T10:17:20.000Z"
  },
  "dateCreated": "2018-11-15T10:15:46.000Z",
  "startedAtTime": "2018-11-15T10:15:46.000Z",
  "endedAtTime": "2018-11-15T10:17:20.000Z",
  "extensions": {
      "value": "Caliper Event describes a relationship established between an actor and an object.  The relationship is formed as a result of a purposeful action undertaken by the actor in connection to the object at a particular moment. A learner starting an assessment, annotating a reading, pausing a video, or posting a message to a forum, are examples of learning activities that Caliper models as events."
    }
}
C.38 Result

Caliper Result는 성적표에 기록된 현재 점수 또는 성적을 나타낸다. Result 점수 값은 조정되거나 매겨진 값을 의미하며, 변경가능하다.

IRI

http://purl.imsglobal.org/caliper/Result

상위유형

Entity

속성

Result는 상위유형 Entity에 정의된 모든 속성과 요구사항을 상속받는다. 추가 속성과 요구사항은 다음과 같다.

속성 유형 상세 적합성
id IRI 반드시 유효한 IRI를 명시해야한다[MUST]. IRI는 반드시 고유하고 영구적이어야 한다[MUST]. 또한, 역참조할 수 있는 게 좋다[SHOULD]. 즉, 리소스의 접근 권한을 반환할 수 있어야 한다. URN 스키마를 사용하는 URI링크드 데이터에 적합한 HTTP URI를 사용하는 게 불가능하거나 부적절한 경우에 제공할 수 있다[MAY]. 필수
type Term 문자열 값은 반드시 Result Term으로 설정해야 한다[MUST]. 필수
name string Result를 알려진 단어 또는 구로 구성한 문자열 값. 선택
description string Result의 간략한 표현으로 구성한 문자열 값. 선택
attempt Attempt | IRI 연관된 Attempt. attempt 값은 반드시 객체 또는 attempt의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 객체 표현이 제공되면, AttemptAttempt를 생성하는 Person과 할당된 DigitalResource를 참조하는게 좋다[SHOULD]. 선택
maxResultScore decimal 허용된 최대 결과 점수를 나타내는 소수점 구분 기호로 표시된 소수 부분이 있는 숫자. 선택
resultScore decimal 실제 결과 점수를 나타내는 소수점 구분 기호로 표시된 소수 부분이 있는 숫자. 선택
scoredBy Agent | IRI Attempt를 채점하거나 점수를 매기는 Agent. scoredBy 값은 반드시 객체 또는 점수를 획득한 자의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
comment string 점수를 획득한 자에게 제공되는 일반 텍스트 피드백. 선택
dateCreated DateTime Result가 생성된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateModified DateTime Result가 마지막으로 변경되거나 업데이트된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 Result를 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
제거대상 속성

다음 Result 속성은 제거대상이므로 사용해서는 안된다[MUST NOT]. 해당 속성은 향후 버전의 Caliper에서 제거될 것이다.

속성 유형 상세 적합성
actor Person Attempt를 생성하는 Person. actor는 제거대상이므로 attempt로 대체한다. 선택
assignable DigitalResource Result와 관련된 DigitalResource. assignable는 제거대상이므로 attempt로 대체한다. 선택
normalScore decimal extraCreditScore를 더하기 에 학습자가 얻은 점수, penaltyScore또는 curveFactor가 존재한다면 각각을 빼거나 적용한 값이다. 선택
penaltyScore decimal 마감 기한 이후 제출한 Attempt와 같은 위반 사항으로 인해 normalScore에서 공제될 점수. 선택
extraCreditScore decimal 학습자가 얻은 추가 점수. 선택
totalScore decimal 학습자가 얻은 총 점수로 계산식은 normalScore + extraCreditScore - penaltyScore. 이 값은 커브 효과를 받지 않는다. 선택
curvedTotalScore decimal 조정된 점수를 계산하기 위해 계산식에 curveFactor를 적용한 후 학습자가 얻은 총 점수. 예를 들어, 점수를 100 - curvedFactor(100 - totalScore)와 같이 조정한다. 선택
curveFactor decimal totalScore를 조정할 때 사용하는 환산 계수. 선택
{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "https://example.edu/terms/201801/courses/7/sections/1/assess/1/users/554433/attempts/1/results/1",
  "type": "Result",
  "attempt": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1/assess/1/users/554433/attempts/1",
    "type": "Attempt",
    "assignee": {
      "id": "https://example.edu/users/554433",
      "type": "Person"
    },
    "assignable": {
      "id": "https://example.edu/terms/201801/courses/7/sections/1/assess/1",
      "type": "Assessment"
    },
    "count": 1,
    "dateCreated": "2018-11-15T10:05:00.000Z",
    "startedAtTime": "2018-11-15T10:05:00.000Z",
    "endedAtTime": "2018-11-15T10:55:30.000Z",
    "duration": "PT50M30S"
  },
  "maxResultScore": 15.0,
  "resultScore": 10.0,
  "scoredBy": {
    "id": "https://example.edu/autograder",
    "type": "SoftwareApplication",
    "dateCreated": "2018-11-15T10:55:58.000Z"
  },
  "comment": "Consider retaking the assessment.",
  "dateCreated": "2018-11-15T10:56:00.000Z"
}
C.39 Score

Caliper Score는 주어진 과제 제출에 대해 부여된 “미가공” 또는 조정되지 않은 숫자 점수 또는 등급을 나타낸다. 성적표는 scoreGiven값을 읽기 전용으로 처리하고 보존하는게 좋다[SHOULD].

IRI

http://purl.imsglobal.org/caliper/Score

상위유형

Entity

속성

Score는 상위유형 Entity에 정의된 모든 속성과 요구사항을 상속받는다. 추가 속성과 요구사항은 다음과 같다.

속성 유형 상세 적합성
id IRI 반드시 유효한 IRI를 명시해야한다[MUST]. IRI는 반드시 고유하고 영구적이어야 한다[MUST]. 또한, 역참조할 수 있는 게 좋다[SHOULD]. 즉, 리소스의 접근 권한을 반환할 수 있어야 한다. URN 스키마를 사용하는 URI링크드 데이터에 적합한 HTTP URI를 사용하는 게 불가능하거나 부적절한 경우에 제공할 수 있다[MAY]. 필수
type Term 문자열 값은 반드시 Score Term으로 설정해야 한다[MUST]. 필수
name string Score를 알려진 단어 또는 구로 구성한 문자열 값. 선택
description string Score의 간략한 표현으로 구성한 문자열 값. 선택
attempt Attempt | IRI 연관된 Attempt. attempt 값은 반드시 객체 또는 attempt의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 객체 표현이 제공되면, AttemptAttempt를 생성하는 Person과 할당된 DigitalResource를 참조하는게 좋다[SHOULD]. 선택
maxScore decimal 허용된 최대 점수를 나타내는 소수점 구분 기호로 표시된 소수 부분이 있는 숫자. 선택
scoreGiven decimal 부여된 실제 점수를 나타내는 소수점 구분 기호로 표시된 소수 부분이 있는 숫자. 선택
scoredBy Agent | IRI Attempt를 채점하거나 점수를 매기는 Agent. scoredBy 값은 반드시 객체 또는 점수를 획득한 자의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
comment string 점수를 획득한 자에게 제공되는 일반 텍스트 피드백. 선택
dateCreated DateTime Score가 생성된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateModified DateTime Score가 마지막으로 변경되거나 업데이트된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 Score를 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "https://example.edu/terms/201801/courses/7/sections/1/assess/1/users/554433/attempts/1/scores/1",
  "type": "Score",
  "attempt": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1/assess/1/users/554433/attempts/1",
    "type": "Attempt",
    "assignee": "https://example.edu/users/554433",
    "assignable": "https://example.edu/terms/201801/courses/7/sections/1/assess/1",
    "count": 1,
    "dateCreated": "2018-11-15T10:05:00.000Z",
    "startedAtTime": "2018-11-15T10:05:00.000Z",
    "endedAtTime": "2018-11-15T10:55:30.000Z",
    "duration": "PT50M30S"
  },
  "maxScore": 15.0,
  "scoreGiven": 10.0,
  "scoredBy": {
    "id": "https://example.edu/autograder",
    "type": "SoftwareApplication",
    "dateCreated": "2018-11-15T10:55:58.000Z"
  },
  "comment": "auto-graded exam",
  "dateCreated": "2018-11-15T10:56:00.000Z"
}
C.40 SelectTextResponse

Caliper SelectTextResponse는 표시된 단락이나 목록에서의 텍스트 또는 매핑을 식별하는 Response 유형을 나타낸다.

IRI

http://purl.imsglobal.org/caliper/SelectTextResponse

상위유형

Response

속성

SelectTextResponse는 상위유형 Response에 정의된 모든 속성과 요구사항을 상속받는다. 추가 속성과 요구사항은 다음과 같다.

속성 유형 상세 적합성
id IRI 반드시 유효한 IRI를 명시해야한다[MUST]. IRI는 반드시 고유하고 영구적이어야 한다[MUST]. 또한, 역참조할 수 있는 게 좋다[SHOULD]. 즉, 리소스의 접근 권한을 반환할 수 있어야 한다. URN 스키마를 사용하는 URI링크드 데이터에 적합한 HTTP URI를 사용하는 게 불가능하거나 부적절한 경우에 제공할 수 있다[MAY]. 필수
type Term 문자열 값은 반드시 SelectTextResponse Term으로 설정해야 한다[MUST]. 필수
name string SelectTextResponse를 알려진 단어 또는 구로 구성한 문자열 값. SelectTextResponse 선택
description string SelectTextResponse의 간략한 표현으로 구성한 문자열 값. 선택
attempt Attempt | IRI 연관된 Attempt. attempt 값은 반드시 객체 또는 attempt의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 객체 표현이 제공되면, Attempt SelectTextResponse를 생성하는 Person과 관련 AssessmentItem을 참조하는게 좋다[SHOULD]. 선택
values Array 하나 이상의 선택된 옵션을 정렬한 집합. 선택
dateCreated DateTime SelectTextResponse가 생성된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateModified DateTime SelectTextResponse가 마지막으로 변경되거나 업데이트된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
startedAtTime DateTime SelectTextResponse가 시작될 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
endedAtTime DateTime SelectTextResponse가 완료되고 종료된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
duration Duration 를 완료하는 데 걸리는 시간을 나타내는 시간 간격 SelectTextResponse. 이 값은 반드시 ISO 8601 기간 형식으로 표현해야 한다[MUST]. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 SelectTextResponse를 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
제거대상 속성

다음 SelectTextResponse 속성은 제거대상이므로 사용해서는 안된다[MUST NOT]. 해당 속성은 향후 버전의 Caliper에서 제거될 것이다.

속성 유형 상세 적합성
actor Person Response를 생성한 Person. actor는 제거대상이므로 attempt로 대체한다. 선택
assignable AssessmentItem Response와 관련된 AssessmentItem. assignable는 제거대상이므로 attempt로 대체한다. 선택
{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "https://example.edu/terms/201801/courses/7/sections/1/assess/1/items/4/users/554433/responses/1",
  "type": "SelectTextResponse",
  "attempt": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1/assess/1/items/4/users/554433/attempts/1",
    "type": "Attempt",
    "assignee": {
      "id": "https://example.edu/users/554433",
      "type": "Person"
    },
    "assignable": {
      "id": "https://example.edu/terms/201801/courses/7/sections/1/assess/1/items/4",
      "type": "AssessmentItem",
      "isPartOf": {
        "id": "https://example.edu/terms/201801/courses/7/sections/1/assess/1",
        "type": "Assessment"
      }
    },
    "count": 1,
    "startedAtTime": "2018-11-15T10:15:32.000Z",
    "endedAtTime": "2018-11-15T10:15:38.000Z"
  },
  "dateCreated": "2018-11-15T10:15:32.000Z",
  "startedAtTime": "2018-11-15T10:15:32.000Z",
  "endedAtTime": "2018-11-15T10:15:38.000Z",
  "values": [ "Information Model", "Sensor API", "Profiles" ]
}
C.41 Session

Caliper Session은 웹 어플리케이션의 사용자 세션을 나타낸다.

IRI

http://purl.imsglobal.org/caliper/Session

상위유형

Entity

속성

Session은 상위유형 Entity에 정의된 모든 속성과 요구사항을 상속받는다. 추가 속성과 요구사항은 다음과 같다.

속성 유형 상세 적합성
id IRI 반드시 유효한 IRI를 명시해야한다[MUST]. IRI는 반드시 고유하고 영구적이어야 한다[MUST]. 또한, 역참조할 수 있는 게 좋다[SHOULD]. 즉, 리소스의 접근 권한을 반환할 수 있어야 한다. URN 스키마를 사용하는 URI링크드 데이터에 적합한 HTTP URI를 사용하는 게 불가능하거나 부적절한 경우에 제공할 수 있다[MAY]. 필수
type Term 문자열 값은 반드시 Agent Term으로 설정해야 한다[MUST]. 필수
name string Session을 알려진 단어 또는 구로 구성한 문자열 값. 선택
description string Session의 간략한 표현으로 구성한 문자열 값. 선택
user Person Session을 생성하는 Person 선택
dateCreated DateTime Session이 생성된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateModified DateTime Session이 마지막으로 변경되거나 업데이트된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
startedAtTime DateTime Session이 시작될 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
endedAtTime DateTime Session이 완료되고 종료된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
duration Duration Session을 완료하는 데 걸리는 시간을 나타내는 시간 간격. 이 값은 반드시 ISO 8601 기간 형식으로 표현해야 한다[MUST]. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 Session을 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
제거대상 속성

다음 Session 속성은 제거대상이므로 사용해서는 안된다[MUST NOT]. 해당 속성은 향후 버전의 Caliper에서 제거될 것이다.

속성 유형 상세 적합성
actor Person Session을 생성하는 Person. actor는 제거대상이므로 user로 대체한다. 선택
하위유형

LtiSession

{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "https://example.edu/sessions/1f6442a482de72ea6ad134943812bff564a76259",
  "type": "Session",
  "user": {
    "id": "https://example.edu/users/554433",
    "type": "Person"
  },
  "startedAtTime": "2018-09-15T10:00:00.000Z"
}
C.42 SharedAnnotation

Caliper SharedAnnotationDigitalResource에 대한 참조를 다른 에이전트와 공유하는 행위를 나타낸다.

IRI

http://purl.imsglobal.org/caliper/SharedAnnotation

상위유형

Annotation

속성

SharedAnnotation은 상위유형 Annotation에 정의된 모든 속성과 요구사항을 상속받는다. 추가 속성과 요구사항은 다음과 같다.

속성 유형 상세 적합성
id IRI 반드시 유효한 IRI를 명시해야한다[MUST]. IRI는 반드시 고유하고 영구적이어야 한다[MUST]. 또한, 역참조할 수 있는 게 좋다[SHOULD]. 즉, 리소스의 접근 권한을 반환할 수 있어야 한다. URN 스키마를 사용하는 URI링크드 데이터에 적합한 HTTP URI를 사용하는 게 불가능하거나 부적절한 경우에 제공할 수 있다[MAY]. 필수
type Term 문자열 값은 반드시 SharedAnnotation Term으로 설정해야 한다[MUST]. 필수
name string SharedAnnotation을 알려진 단어 또는 구로 구성한 문자열 값. 선택
description string SharedAnnotation의 간략한 표현으로 구성한 문자열 값. 선택
annotator Person | IRI 리소스에 대한 참조를 공유하는 Person. annotator 값은 반드시 객체 또는 annotator의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
annotated DigitalResource | IRI annotator에 의해 주석이 생성된 DigitalResource. annotated 값은 객체 또는 주석이 생성된 리소스의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
withAgents Array 주석이 달린 DigitalResource가 공유된 하나 이상의 Agent 엔터티(일반적으로 Person 유형)를 정렬한 집합. 각 배열의 항목은 반드시 객체 또는 항목의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
dateCreated DateTime SharedAnnotation이 생성된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateModified DateTime SharedAnnotation이 마지막으로 변경되거나 업데이트된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 SharedAnnotation를 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "https://example.edu/users/554433/etexts/201/shares/1",
  "type": "SharedAnnotation",
  "annotator": {
    "id": "https://example.edu/users/554433",
    "type": "Person"
  },
  "annotated": {
    "id": "https://example.edu/etexts/201.epub",
    "type": "Document"
  },
  "withAgents": [
    {
      "id": "https://example.edu/users/657585",
      "type": "Person"
    },
    {
      "id": "https://example.edu/users/667788",
      "type": "Person"
    }
  ],
  "dateCreated": "2018-08-01T09:00:00.000Z"
}
C.43 SoftwareApplication

Caliper SoftwareApplication은 컴퓨터 프로그램, 응용 프로그램, 모듈, 플랫폼 또는 시스템을 나타낸다.

IRI

http://purl.imsglobal.org/caliper/SoftwareApplication

상위유형

Agent

속성

SoftwareApplication은 상위유형 Agent에 정의된 모든 속성과 요구사항을 상속받는다.. 추가 속성과 요구사항은 다음과 같다.

속성 유형 상세 적합성
id IRI 반드시 유효한 IRI를 명시해야한다[MUST]. IRI는 반드시 고유하고 영구적이어야 한다[MUST]. 또한, 역참조할 수 있는 게 좋다[SHOULD]. 즉, 리소스의 접근 권한을 반환할 수 있어야 한다. URN 스키마를 사용하는 URI링크드 데이터에 적합한 HTTP URI를 사용하는 게 불가능하거나 부적절한 경우에 제공할 수 있다[MAY]. 필수
type Term 문자열 값은 반드시 SoftwareApplication Term으로 설정해야 한다[MUST]. 필수
name string SoftwareApplication을 알려진 단어 또는 구로 구성한 문자열 값. 선택
description string SoftwareApplication의 간략한 표현으로 구성한 문자열 값. 선택
dateCreated DateTime SoftwareApplication이 생성된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateModified DateTime SoftwareApplication이 마지막으로 변경되거나 업데이트된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
version string SoftwareApplication의 현재 양식이나 버전을 나타내는 문자열 값. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 SoftwareApplication을 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "https://example.edu/autograder",
  "type": "SoftwareApplication",
  "name": "Auto Grader",
  "description": "Automates assignment scoring.",
  "version": "2.5.2"
}
C.44 TagAnnotation

Caliper TagAnnotationDigitalResource에 태그 또는 라벨을 붙이는 행동을 나타낸다.

IRI

http://purl.imsglobal.org/caliper/TagAnnotation

상위유형

Annotation

속성

TagAnnotation은 상위유형 Annotation에 정의된 모든 속성과 요구사항을 상속받는다. 추가 속성과 요구사항은 다음과 같다.

속성 유형 상세 적합성
id IRI 반드시 유효한 IRI를 명시해야한다[MUST]. IRI는 반드시 고유하고 영구적이어야 한다[MUST]. 또한, 역참조할 수 있는 게 좋다[SHOULD]. 즉, 리소스의 접근 권한을 반환할 수 있어야 한다. URN 스키마를 사용하는 URI링크드 데이터에 적합한 HTTP URI를 사용하는 게 불가능하거나 부적절한 경우에 제공할 수 있다[MAY]. 필수
type Term 문자열 값은 반드시 TagAnnotation Term으로 설정해야 한다[MUST]. 필수
name string TagAnnotation을 알려진 단어 또는 구로 구성한 문자열 값. 선택
description string TagAnnotation의 간략한 표현으로 구성한 문자열 값. 선택
annotator Person | IRI TagAnnotation을 생성하는 Person. annotator 값은 반드시 객체 또는 annotator의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
annotated DigitalResource | IRI annotator에 의해 주석이 생성된 DigitalResource. annotated 값은 객체 또는 주석이 생성된 리소스의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
tags Array 주석이 달린 DigitalResource와 관련된 태그를 나타내는 하나 이상의 문자열 값을 정렬한 집합. 선택
dateCreated DateTime TagAnnotation이 생성된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateModified DateTime TagAnnotation이 마지막으로 변경되거나 업데이트된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 TagAnnotation을 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "https://example.com/users/554433/texts/imscaliperimplguide/tags/3",
  "type": "TagAnnotation",
  "annotator": {
    "id": "https://example.edu/users/554433",
    "type": "Person"
  },
  "annotated": {
    "id": "https://example.com/#/texts/imscaliperimplguide/cfi/6/10!/4/2/2/2@0:0",
    "type": "Page"
  },
  "tags": [ "profile", "event", "entity" ],
  "dateCreated": "2018-08-01T09:00:00.000Z"
}
C.45 Thread

Caliper Thread는 공통 주제를 공유하고 회신이나 날짜 관계로 연결되는 하나 이상의 메시지를 나타낸다.

IRI

http://purl.imsglobal.org/caliper/Thread

상위유형

DigitalResourceCollection

속성

Thread는 상위유형 DigitalResourceCollection에 정의된 모든 속성과 요구사항을 상속받는다. 추가 속성과 요구사항은 다음과 같다.

속성 유형 상세 적합성
id IRI 반드시 유효한 IRI를 명시해야한다[MUST]. IRI는 반드시 고유하고 영구적이어야 한다[MUST]. 또한, 역참조할 수 있는 게 좋다[SHOULD]. 즉, 리소스의 접근 권한을 반환할 수 있어야 한다. URN 스키마를 사용하는 URI링크드 데이터에 적합한 HTTP URI를 사용하는 게 불가능하거나 부적절한 경우에 제공할 수 있다[MAY]. 필수
type Term 문자열 값은 반드시 Forum Term으로 설정해야 한다[MUST]. 필수
name string Thread를 알려진 단어 또는 구로 구성한 문자열 값. 선택
description string Thread의 간략한 표현으로 구성한 문자열 값. 선택
creators Array Thread를 만들어 낸 Agent 엔터티를 정렬한 집합(일반적으로 Person 유형). 각 배열의 항목은 반드시 객체 또는 항목의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
mediaType string Thread의 파일 형식을 식별하는 IANA에서 승인된 미디어 유형과 하위유형 목록에서 가져온 문자열 값. 선택
keywords Array Thread를 식별하는데 사용되는 태그나 라벨을 나타내는 하나 이상의 문자열 값을 정렬한 집합. 선택
learningObjectives Array 학습자가 Thread를 활용한 후에, 학습자가 이해하거나 달성할 것으로 예상되는 것을 설명하는 하나 이상의 LearningObjective 엔터티를 정렬한 집합. 각 배열의 항목은 반드시 객체 또는 항목의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
isPartOf Forum | IRI Thread를 전체적으로 포함하거나 일부 포함하는 관련 Forum. isPartOf 값은 반드시 객체 또는 관련 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
items Array Message 엔터티를 정렬한 집합. 각 배열의 항목은 반드시 객체 또는 항목의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
dateCreated DateTime Thread가 생성된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateModified DateTime Thread가 마지막으로 변경되거나 업데이트된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
datePublished DateTime Thread가 공개된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
version string Forum의 현재 양식이나 버전을 나타내는 문자열 값. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 Thread를 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
제거대상 속성

다음 Thread 속성은 제거대상이므로 사용해서는 안된다[MUST NOT]. 해당 속성은 향후 버전의 Caliper에서 제거될 것이다.

속성 유형 상세 적합성
objectType string DigitalResource의 유형을 지정하는 문자열 값. 선택
alignedLearningObjective Array 학습자가 DigitalResource를 활용한 후에, 학습자가 이해하거나 달성할 것으로 예상되는 것을 설명하는 하나 이상의 LearningObjective 엔터티를 정렬한 집합. alignedLearningObjective는 제거대상이므로 learningObjectives로 대체한다. 선택
{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "https://example.edu/terms/201801/courses/7/sections/1/forums/1/topics/1",
  "type": "Thread",
  "name": "Caliper Information Model",
  "items": [
    {
      "id": "https://example.edu/terms/201801/courses/7/sections/1/forums/1/topics/1/messages/1",
      "type": "Message"
    },
    {
      "id": "https://example.edu/terms/201801/courses/7/sections/1/forums/1/topics/1/messages/2",
      "type": "Message",
      "replyTo": {
        "id": "https://example.edu/terms/201801/courses/7/sections/1/forums/1/topics/1/messages/1",
        "type": "Message"
      }
    },
    {
      "id": "https://example.edu/terms/201801/courses/7/sections/1/forums/1/topics/1/messages/3",
      "type": "Message",
      "replyTo": {
        "id": "https://example.edu/terms/201801/courses/7/sections/1/forums/1/topics/1/messages/2",
        "type": "Message"
      }
    }
  ],
  "isPartOf": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1/forums/1",
    "type": "Forum",
    "name": "Caliper Forum",
    "isPartOf": {
      "id": "https://example.edu/terms/201801/courses/7/sections/1",
      "type": "CourseSection",
      "subOrganizationOf": {
        "id": "https://example.edu/terms/201801/courses/7",
        "type": "CourseOffering"
      }
    }
  },
  "dateCreated": "2018-08-01T06:00:00.000Z",
  "dateModified": "2018-09-02T11:30:00.000Z"
}
C.46 TrueFalseResponse

Caliper TrueFalseResponse은 두 가지 가능한 옵션(예: 참/거짓, 예/아니오)만을 제공하는 AssessmentItem에 대한 Response 유형을 나타낸다.

IRI

http://purl.imsglobal.org/caliper/TrueFalseResponse

상위유형

Response

속성

TrueFalseResponse는 상위유형 Response에 정의된 모든 속성과 요구사항을 상속받는다. 추가 속성과 요구사항은 다음과 같다.

속성 유형 상세 적합성
id IRI 반드시 유효한 IRI를 명시해야한다[MUST]. IRI는 반드시 고유하고 영구적이어야 한다[MUST]. 또한, 역참조할 수 있는 게 좋다[SHOULD]. 즉, 리소스의 접근 권한을 반환할 수 있어야 한다. URN 스키마를 사용하는 URI링크드 데이터에 적합한 HTTP URI를 사용하는 게 불가능하거나 부적절한 경우에 제공할 수 있다[MAY]. 필수
type Term 문자열 값은 반드시 TrueFalseResponse Term으로 설정해야 한다[MUST]. 필수
name string TrueFalseResponse를 알려진 단어 또는 구로 구성한 문자열 값. 선택
description string TrueFalseResponse의 간략한 표현으로 구성한 문자열 값. 선택
attempt Attempt | IRI 연관된 Attempt. attempt 값은 반드시 객체 또는 attempt의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 객체 표현이 제공되면, AttemptTrueFalseResponse를 생성하는 Person과 관련 AssessmentItem을 참조하는게 좋다[SHOULD] . 선택
value string 참/거짓, 예/아니오와 같은 이진 선택을 할 수 있는 문자열 값을 제공하는게 좋다[SHOULD]. 선택
dateCreated DateTime TrueFalseResponse가 생성된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateModified DateTime TrueFalseResponse가 마지막으로 변경되거나 업데이트된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
startedAtTime DateTime TrueFalseResponse가 시작될 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
endedAtTime DateTime TrueFalseResponse가 완료되고 종료된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
duration Duration TrueFalseResponse를 완료하는 데 걸리는 시간을 나타내는 시간 간격. 이 값은 반드시 ISO 8601 기간 형식으로 표현해야 한다[MUST]. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 TrueFalseResponse 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
제거대상 속성

다음 TrueFalseResponse 속성은 제거대상이므로 사용해서는 안된다[MUST NOT]. 해당 속성은 향후 버전의 Caliper에서 제거될 것이다.

속성 유형 상세 적합성
actor Person Response를 생성한 Person. actor는 제거대상이므로 attempt로 대체한다. 선택
assignable AssessmentItem Response와 관련된 AssessmentItem. assignable는 제거대상이므로 attempt로 대체한다. 선택
{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "https://example.edu/terms/201801/courses/7/sections/1/assess/1/items/5/users/554433/responses/1",
  "type": "TrueFalseResponse",
  "attempt": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1/assess/1/items/5/users/554433/attempts/1",
    "type": "Attempt",
    "assignee": {
      "id": "https://example.edu/users/554433",
      "type": "Person"
    },
    "assignable": {
      "id": "https://example.edu/terms/201801/courses/7/sections/1/assess/1/items/5",
      "type": "AssessmentItem",
      "isPartOf": {
        "id": "https://example.edu/terms/201801/courses/7/sections/1/assess/1",
        "type": "Assessment"
      }
    },
    "count": 1,
    "startedAtTime": "2018-11-15T10:15:40.000Z",
    "endedAtTime": "2018-11-15T10:15:45.000Z"
  },
  "dateCreated": "2018-11-15T10:15:45.000Z",
  "startedAtTime": "2018-11-15T10:15:40.000Z",
  "endedAtTime": "2018-11-15T10:15:45.000Z",
  "value": "true"
}
C.47 VideoObject

Caliper VideoObject는 디지털 형식으로 저장된 시각적 기록을 나타낸다.

IRI

http://purl.imsglobal.org/caliper/VideoObject

상위유형

MediaObject

속성

VideoObject는 상위유형 MediaObject에 정의된 모든 속성과 요구사항을 상속받는다. 추가 요구사항은 다음과 같다.

속성 유형 상세 적합성
id IRI 반드시 유효한 IRI를 명시해야한다[MUST]. IRI는 반드시 고유하고 영구적이어야 한다[MUST]. 또한, 역참조할 수 있는 게 좋다[SHOULD]. 즉, 리소스의 접근 권한을 반환할 수 있어야 한다. URN 스키마를 사용하는 URI링크드 데이터에 적합한 HTTP URI를 사용하는 게 불가능하거나 부적절한 경우에 제공할 수 있다[MAY]. 필수
type Term 문자열 값은 반드시 VideoObject Term으로 설정해야 한다[MUST]. 필수
name string VideoObject를 알려진 단어 또는 구로 구성한 문자열 값. 선택
description string VideoObject의 간략한 표현으로 구성한 문자열 값. 선택
creators Array VideoObject를 만들어 낸 Agent 엔터티를 정렬한 집합(일반적으로 Person 유형). 각 배열의 항목은 반드시 객체 또는 항목의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
mediaType string VideoObject의 파일 형식을 식별하는 IANA에서 승인된 미디어 유형과 하위유형 목록에서 가져온 문자열 값. 선택
keywords Array VideoObject를 식별하는데 사용되는 태그나 라벨을 나타내는 하나 이상의 문자열 값을 정렬한 집합. 선택
learningObjectives Array 학습자가 VideoObject를 활용한 후에, 학습자가 이해하거나 달성할 것으로 예상되는 것을 설명하는 하나 이상의 LearningObjective 엔터티를 정렬한 집합. 각 배열의 항목은 반드시 객체 또는 항목의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
isPartOf Entity | IRI VideoObject를 전체적으로 포함하거나 일부 포함하는 관련 Entity. isPartOf 값은 반드시 객체 또는 관련 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
duration Duration VideoObject를 일반 속도로 보거나 듣는데 필요한 총 시간을 나타내는 값. 이 값은 반드시 ISO 8601 기간 형식으로 표현해야 한다[MUST]. 선택
dateCreated DateTime VideoObject가 생성된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateModified DateTime VideoObject가 마지막으로 변경되거나 업데이트된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
datePublished DateTime VideoObject가 공개된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
version string VideoObject의 현재 양식이나 버전을 나타내는 문자열 값. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 VideoObject를 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. 선택
제거대상 속성

다음 VideoObject 속성은 제거대상이므로 사용해서는 안된다[MUST NOT]. 해당 속성은 향후 버전의 Caliper에서 제거될 것이다.

속성 유형 상세 적합성
objectType string DigitalResource의 유형을 지정하는 문자열 값. 선택
alignedLearningObjective Array 학습자가 DigitalResource를 활용한 후에, 학습자가 이해하거나 달성할 것으로 예상되는 것을 설명하는 하나 이상의 LearningObjective 엔터티를 정렬한 집합. alignedLearningObjective는 제거대상이므로 learningObjectives로 대체한다. 선택
{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "https://example.edu/videos/1225",
  "type": "VideoObject",
  "mediaType": "video/ogg",
  "name": "Introduction to IMS Caliper",
  "version": "1.1",
  "dateCreated": "2018-08-01T06:00:00.000Z",
  "dateModified": "2018-09-02T11:30:00.000Z",
  "duration": "PT1H12M27S"
}
C.48 WebPage

Caliper WebPage는 웹 브라우저에 표시하기 적합한 마크업을 포함하는 문서를 나타낸다.

IRI

http://purl.imsglobal.org/caliper/WebPage

상위유형

DigitalResource

속성

WebPage는 상위유형 DigitalResource에 정의된 모든 속성과 요구사항을 상속받는다. 추가 요구사항은 다음과 같다.

속성 유형 상세 적합성
id IRI 반드시 유효한 IRI를 명시해야한다[MUST]. IRI는 반드시 고유하고 영구적이어야 한다[MUST]. 또한, 역참조할 수 있는 게 좋다[SHOULD]. 즉, 리소스의 접근 권한을 반환할 수 있어야 한다. URN 스키마를 사용하는 URI링크드 데이터에 적합한 HTTP URI를 사용하는 게 불가능하거나 부적절한 경우에 제공할 수 있다[MAY]. 필수
type Term 문자열 값은 반드시 WebPage Term으로 설정해야 한다[MUST]. 필수
name string WebPage를 알려진 단어 또는 구로 구성한 문자열 값. 선택
description string WebPage의 간략한 표현으로 구성한 문자열 값. 선택
creators Array WebPage를 만들어 낸 Agent 엔터티를 정렬한 집합(일반적으로 Person 유형). 각 배열의 항목은 반드시 객체 또는 항목의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
mediaType string WebPage의 파일 형식을 식별하는 IANA에서 승인된 미디어 유형과 하위유형 목록에서 가져온 문자열 값. 선택
keywords Array WebPage를 식별하는데 사용되는 태그나 라벨을 나타내는 하나 이상의 문자열 값을 정렬한 집합. 선택
learningObjectives Array 학습자가 WebPage를 활용한 후에, 학습자가 이해하거나 달성할 것으로 예상되는 것을 설명하는 하나 이상의 LearningObjective 엔터티를 정렬한 집합. 각 배열의 항목은 반드시 객체 또는 항목의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
isPartOf Entity | IRI WebPage를 전체적으로 포함하거나 일부 포함하는 관련 Entity. isPartOf 값은 반드시 객체 또는 관련 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. 선택
dateCreated DateTime WebPage가 생성된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
dateModified DateTime WebPage가 마지막으로 변경되거나 업데이트된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
datePublished DateTime WebPage가 공개된 시점을 나타내는 ISO 8601 날짜와 시간값(밀리초 단위). 이 값은 반드시 오프셋이 지정되지 않은 UTC로 설정하여 YYYY-MM-DDTHH:mm:ss.SSSZ 형식으로 표현해야 한다[MUST]. 선택
version string WebPage의 현재 양식이나 버전을 나타내는 문자열 값. 선택
extensions Object 모델에 의해 정의되지 않은 추가 속성의 맵은 WebPage. 선택
제거대상 속성

다음 WebPage 속성은 제거대상이므로 사용해서는 안된다[MUST NOT]. 해당 속성은 향후 버전의 Caliper에서 제거될 것이다.

속성 유형 상세 적합성
objectType string DigitalResource의 유형을 지정하는 문자열 값. 선택
alignedLearningObjective Array 학습자가 DigitalResource를 활용한 후에, 학습자가 이해하거나 달성할 것으로 예상되는 것을 설명하는 하나 이상의 LearningObjective 엔터티를 정렬한 집합. alignedLearningObjective는 제거대상이므로 learningObjectives로 대체한다. 선택
{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "https://example.edu/terms/201801/courses/7/sections/1/pages/index.html",
  "type": "WebPage",
  "name": "CPS 435-01 Landing Page",
  "mediaType": "text/html",
  "isPartOf": {
    "id": "https://example.edu/terms/201801/courses/7/sections/1",
    "type": "CourseSection",
    "courseNumber": "CPS 435-01",
    "academicSession": "Fall 2018"
  }
}

부속서 D. Selectors

Caliper Selector는 Entity의 부분, 선택 혹은 일부를 나타낸다.

D.1 TextPositionSelector

Caliper TextPositionSelector는 텍스트 내용의 부분 또는 선택을 나타낸다. 전체 텍스트의 최초 글자(위치 0)부터의 문자 길이로 정해지는 시작과 끝의 위치을 나타낸다.

IRI

http://purl.imsglobal.org/caliper/TextPositionSelector

속성

| 속성 | 유형 | 상세 | 적합성 | | :——- | :— | ———– | :———: | | type| Term | 문자열 값은 반드시 TextPositionSelector Term으로 설정해야 한다[MUST]. | 필수 | | start | integer | 선택한 텍스트의 시작 위치를 반드시 명시해야한다[MUST]. 전체 텍스트의 첫 글자의 위치는 0 이다. | 필수 | | end | integer | 선택한 텍스트의 끝 위치를 반드시 명시해야한다[MUST]. | 필수 |

{
  "@context": "http://purl.imsglobal.org/ctx/caliper/v1p1",
  "id": "https://example.edu/users/554433/etexts/201/highlights/20",
  "type": "HighlightAnnotation",
  "annotator": {
    "id": "https://example.edu/users/554433",
    "type": "Person"
  },
  "annotated": {
    "id": "https://example.edu/etexts/201",
    "type": "Document"
  },
  "selection": {
    "type": "TextPositionSelector",
    "start": 2300,
    "end": 2370
  },
  "selectionText": "ISO 8601 formatted date and time expressed with millisecond precision.",
  "dateCreated": "2018-08-01T06:00:00.000Z"
}

부속서 E. Roles

Roles

Membershiporganizationmember로 설명된 Event actor에 하나 이상의 역할을 할당하기 위한 선택적 roles 속성을 포함한다. Role 값은 IMS LIS 표준에서 파생된 Caliper 역할 용어 목록으로 제한한다. 대부분의 경우 핵심 context roles을 할당하면 충분하다. subrole이 지정될 때마다, 관련 context roles도 함께 포함되는 게 좋다[SHOULD]. 예를 들어, Instructor#TeachingAssistant의 역할은 항상 Instructor 역할을 수반하는 게 좋다[SHOULD].

Context Roles
Term IRI 핵심
Administrator http://purl.imsglobal.org/vocab/lis/v2/membership#Administrator
ContentDeveloper http://purl.imsglobal.org/vocab/lis/v2/membership#ContentDeveloper
Instructor http://purl.imsglobal.org/vocab/lis/v2/membership#Instructor
Learner http://purl.imsglobal.org/vocab/lis/v2/membership#Learner
Manager http://purl.imsglobal.org/vocab/lis/v2/membership#Manager 아니오
Member http://purl.imsglobal.org/vocab/lis/v2/membership#Member 아니오
Mentor http://purl.imsglobal.org/vocab/lis/v2/membership#Mentor
Officer http://purl.imsglobal.org/vocab/lis/v2/membership#Officer 아니오
SubRoles

| Term | IRI | | :— | :– | | Administrator#Administrator | http://purl.imsglobal.org/vocab/lis/v2/membership/Administrator#Administrator | | Administrator#Developer | http://purl.imsglobal.org/vocab/lis/v2/membership/Administrator#Developer | | Administrator#ExternalDeveloper | http://purl.imsglobal.org/vocab/lis/v2/membership/Administrator#ExternalDeveloper | | Administrator#ExternalSupport | http://purl.imsglobal.org/vocab/lis/v2/membership/Administrator#ExternalSupport | | Administrator#ExternalSystemAdministrator | http://purl.imsglobal.org/vocab/lis/v2/membership/Administrator#ExternalSystemAdministrator | | Administrator#Support | http://purl.imsglobal.org/vocab/lis/v2/membership/Administrator#Support | | Administrator#SystemAdministrator | http://purl.imsglobal.org/vocab/lis/v2/membership/Administrator#SystemAdministrator | | ContentDeveloper#ContentDeveloper | http://purl.imsglobal.org/vocab/lis/v2/membership/ContentDeveloper#ContentDeveloper | | ContentDeveloper#ContentExpert | http://purl.imsglobal.org/vocab/lis/v2/membership/ContentDeveloper#ContentExpert | | ContentDeveloper#ExternalContentExpert | http://purl.imsglobal.org/vocab/lis/v2/membership/ContentDeveloper#ExternalContentExpert | | ContentDeveloper#Librarian | http://purl.imsglobal.org/vocab/lis/v2/membership/ContentDeveloper#Librarian | | Instructor#ExternalInstructor | http://purl.imsglobal.org/vocab/lis/v2/membership/Instructor#ExternalInstructor | | Instructor#Grader | http://purl.imsglobal.org/vocab/lis/v2/membership/Instructor#Grader | | Instructor#GuestInstructor | http://purl.imsglobal.org/vocab/lis/v2/membership/Instructor#GuestInstructor | | Instructor#Instructor | http://purl.imsglobal.org/vocab/lis/v2/membership/Instructor#Instructor | | Instructor#Lecturer | http://purl.imsglobal.org/vocab/lis/v2/membership/Instructor#Lecturer | | Instructor#PrimaryInstructor | http://purl.imsglobal.org/vocab/lis/v2/membership/Instructor#PrimaryInstructor | | Instructor#SecondaryInstructor | http://purl.imsglobal.org/vocab/lis/v2/membership/Instructor#SecondaryInstructor | | Instructor#TeachingAssistant | http://purl.imsglobal.org/vocab/lis/v2/membership#Instructor#TeachingAssistant | | Instructor#TeachingAssistantGroup | http://purl.imsglobal.org/vocab/lis/v2/membership/Instructor#TeachingAssistantGroup | | Instructor#TeachingAssistantOffering | http://purl.imsglobal.org/vocab/lis/v2/membership/Instructor#TeachingAssistantOffering | | Instructor#TeachingAssistantSection | http://purl.imsglobal.org/vocab/lis/v2/membership/Instructor#TeachingAssistantSection | | Instructor#TeachingAssistantTemplate | http://purl.imsglobal.org/vocab/lis/v2/membership/Instructor#TeachingAssistantTemplate | | Learner#ExternalLearner | http://purl.imsglobal.org/vocab/lis/v2/membership/Learner#ExternalLearner | | Learner#GuestLearner | http://purl.imsglobal.org/vocab/lis/v2/membership/Learner#GuestLearner | | Learner#Learner | http://purl.imsglobal.org/vocab/lis/v2/membership/Learner#Learner | | Learner#NonCreditLearner | http://purl.imsglobal.org/vocab/lis/v2/membership/Learner#NonCreditLearner | | Manager#AreaManager | http://purl.imsglobal.org/vocab/lis/v2/membership/Manager#AreaManager | | Manager#CourseCoordinator | http://purl.imsglobal.org/vocab/lis/v2/membership/Manager#CourseCoordinator | | Manager#Observer | http://purl.imsglobal.org/vocab/lis/v2/membership/Manager#Observer | | Manager#ExternalObserver | http://purl.imsglobal.org/vocab/lis/v2/membership/Manager#ExternalObserver | | Member#Member | http://purl.imsglobal.org/vocab/lis/v2/membership/Member#Member | | Mentor#Advisor | http://purl.imsglobal.org/vocab/lis/v2/membership/Mentor#Advisor | | Mentor#Auditor | http://purl.imsglobal.org/vocab/lis/v2/membership/Mentor#Auditor | | Mentor#ExternalAdvisor | http://purl.imsglobal.org/vocab/lis/v2/membership/Mentor#ExternalAdvisor | | Mentor#ExternalAuditor | http://purl.imsglobal.org/vocab/lis/v2/membership/Mentor#ExternalAuditor | | Mentor#ExternalLearningFacilitator | http://purl.imsglobal.org/vocab/lis/v2/membership/Mentor#ExternalLearningFacilitator | | Mentor#ExternalMentor | http://purl.imsglobal.org/vocab/lis/v2/membership/Mentor#ExternalMentor | | Mentor#ExternalReviewer | http://purl.imsglobal.org/vocab/lis/v2/membership/Mentor#ExternalReviewer | | Mentor#ExternalTutor | “http://purl.imsglobal.org/vocab/lis/v2/membership/Mentor#ExternalTutor | | Mentor#LearningFacilitator | http://purl.imsglobal.org/vocab/lis/v2/membership/Mentor#LearningFacilitator | | Mentor#Mentor | http://purl.imsglobal.org/vocab/lis/v2/membership/Mentor#Mentor | | Mentor#Reviewer | http://purl.imsglobal.org/vocab/lis/v2/membership/Mentor#Reviewer | | Mentor#Tutor | http://purl.imsglobal.org/vocab/lis/v2/membership/Mentor#Tutor | | Officer#Chair | http://purl.imsglobal.org/vocab/lis/v2/membership/Officer#Chair | | Officer#Secretary | http://purl.imsglobal.org/vocab/lis/v2/membership/Officer#Secretary | | Officer#Treasurer | http://purl.imsglobal.org/vocab/lis/v2/membership/Officer#Treasurer | | Officer#Vice-Chair | http://purl.imsglobal.org/vocab/lis/v2/membership/Officer#Vice-Chair |

부속서 F. Status

조직 내 member의 상태는 활성 또는 비활성 상태 중 하나로 설정할 수 있다. 값은 반드시 적절한 Term문자열 값으로 설정해야 한다[MUST].

Term IRI
Active http://purl.imsglobal.org/vocab/lis/v2/status#Active
Inactive http://purl.imsglobal.org/vocab/lis/v2/status#Inactive

부속서 G. 지원되는 최소 문자열 길이

표준화되거나 “평평한” Caliper Event 데이터를 저장할 때, 가변 길이의 문자열로 표현된 Caliper 데이터를 수용하기 위해서 아래의 최소 문자 길이를 가정하는 게 좋다[SHOULD].

영역 속성 상세 최소 길이
Event, Entity id urn : urn:uuid:<UUID>형식 또는 Entity에 할당된 IRI 형식의 URN으로 표현되는 Event에 할당 된 UUID 2048
Event, Entity type Event 또는 Entity를 위해 지정된 Caliper Term 256
Event action 지원하는 action을 위해 지정된 Caliper Term 256
Entity name Entity가 알려진 단어 또는 구 256
Entity description Entity에 대한 사람이 읽을 수 있는 일반 텍스트 표현 1024
AudioObject volumeLevel 현재의 음량 단계 32
AudioObject volumeMax 허용되는 최대 음량 단계 32
AudioObject volumeMin 허용되는 최소 음량 단계 32
BookmarkAnnotation BookmarkNotes 북마크와 함께 제공되는 메모의 일반 텍스트 렌더링 1024
CourseOffering, CourseSection academicSession 교과과정이 발생하는 지정된 기간에 대해 사람이 읽을 수 있는 식별자 256
CourseOffering, CourseSection courseNumber 교과과정에 할당된 사람이 읽을 수 있는 식별자 128
CourseSection category 강의”, “실험실” 또는 “세미나”와 같은 섹션의 목적을 나타내는 문자열 값 128
DigitalResource mediaType 리소스의 파일 형식을 식별하는 IANA에서 승인된 미디어 유형이나 하위유형 128
DigitalResource, SoftwareApplication version 기술되고 있는 Entity의 현재 형식 또는 버전을 지정한다. 64
FillinBlankResponse, MultipleResponseResponse, SelectTextResponse values<value> 지원되는 최소 길이는 values 배열에 포함 된 각 응답에 적용된다. 256
HighlightAnnotation selectionText 주석 표시된 리소스의 하이라이트된 세그먼트의 일반 텍스트 표현 2048
Membership roles<role> 지원되는 최소 문자열 길이는 Caliper가 명시하는 roles 배열에 포함된 역할 Term에 적용한다. 256
Membership status 선택된 상태에 대해 지정된 Caliper Term 256
Message body Message의 본문 내용을 렌더링한 일반 텍스트 4096
MultipleChoiceResponse, TrueFalseResponse value 선택된 옵션에 대한 일반 텍스트 표현 256
Result comment 점수를 획득한 자에게 제공되는 일반 텍스트 피드백 1024

부속서 H. 변경 이력

Caliper 1.1에 추가된 부분과 제거대상은 다음과 같이 요약되어 있다.

H.1 Profiles
Profile 상태 상세
AssessmentItem Profile 제거 중복된 것으로 간주. AssessmentItemEventAssessment Profile로 재배치됨
Basic Profile 신규 Caliper가 아직 모델링하지 않은 학습이나 지원 활동을 설명하기 위해 일반 Event를 활용함
Forum Profile 신규 온라인 포럼 커뮤니티에서 학습자와 다른 참여자를 모델링함
Grading Profile 신규 Outcome Profile을 대체함. Score를 추가함
Outcome Profile 제거 Grading Profile로 대체함.
Reading Profile 수정 NavigationEventViewEvent가 추가됨에 따라 ReadingEvent 가 제거대상이 됨. EpubChapter](#epubChapter), EpubPart, EpubSubChapter, EpubVolumeDocument, Chapter, Page를 선호하여 제거대상이 됨
Tool Use Profile 신규 PersonSoftwareApplication 간의 의도된 상호작용을 모델링하는 경량 프로파일
H.2 Actions
Actions 상태 WordNet® 주석
Added 신규 추가한다; 다른 것과 합류하거나 연합하거나 섞는다. 질, 양, 크기 또는 범위를 늘인다. Removed의 반대 개념
Created 신규 만들거나 존재하도록 한다. Deleted의 반대 개념
Deleted 신규 디지털적으로 제거한다. Created의 반대 개념
MarkedAsRead 신규 읽은 상태로 표시한다. MarkedAsUnread의 반대 개념
MarkedAsUnread 신규 MarkedAsRead의 반대 개념
Modified 신규 변화를 야기하다; 다르게 만들다; 변형을 일으키다.
Posted 신규 다른 곳으로 이동하거나 전송한다.
Removed 신규 시야에서 제거한다. Added의 반대 개념
Reset 신규 [Attempt] count 값의 증가나 변화 없이 새로 시작한다.
Retrieved 신규 컴퓨터 속 정보와 같은 저장 매체로부터 자료를 획득한다.
Unsubscribed 신규 Subscribed의 반대 개념
Used 신규 서비스를 활용한다; 특정 목적이나 본연의 목적등을 위해 작업하거나 이용하다.
H.3 Events
Event 상태 상세
AnnotationEvent 수정 다음 액션은 제거대상이므로, AnnotationEvent 지원하는 action 목록에서 제거대상이 됨 : Attached, Classified, Commented, Described, Disliked, Identified, Liked, Linked, Questioned, Ranked, Recommended, Subscribed
AssessmentEvent 수정 ResetRestarted을 지원하는 action에 추가함
AssessmentItemEvent 수정 다음 액션은 제거대상이므로, AssessmentItemEvent 지원하는 action 목록에서 제거대상이 됨 : Reviewed, Viewed
AssignableEvent 수정 Submitted을 지원하는 action에 추가함. 다음 액션은 제거대상이므로, AssignableEvent 지원하는 action 목록에서 제거 대상이 됨 : Abandoned, Hid, Showed
ForumEvent 신규 Caliper 1.1 Forum Profile과 함께 도입됨. 지원하는 action : Subscribed, Unsubscribed
GradeEvent 신규 OutcomeEvent를 대체함. Scoregenerated 객체의 Result로 대체함
MediaEvent 수정 Restarted을 지원하는 action에 추가함. 다음 액션은 제거대상이므로, MediaEvent 지원하는 action 목록에서 제거대상이 됨 : Rewound
MessageEvent 신규 Caliper 1.1 Forum Profile과 함께 도입됨. 지원하는 action : Posted, MarkedAsRead, MarkedAsUnRead
OutcomeEvent 제거대상 GradeEvent를 사용함
ReadingEvent 제거대상 향후 버전의 표준에서 제거 대상임
ThreadEvent 신규 Caliper 1.1 Forum Profile과 함께 도입됨. 지원하는 action : Posted, MarkedAsRead, MarkedAsUnRead
ToolUseEvent 신규 Caliper 1.1 Tool Use Profile과 함께 도입됨. 지원하는 action : Used
H.4 Entities
Entity 상태 상세
Chapter 신규 Caliper 1.1 Reading Profile과 함께 도입됨
DigitalResourceCollection 신규 DigitalResource 유형의 항목 집합을 나타내는 방법 제공
Document 신규 Caliper 1.1 Reading Profile 개정판의 일부로 소개됨
EpubChapter 제거대상 향후 버전의 표준에서 제거 대상임
EpubPart 제거대상 향후 버전의 표준에서 제거 대상임
EpubSubChapter 제거대상 향후 버전의 표준에서 제거 대상임
EpubVolume 제거대상 향후 버전의 표준에서 제거 대상임
Forum 신규 Caliper 1.1 Forum Profile과 함께 도입됨
LtiSession 신규 LTI 관련 messageParameters 속성을 추가하여 Session을 확장함
Message 신규 Caliper 1.1 Forum Profile과 함께 도입됨
Page 신규 Caliper 1.1 Reading Profile 개정판의 일부로 소개됨
Reading 제거대상 향후 버전의 표준에서 제거 대상임
Score 신규 Caliper 1.1 Grading Profile 개정판의 일부로 소개됨
Thread 신규 Caliper 1.1 Forum Profile과 함께 도입됨
H.5 Properties
영역 속성 상태 상세
Event id 신규 Event는 반드시 UUID와 함께 제공되어야 함[MUST]. UUID는 반드시 RFC 4122에 따라 urn:uuid:<UUID> 형식을 사용하여 URN으로 표현되어야 함[MUST]. UUID는 Ver.4가 권고됨[RECOMMENDED].
Event type 신규 외부 IMS Caliper JSON-LD context 문서에서 type으로 불리는 JSON-LD 키워드 @type을 대체함. type 문자열 값 또한 IRI에서 Term으로 변경됨(예: MessageEvent)
Event @type 제거대상 type 사용
Event action 수정 action 문자열 값은 IRI에서 Term으로 변경됨(예: Started)
Event referrer 신규 참조 컨텍스트를 명시하는 기능을 추가함. NavigationEvent의 경우, referrer는 제거 대상된 navigatedFrom 속성을 대체함
Event session 신규 사용자 Session 컨텍스트를 명시하는 기능을 추가함
Event extensions 신규 모델에서 정의하지 않은 사용자 맞춤 속성을 포함할 수 있는 기능을 추가함
NavigationEvent navigatedFrom 제거대상 향후 버전의 표준에서 제거 대상임. referrer 사용
Entity id 신규 외부 IMS Caliper JSON-LD context 문서에서 id으로 불리는 JSON-LD 키워드 @id를 대체함
Entity @id 제거대상 id 사용
Entity type 신규 외부 IMS Caliper JSON-LD context 문서에서 type으로 불리는 JSON-LD 키워드 @type을 대체함. type 문자열 값 또한 IRI에서 Term으로 변경됨(예 : Person)
Entity @type 제거대상 type 사용
Annotation annotator 신규 Annotation을 작성한 Agent를 지정하는 기능을 추가함
Attempt actor 제거대상 향후 버전의 표준에서 제거 대상임. assignee 사용
Attempt assignee 신규 보다 간결한 용어를 제공하기 위해 actor 속성을 대체함
Attempt isPartOf 신규 존재한다면, 부모 Attempt를 참조하는 기능을 추가함
DigitalResource alignedLearningObjective 제거대상 향후 버전의 표준에서 제거 대상임. learningObjectives 사용
DigitalResource creators 신규 리소스의 작성자를 명시하는 기능을 추가함
DigitalResource learningObjectives 신규 제거대상인 alignedLearningObjective 속성을 집합 및 목록에 채택된 명명 형식을 준수하는 복수 용어로 바꿈
DigitalResource mediaType 신규 리소스의 파일 형식을 식별하는 IANA 미디어 유형을 명시하는 기능을 추가함
DigitalResource objectType 제거대상 향후 버전의 표준에서 제거 대상임. type 사용
DigitalResourceCollection items 신규 컬렉션을 구성하는 개별 리소스를 명시할 수 있는 기능을 추가함
LtiSession messageParameters 신규 LTI 메시지 매개변수를 지정하는 기능을 추가함
MediaLocation currentTime 수정 데이터 유형은 UTC로 설정된 ISO 8601 형식의 기간 문자열로 변경됨
Membership roles 수정 개별 역할 값이 IRI에서 Term으로 변경됨(예 : Learner)
Membership status 수정 status 문자열 값은 IRI에서 Term으로 변경됨(예 : Active)
Organization members 신규 Organization을 구성하는 구성원의 집합을 지정하는 기능을 추가함
Response actor 제거대상 향후 버전의 표준에서 제거 대상임. attempt 사용
Response assignable 제거대상 향후 버전의 표준에서 제거 대상임. attempt 사용
Response attempt 신규 학습자와 연결된 Attempt를 참조할 수 있는 기능을 추가한다. 제거대상인 actorassignable을 대체함
Result actor 제거대상 향후 버전의 표준에서 제거 대상임. attempt 사용
Result assignable 제거대상 향후 버전의 표준에서 제거 대상임. attempt 사용
Result attempt 신규 학습자와 연결된 Attempt를 참조할 수 있는 기능을 추가함. 제거대상인 actorassignable을 대체함
Result curveFactor 제거대상 향후 버전의 표준에서 제거 대상임
Result curvedTotalScore 제거대상 향후 버전의 표준에서 제거 대상임
Result extraCreditScore 제거대상 향후 버전의 표준에서 제거 대상임
Result normalScore 제거대상 향후 버전의 표준에서 제거 대상임
Result maxresultScore 신규 LTI Gradebook-services Result.resultMaximum에 매핑함
Result penaltyScore 제거대상 향후 버전의 표준에서 제거 대상임
Result resultScore 신규 Maps to LTI Gradebook-services Result.resultScore에 매핑함
Result totalScore 제거대상 향후 버전의 표준에서 제거 대상임. resultScore 사용
Session actor 제거대상 향후 버전의 표준에서 제거 대상임. user 사용
Session user 신규 보다 간결한 용어를 제공하기 위해 actor 속성을 대체함
Score maxScore 신규 최대 허용 점수 값. LTI Gradebook-services Score.scoreMaximum에 매핑함
Score scoreGiven 신규 주어진 과제에 대해 부여된 점수. LTI Gradebook-services Score.scoreGiven에 매핑함
SoftwareApplication version 신규 SoftwareApplication의 현재 상태 혹은 버전을 명시하는 기능을 추가함
H.6 JSON-LD 컨텍스트

새로운 IMS Caliper context 문서가 생성되었다. http://purl.imsglobal.org/ctx/caliper/v1p1 참조.

기고자

이 표준을 작성하는데 다음의 Caliper 워킹 그룹 참여자가 기여했다.

저자
이름 기관
Anthony Whyte University of Michigan
Viktor Haag D2L
Linda Feng Unicon
Markus Gylling IMS Global
Matt Ashbourne McGraw-Hill Education
Wes LaMarche ACT
Etienne Pelaprat Unizin
편집자와 검토자
이름 기관
Steven Erickson Unicon
Daniel Green VitalSource Technologies
Jeff Longland UBC
Yong-Sang Cho KERIS
Ian Turgeon University of Central Florida
Chris Ward Instructure
Lance E Sloan University of Michigan
참조 구현의 기고자
이름 기관
Markus Gylling IMS Global
Viktor Haag D2L
Sophiann Hayet Explorance
Paul Kerschen UC Berkeley
Lance E Sloan University of Michigan
Anthony Whyte University of Michigan

참고자료

JSON-LD Syntax. W3C. M. Sporny, D. Longley, G. Kellog, M. Lanthaler and N. Lindström. JSON-LD 1.1. A JSON-based Serialization for Linked Data. 15 February 2017. URL: http://json-ld.org/spec/latest/json-ld/

JSON-LD Processing. D. Longley, G. Kellog, M. Lanthaler, M. Sporny. JSON-LD 1.1 Processing Algorithms and API. 15 February 2017. URL: http://json-ld.org/spec/latest/json-ld-api/

Linked Data. Tim Berners-Lee. “Linked Data.” W3C internal document. July 2006, rev. June 2009. URL: https://www.w3.org/DesignIssues/LinkedData.html

RDF. W3C. Resource Description Framework (RDF). URL: https://www.w3.org/RDF/

RFC 2119. IETF. S. Bradner. “Key words for use in RFCs to Indicate Requirement Levels.” March 1997. URL: https://tools.ietf.org/html/rfc2119

RFC 2396. IETF. T. Berners-Lee, R. Fielding, L. Masinter. “Uniform Resource Identifiers (URI): Generic Syntax.” August 1998. URL: https://www.ietf.org/rfc/rfc2396.txt

RFC 3987. IETF. M. Duerst and M. Suignard. “Internationalized Resource Identifiers (IRIs). January 2005. URL: https://www.ietf.org/rfc/rfc3987.txt

RFC 4122. IETF. P. Leach, M. Mealling and R. Salz. “A Universally Unique Identifier (UUID) URN Namespace.” July 2005. URL: https://tools.ietf.org/html/rfc4122

RFC 6750. IETF. M. Jones and D. Hardt. “The OAuth 2.0 Authorization Framework: Bearer Token Usage.” October 2012. URL: https://tools.ietf.org/html/rfc6750

RFC 7231. IETF. R. Fielding and J. Reschke, eds. Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content. June 2014. URL: https://tools.ietf.org/html/rfc7231.

RFC 7807. IETF. M. Nottingham, E. Wilde. “Problem Details for HTTP APIs.” March 2017. URL: https://tools.ietf.org/html/rfc7807

Calliper White Paper. IMS Global Learning Consortium. “Learning Measurement for Analytics Whitepaper [sic].” August 2013. URL: https://www.imsglobal.org/sites/default/files/caliper/IMSLearningAnalyticsWP.pdf

WordNet. Princeton University. WordNet®. A lexical database for English. 2010. URL: https://wordnet.princeton.edu/

문서 정보

IMS Global Learning Consortium, Inc. (“IMS Global”)은 과학적이고 실험적이며 학구적인 협력의 목적만을 위해서 이 문서에 포함된 정보(“표준”)를 게시하고 있다.

IMS Global은 표준의 정확성 또는 완전성과 관련하여 어떠한 보증이나 진술도 하지 않는다.

“있는 그대로” 그리고 “사용 가능한 그대로” 제공된다.

표준은 늘 통지 없이 변경되고 개정될 수 있다.

표준이 당신에게 관련이 있는 이상, 그 유용성, 정확성, 그리고 완성도를 평가하는 것은 당신의 전적인 책임이다.

IMS Global은 당신의 의견과 제안을 받길 원한다.

웹사이트 http://www.imsglobal.org 를 통해 IMS Global에 연락하라.

문서명 참조 : IMS Caliper Analytics® 1.1 Candidate Final Specification v1.1

일자 : 12 January 2018

This document contains trademarks of the IMS Global Learning Consortium including the IMS Logos, Learning Tools Interoperability® (LTI®), Accessible Portable Item Protocol® (APIP®), Question and Test Interoperability® (QTI®), Common Cartridge® (CC®), AccessForAll™, OneRoster®, Caliper Analytics® and SensorAPI™. For more information on the IMS trademark usage policy see trademark policy page - https://www.imsglobal.org/trademarks