![]() |
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일
대규모로 교육을 제공하고 학습하는 것은 “빅데이터” 관행의 도입을 장려한다. 클라우드 컴퓨팅과 기계 학습은 학습 기술 환경과 교육 사업을 변화시키고 있다. 학습 구성 요소에 대한 정의도 기존 교실에서의 경험을 넘어 지식과 기술을 비형식적, 사회적, 실험적으로 습득하는 방식을 포함하는 것으로 변화되었다. 새로운 도구를 활용하고, 새로운 데이터 소스를 이용하고, 새로운 질문을 제시하고, 새로운 통찰력을 추구할 기회가 존재한다.
학생을 위한 교실 환경을 변형시키지 않으면서 교육을 강화하려는 진취적인 교사를 떠올려보자. 그는 비디오 플랫폼을 사용하여 비디오 과제를 만들고 게시한다. 학급 토론과 질의응답 세션은 또 다른 서비스를 사용해 온라인으로 진행한다. 학습관리시스템Learning Management System을 사용하여 교과과정을 관리한다. 3개의 서비스에는 3개의 공급자, 3개의 잠재적인 데이터 소스가 요구될 것이다.
교과과정 내용에 대해 질문하고 학생의 행동을 관찰하고 분석하는 것은 학생의 이해력과 성취도 파악에 매우 중요하다. 하지만 그러한 관계를 파악하는 것은 너무 힘든 일이다. 아마도 극복해야 할 장벽이 있을 것이다. 분석에 필요한 데이터가 실제로 수집될까? 만약 그렇다면, 누가 그것을 소유할까? 소유권이 문제되지 않는다면, 개인정보는 어떨까? 개인정보 프로토콜이 있다면, 데이터 검색이 쉬워질까? 검색이 가능하다면, 다른 플랫폼에서 제공되는 데이터를 결합하는 것은 얼마나 어려울까?
Caliper Analytics® 표준은 학습 활동 데이터의 설명, 수집, 교환에 필요한 체계적인 방법을 제공함으로써 위에서 설명한 여러 문제를 해결하고자 한다. 학습 상호작용을 기술하기 위한 공통 어휘를 설정하는 것이 주된 목적이다. 데이터 상호운용성, 데이터 공유 및 데이터 기반의 의사 결정을 촉진하는 것도 중요한 목표다.
또한 Caliper는 도구화된 어플리케이션에서 오는 이벤트 데이터를 수집하고 저장, 분석, 사용을 위해 대상 엔드포인트로 전송하는 어플리케이션 프로그래밍 인터페이스 (Sensor API™)를 정의한다. 업계 전반에 걸쳐 Caliper를 채택함으로써 측정, 추론, 예측, 보고 및 시각화를 위해 새롭고 혁신적인 서비스를 구축할 수 있는 보다 통합된 학습 데이터 환경을 제공 할 것으로 기대한다.
이 문서는 최종본(Final Release) 이다. 즉, Caliper Analytics® Specification, 버전 1.1이 IMS Global 회원 기관들의 승인을 받은 후 공개 문서로 제공된다는 것을 의미한다. 많은 회원기관들이 이 문서가 공개될 당시에 적합성 인증을 성공적으로 취득했다.
IMS Global은 회원들과 일반인들에게 Caliper specification 개선에 중점을 둔 피드백을 제공할 것을 강력히 권장한다. Caliper에 중점을 둔 IMS 개발자 및 적합성 인증 커뮤니티에 참여하려면 https://www.imsglobal.org/activity/caliper 를 방문하시오.
공개적인 의견과 질문은 Caliper Analytics® 공개 포럼에 게시할 수 있다.
Caliper 1.1은 Caliper 정보 모델을 확장하여 개선하고 JSON-LD를 사용하여 문서를 작성할 때 이벤트와 엔터티를 링크드 데이터로 표현할 수 있는 방법을 설명한다.
3개의 새로운 프로파일이 제공된다: Basic Profile, Forum Profile, ToolUse Profile. AssessmentItem Profile이 Assessment Profile에 병합되었다. Outcome Profile의 이름이 Grading Profile로 변경되고 새로운 Score 엔터티가 추가되었다. Forum Profile과 ToolUse Profile은 ForumEvent, ThreadEvent, MessageEvent, ToolUseEvent과 같은 새로운 이벤트 유형을 Caliper 이벤트 모델에 추가한다. 또한 포럼 활동과 도구 사용을 보다 잘 설명하기 위해 새로운 이벤트와 액션이 제공된다.
ReadingEvent는 OutcomeEvent가 GradeEvent로 대체되는 동안 더이상 사용되지 않는다. 특정 액션 어휘들은 추가 및/또는 제거하여 조정하였다. 여기에는 AnnotationEvent, AssessmentEvent, AssessmentItemEvent, AssignableEvent,MediaEvent와 관련된 액션이 포함된다. 또한 많은 엔터티들이 사용되지 않는다. EpubChapter, EpubPart, EpubSubChapter, EpubVolume, Reading이 이러한 목록에 포함된다.
속성 변경과 관련하여, JSON-LD의 @id
와 @type
키워드는 id
와 type
을 위해 더이상 사용되지 않는다. 이제 Caliper Event에는 새로운 식별자 id
속성 뿐만 아니라, referrer
, session
, extensions
속성이 포함된다. 또한 Entity 속성 추가와 이름 변경, 제거대상 항목들이 특징을 이룬다.
Sensor와 endpoint 동작에 대해 자세히 설명하고 새로운 표준은 JSON-LD 문서에서 Caliper 이벤트와 엔터티를 표현하는 방법을 명확히 설명한다. Caliper 용어를 각각의 IRIs에 매핑하기 위해 새로운 Caliper JSON-LD 컨텍스트 문서도 제공된다.
이러한 모든 변경 사항은 부속서 H. 변경 이력에 자세히 설명되어 있다.
이 문서에서 “반드시 ~해야하는[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]“ 표현은 개발자가 옵션의 구현 여부를 전적으로 자유롭게 선택할 수 있음을 나타낸다.
액터 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
메시지를 사용하여 이벤트에서 비동기적으로 전송될 수 있다.(예: Describe
로 Person 엔터티를 전송할 경우, Person 객체를 포함하는 각 Event에서 Person 객체를 반복할 필요가 없다).
Endpoint: 특정 네트워크 프로토콜에 연결된 Caliper 데이터의 수신자 또는 소비자.
엔터티 Entity: 학습 관련 활동에 참여하는 객체object나 사물thing. Caliper Entity 유형은 Caliper Event의 “여러가지 것들stuff”를 구성하는 어플리케이션, 사람, 그룹, 리소스에 대한 풍부한 표현을 제공한다. 각 Entity는 방향 그래프directed graph의 노드에 해당한다.
Envelope: Caliper Event와 Entity 데이터의 전송 컨테이너 역할을 하는 데이터 구조. 방출 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 URI는 URL이며 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를 할당해야 한다.
Caliper 정보 모델은 학습 활동을 설명하기 위한 일련의 개념, 규칙, 관계를 정의한다. 모델링된 각 활동 도메인은 Metric Profile (“프로파일profile”)에 설명되어 있다. 각 프로파일은 하나 이상의 Event 유형으로 구성된다. 각 Event는 이벤트 범위에 속해있는 학습자, 교사 및 다른 개인들이 수행하는 actions의 통제 어휘를 정의한다. 참가자, 그룹, 리소스를 나타내는 다양한 Entity 유형이 참여 엔터티와 상호작용과 관련된 맥락적 요소간의 관계를 설명하기 위해 제공된다.
Caliper Event는 object
와 actor
사이의 관계를 설명하는 일반 유형으로, 특정 시간과 주어진 학습 환경내에서 actor
에 의해 수행되는 의도적인 action의 결과로 형성된다. Event 속성 중 actor
, action
, object
는 RDF 트리플과 같이 주어와 목적어가 술어로 연결되는 간결한 데이터 구조를 형성한다. 학습자가 평가를 시작하거나, 읽다가 주석을 달거나, 비디오를 일시 중지하거나, 포럼에 메시지를 게시하는 것은 Caliper가 이벤트로 모델링하는 학습 활동의 예다.
Caliper는 여러 Event의 하위유형을 정의한다. 각 하위유형은 특정 활동 도메인에 적용되며, type
속성을 통해 구별된다. type
값은 반드시 Caliper 정보 모델 (예: “MessageEvent”)에 의해 Event로 명시된 Term와 일치해야하는 문자열이다[MUST]. 각 Event 인스턴스에는 UUIDs에 대한 URN 네임스페이스를 기술하는 RFC 4122에 따 URN으로 포맷된 128비트 UUID가 할당된다.
정보 모델은 또한 학습 활동이 위치하는 학습 환경 또는 상황을 기술한다. 그룹 소속, 회원으로써의 역할과 상태, 최근 탐색 내역, 지원 기술, 세션 정보는 모두 선택적으로 나타낼 수 있다. actor
와 object
간의 상호작용으로 생성된 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 | 방출 어플리케이션은 반드시 UUID로 Event를 제공해야 하며[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의 하위유형이 생성되면, 사용된 하위유형에 해당하는 Term의 type (예: 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 | 현재 상태와 역할에 대한 actor 와 group 사이의 관계. membership 값은 반드시 객체 또는 멤버십 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. |
선택 |
session | Session | IRI | 현재 사용자 Session. session 값은 반드시 객체 또는 세션의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. |
선택 |
federatedSession | LtiSession | IRI | Event가 LTI 도구를 시작하는 컨텍스트내에서 발생하면, 액터의 도구 소비자는 LtiSession을 참조할 수 있다[MAY]. federatedSession 값은 반드시 객체 또는 federatedSession의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. |
선택 |
extensions | Object | 모델에 의해 정의되지 않은 추가 속성의 맵은 Event를 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. | 선택 |
AnnotationEvent, AssignableEvent, AssessmentEvent, AssessmentItemEvent, ForumEvent, MediaEvent, MessageEvent, NavigationEvent, GradeEvent, SessionEvent, ToolUseEvent, ThreadEvent, ViewEvent
Caliper Entity는 학습 관련 활동에 참여하는 객체를 나타내는 일반적인 유형이다. 개인, 그룹, 조직, 디지털 콘텐츠, 학습 과정, 소프트웨어 어플리케이션 및 Caliper Event와 “관련된 것들stuff”로 구성된 다른 객체 들을 서술하기 위해서 여러 Entity의 하위유형들을 정의한다. 각 Entity 는 검색과 설명을 지원하는 적절한 속성의 집합으로 제공된다.
Caliper는 Entity 값을 객체 또는 리소스의 IRI에 해당하는 문자열로 표현할 수 있다.
Entity가 객체로 표현되면, 반드시 id
와 type
속성을 모두 명시해야한다[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를 객체로 표현할 때 id
와 type
속성은 필수적이다. 다른 모든 속성들은 선택사항이며 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
EpubChapter, EpubPart, EpubSubChapter, EpubVolume, Reading
Caliper 정보 모델은 학습 활동이나 학습 구성하는 지원 활동을 모델링하는 여러 Metric Profile을 정의한다. Metric Profile의 존재 이유 는 어휘 표준화를 촉진하고 어플리케이션 개발자가 학습 활동 데이터를 수집하는 경쟁력 있는 기능으로서의 상호 운용성을 제공하기 위해 존재한다. 각 프로파일은 도메인별로 특화된 용어와 개념 집합을 제공하고, 응용프로그램 설계자와 개발자는 공유된 어휘를 사용해 일관된 방식으로 공통된 사용자 상호작용에 대해 서술할 수 있다. 읽다가 주석달기, 비디오 재생, 시험 치기, 과제 제출물 평가하기는 Caliper Metric Profile로 서술할 수 있는 많은 활동 또는 이벤트의 몇가지 예일 뿐이다.
각 Metric Profile을 독립실행형, 논리적 단위, 하나 이상의 Caliper 이벤트 집합으로 보면, 일련의 상호 관련 활동을 설명하는 데 도움이 된다. Metric Profile에 포함된 각 Event 유형은 학습 활동을 설명하는 데 사용될 수 있는 다양한 엔터티와 액션을 제약한다. 어휘 제한은 각 프로파일 설명에서 다음 제목들 아래에 요약되어 있다.
예를 들어, 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
The Caliper Annotation Profile은 DigitalResource의 주석과 관련된 활동을 모델링한다. 북마크 생성, 선택한 문구 하이라이팅, 리소스 공유, 문서에 태그 달기, 주석을 보는 동작들을 모델링된다. 생성된 Annotation에 대한 유형을 구체화하기 위해 하위유형을 명시한다.
예를 들어, 교사들은 학생들이 교재에 메모하는 페이지를 활용하여 어떤 자료가 강조되어야 하는지 결정 할 수 있다. 또한 질문을 하거나 특정 내용에 대한 궁금증을 표시하는 메모를 작성하는 학생이 있는 경우, 강사는 사용하고자 한 자료의 적합성 또는 품질에 대해서 알 수 있다.
이 프로파일을 사용하여 답변 할 수있는 질문은 다음과 같다.
Bookmarked, Highlighted, Shared, Tagged
BookmarkAnnotation, HighlightAnnotation, SharedAnnotation, TaggedAnnotation
generated
에 Annotation의 하위유형을 지정하는게 좋다[SHOULD]. action
을 적절한 Annotation의 하위유형과 쌍으로 만든다(예: BookmarkAnnotation과 Bookmarked). 생성된 Annotation이 객체로 표현된 경우, annotator
과 annotated
엔터티 둘 모두 참조하는게 좋다[SHOULD].Caliper Assessment Profile은 개별 평가 항목과의 상호작용을 포함하여 평가와 관련된 활동을 모델링한다. Caliper는 이러한 학습 활동에 대한 object
을 설명하기 위해 Assessment와 AssessmentItem 엔터티 뿐만 아니라 할당된 리소스에 시도한 횟수를 기록하기 위해 Attempt에 대한 정보도 제공한다. 각각의 문항 반응을 수집하기 위해 다섯가지 Response 유형도 제공된다. Caliper 1.0 AssessmentItem Profile은 Assessment Profile로 병합되었다.
Assessment Profile을 사용하여 패턴을 추적하면 교사가 학생들을 평가하고 서로 상호작용하는 방식에 대해 더 많이 이해할 수 있다. 이 프로파일을 사용하는 일반적인 방법은 다음 질문에 답하는 것이다.
AssessmentEvent, AssessmentItemEvent, NavigationEvent, ViewEvent
Started, Paused, Resumed, Restarted, Reset, Submitted
generated
에 Attempt를 지정하는게 좋다[SHOULD]. Attempt가 객체로 표현된 경우, Attempt는 최소한 assignee
, assignable
, count
를 정의하는게 좋다[SHOULD]. Attempt의 count
값을 다음과 같이 설정하라(각 action에 대해).
generated
의 Attempt나 Response를 참조하는 것은 지정된 action
값에 따라 달라진다. Attempt의 count
값을 다음과 같이 설정하라(각 action에 대해).
isPartOf
속성을 사용하여 표현될 수 있다[MAY].referrer
로 지정할 수 있다[MAY].Assignable Profile은 성취 기준을 달성하기 위해 학습자에게 할당되는 디지털 콘텐츠와 관련된 활동들을 모델링한다. Caliper는 이러한 학습 활동에 대한 object
를 설명하기 위해 할당된 리소스에 시도한 횟수를 기록하기 위한 학습자의 Attempt 뿐 아니라 일반 AssignableDigitalResource 를 제공한다.
이 프로파일은 교사가 학생과 과제 간의 관계에 대한 통찰력을 수집하는 데 유용하다. 이 프로파일을 사용하여 다음 질문에 대한 답을 얻을 수 있다.
AssignableEvent, NavigationEvent, ViewEvent
Activated, Deactivated, Started, Completed, Submitted, Reviewed
generated
의 Attempt는 다음의 AssignableEvent에 지정되는게 좋다[SHOULD]. Started, Completed, Submitted, Reviewedassignee
, assignable
, count
를 정의하는게 좋다[SHOULD]. 첫번째 시도에서는 count
값을 1로 설정하고, 이후 시도할 때 마다 값을 1씩 증가시켜라.isPartOf
속성을 사용하여 표현될 수 있다[MAY].Caliper Forum Profile은 온라인 포럼 커뮤니티에 참여하는 학습자와 그 외의 참여자들에 대해 모델링한다. 포럼은 일반적으로 회원이 가입할 수 있는 하나 이상의 스레드Thread 또는 주제를 포괄적으로 인코딩 할 수 있으며, 이를 통해 스레드Thread가 허용되는 경우 다른 메시지에 회신 할 수 있다. Caliper는 이러한 활동 object
를 나타내는 Forum, Thread, Message 엔터티를 제공한다.
Forum Profile을 사용하여 패턴을 추척하면, 교사는 토론 포럼에서 학생들의 참여 방식에 대해 더 많이 이해할 수 있다. 이 프로파일을 사용하면, 교사는 다음과 같은 영역에서 통찰력을 얻을 수 있다.
ForumEvent, MessageEvent, NavigationEvent, ThreadEvent, ViewEvent
MarkedAsRead, MarkedAsUnRead, Posted
replyTo
속성을 통해 회신을 요청한 이전의 Message를 참조하는게 좋다[SHOULD].isPartOf
속성을 사용하여 표현될 수 있다[MAY].Caliper Grading Profile은 Person이나 SoftwareApplication과 같은 Agent가 평가를 수행하는 활동과 학습자가 AssignableDigitalResource를 Attempt하고 Score를 생성하는 활동을 모델링한다. Caliper 1.0 Outcome Profile이 Grading Profile로 대체되었다.
Grading Profile을 통해 주어진 평가 또는 제출에 대한 평가 변경 사항에 대한 정보를 얻을 수 있다. 이것은 학생과 교사가 과정 전체에서 상호작용하는 방식을 이해하는데 유용할 수 있다. 예를 들어, Grading Profile을 사용하면, 다음과 같은 질문에 답할 수 있다.
generated
의 Score는 지정되는게 좋다[SHOULD].actor
로 지정해야 한다[MUST].Caliper Media Profile은 학습자와 오디오, 이미지, 비디오와 같은 다양한 콘텐츠 간의 상호작용을 모델링한다. 개발자는 AudioObject, ImageObject, VideoObject를 비롯한 다양한 미디어 관련 엔터티를 활용할 수 있으며, 각각 일반 MediaObject에서 하위 형식으로 명시된다. MediaLocation 엔터티를 통해서 오디오나 비디오의 현재 위치를 표현할 수 있는 방법을 제공한 다.
이 프로파일을 사용하는 방법의 예로, 교사가 비디오 플레이어를 자신의 교과과정에 포함한 시나리오를 생각해보자. 비디오 콘텐츠는 학습 관리 시스템(LMS)에서 LTI를 통해 실행되거나 실행되지 않을 수 있다. 비디오 플레이어 도구는 Caliper를 통해 활동 데이터를 내보내는 수단으로 이용되므로 교사는 학생의 보기 동작에 대한 유용한 정보를 수집 할 수 있다. 또한 교사는 과제 및 퀴즈 결과와 같은 LMS의 다른 관련 정보와 이 데이터를 비교할 수도 있다. 교사(및 관리자)는 Caliper를 통해 수집된 데이터를 사용하여 다음과 같은 주요 질문에 답할 수 있다.
MediaEvent, NavigationEvent, ViewEvent
Started, Ended, Paused, Resumed, Restarted, ForwardedTo, JumpedTo, ChangedResolution, ChangedSize, ChangedSpeed, ChangedVolume, EnabledClosedCaptioning, DisabledClosedCaptioning, EnteredFullScreen, ExitedFullScreen, Muted, Unmuted, OpenedPopout, ClosedPopout
AudioObject, ImageObject, MediaObject, VideoObject
target
으로 지정할 수 있다[MAY].currentTime
값을 다음과 같이 설정하라(각 action에 대해).
currentTime
값을 설정하라.currentTime
값을 설정하라.currentTime
값을 설정하라.currentTime
값을 설정하라.currentTime
값은 반드시 액션이 발생한 오디오나 비디오 스트림의 위치에 설정되어야 한다[MUST].Caliper Reading Profile은 디지털 텍스트 콘텐츠를 탐색하고 보는 것과 관련된 활동을 모델링한다. Caliper는 Document, Chapter, Page, WebPage, Message and Frame과 같이 일반 DigitalResource, DigitalResourceCollection을 비롯한 디지털 콘텐츠로 표현되는 많은 엔터티를 제공한다.
교사와 연구자는 Reading Profile을 통해 수집된 데이터를 활용해 다음과 같은 질문에 답할 수 있다.
Assessment Profile과 함께 사용하면, 보기viewing 패턴을 성과performance 측정에 이용할 수 있다.
AssignableDigitalResource, Chapter, DigitalResource, DigitalResourceCollection, Document, Page, WebPage
지원하는 Entity 유형은 다음과 같다.
target
으로 지정할 수 있다[MAY].Caliper Session Profile은 SoftwareApplication과 상호작용하는 Person에 의해 설정된 사용자 세션의 생성 및 추후 만료되는 과정을 모델링 한다. Session 엔터티는 사용자 세션을 나타내기 위해 설명된다.
Session Profile을 통해 학습 환경에 로그인하는 사람에 대한 정보 획득을 쉽게 할 수 있다. 더 중요한 것은 어느 학생이 로그인하지 않았는지에 대한 정보도 쉽게 획득할 수 있다는 점이다. 다음은 Session Profile을 통해 모범적으로 획득한 정보의 사례다.
session
을 지정하는게 좋다[SHOUL].actor
가 특정 DigitalResource에 접근을 시도한다면, 해당 리소스를 상호작용의 target
으로 지정할 수 있다[MAY].actor
and the Session MUST be specified as the object
.Caliper Tool Use Profile은 사용자와 도구 간의 의도된 상호작용을 모델링한다. 다시 말해, Person이 SoftwareApplication을 “학습에 사용하기 위한” 용도로 사용하는 경우, Tool Use Profile로 구현된 어플리케이션은 이러한 이용을 나타내는 ToolUseEvent를 만들어낸다.
Tool Use Profile을 사용하면 학습 어플리케이션에 대한 기본 사용 정보를 수집 할 수 있다. 학습 도구가 스스로 용도를 결정함으로써 도구의 기본 단계에서 시작하는 쉬운 방법을 제공한다. 학습용 앱은 학생이 도구에 접근하고 의도한 대로 사용하는 방법을 탐지하기 위해 이 프로파일을 사용해 계측할 수 있다. 이 프로파일의 사용을 통해 답변 할 수있는 일반적인 질문은 다음과 같다.
The Caliper Basic Profile은 아직 Caliper에 의해 모델링되지 않은 학습활동 또는 지원활동을 설명하기 위한 일반 Event를 제공한다. 이 표준에서 설명하는 Caliper actions을 사용하여 actor
와 object
간의 상호작용을 설명한다.
Event (상위유형만 가능)
모든 Caliper 액션은 상호작용을 설명하는 데 사용될 수 있다[MAY].
클라우드 기반 체계가 대두된 최근 10여년간 네트워크 기반 어플리케이션을 통해 데이터가 구조화 되고 표현되는 방식이 변화하고 있다. 커리큘럼이나 학습과정, 번역자막 등 기존에는 엄격하고 구조적으로 고려된 데이터들도 현재는 다른 형태의 데이터와 연결되고 있다. 현재의 데이터들이 다른 데이터들과 연결되는 체계를 모델링하는 구조는 그래프나 링크드 데이터와 같은 용어를 상기하게 하고 있다. Caliper Event 데이터는 이와 유사한 구조를 보여준다. Caliper Event는 사용자 데이터, 디지털 콘텐츠, 수업과 과정, 평가와 수료, 기관과 단체의 데이터, 어플리케이션과 세션 등 계속해서 확산되고 새로운 관계를 만들어가는 다양한 정량적, 정성적 정보가 포함된 엔터티들을 연결하는 형태로 제공된다.
네트워크로 분산된 시스템간의 데이터 교환을 위해서는 간단하고 명료한 교환 포맷이 필요하다. 이는 시스템간의 전송을 통해서 문법에 대해 근본적인 모호함이 발생하지 않아야 하기 때문이다. Caliper는 JSON-LD를 활용하는데, 데이터간의 연결이나 네트워크를 통해 공유와 분산을 이해할 수 있는 표현력을 제공하기 때문이다.
JSON-LD는 기본적인 데이터 교환 형식으로 JSON을 활용하여 링크드 데이터로 표현된 학습 활동을 효율적으로 나타낼 수 있는 문법을 정의하고 있다. JSON-LD는 또한 서로 다른 컨텍스트로 정의된 JSON-LD 기반 문서간의 알고리즘과 API를 제공한다. RDF 문서를 JSON-LD로 변환하거나 JSON-LD 문서를 RDF로 변환하는 알고리즘 등도 이미 개발되어 있다.
JSON-LD 문서에는 문서 Terms를 IRIs에 매핑하는 데 사용되는 속성인 @context
키워드로 표시된 컨텍스트 가 포함되어야 한다. JSON-LD 컨텍스트는 인라인으로 삽입하거나 문서 외부의 파일에 위치시켜 참조할 수 있다. JSON-LD 컨텍스트를 포함하면 Caliper가 Caliper 이벤트 데이터를 사용하는 데 관심 있는 서비스에 문서의 의미를 공유할 수 있는 효과적인 방법을 제공한다.
IMS Global은 Caliper Terms를 IRIs에 매핑하기 위해 원격 Caliper 1.1 JSON-LD 컨텍스트 문서 (http://purl.imsglobal.org/ctx/caliper/v1p1)를 제공한다. 개발자들은 여기에 설명된 용어 정의에 익숙해 지는 것이 좋다.
@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].다음 예에서 @context
는 원격 Caliper JSON-LD 컨텍스트 문서를 참조하는 값을 포함한 최상위 Event 속성이다. 모든 Event의 key:value 쌍은 참조된 컨텍스트 내 [IRIs]로 매핑된다.
{
"@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 Event나 Entity describe 에 대해 추가 컨텍스트를 정의할 수 있다[MAY].
{
"@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"
}
}
링크드 데이터는 리소스의 식별과 검색을 위해 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는 반드시 UUIDs의 URN 네임스페이스를 정의하는 RFC 4122에 따라 URN으로 포맷된 128 비트의 범용 고유 식별자(UUID)를 할당해야 한다[MUST].
{
. . .
"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",
. . .
},
. . .
}
JSON-LD는 @type
키워드를 두 가지 방식으로 사용한다. 개별 노드(즉, 설명되고 있는 것)에 유형을 지정할 수 있다. 값은 또한 특정 유형과 연관되거나 강제 변환될 수 있다. 노드 유형과 입력된 값 모두 Caliper JSON-LD context에 지정된다. @id
키워드를 id
로 지칭하는 것과 마찬가지로 @type
키워드는 JSON-LD 커뮤니티의 관행에 따라 외부 IMS Caliper JSON-LD context에서 type
으로 불린다.
Caliper는 Entity 값을 JSON 객체나 IRI에 해당하는 문자열로 표현할 수 있다. 또한 JSON-LD는 JSON-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에 해당하는 문자열 값에 대한 표현을 고려한다.
actor
와 group
에 대한 membership
과 session
참조{
"@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로 제공되는 경우 더 간단해 질 수 있다.
{
"@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"
}
Caliper는 대상 Endpoint로 데이터를 정렬하고 전송하기 위한 API(Sensor API™)를 정의한다. 정보 모델의 규칙을 준수하여 하나 이상의 metric profiles을 적용하는 것은 데이터 소비자의 통신을 위한 도구화된 플랫폼이나 어플리케이션, 서비스 등에서 제공하는 Sensor를 구현하는 것이다.
Sensor는 반드시 다음 동작을 구현해야 한다[MUST].
Sensor는 Caliper Event와 Entity 데이터의 검증과 같은 다른 책임들을 맡을 수 있지만[MAY], 이러한 기능을 학습 데이터 제공업체에게 노출할 필요는 없다.
Caliper Event와 Entity 데이터는 반드시 방출 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 객체를 정렬한 집합. 센서는 Event와 Entity describe 데이터를 동일한 Envelope내에 혼합할 수 있다[MAY]. | 필수 |
Envelope 내부에서 전송되는 각 Event와 Entity describe 는 반드시 JSON-LD 문서로 직렬화해야 한다[MUST].
{
"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"
}
}]
}
{
"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"
}
]
}
Caliper Sensor는 반드시 Caliper 데이터를 Caliper Endpoint로 성공적으로 전송할 수 있어야 한다[MUST]. Endpoint와의 통신은 TLS(Transport Layer Security)로 암호화 된 연결을 통해 하이퍼 텍스트 전송 프로토콜(HTTP)을 사용하는 메시지 교환으로 제한된다.
각 메시지 요청은 반드시 Caliper Envelope의 단일 JSON 표현으로 구성되어야 한다[MUST]. 메시지는 반드시 POST 요청 메소드를 사용하여 전송해야한다[MUST]. 반드시 HTTP 요청 헤더 필드 Host
와 Content-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 | 요청중인 리소스의 인터넷 호스트와 포트 번호로 문자열 값을 설정한다. | 필수 |
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].
Sensor 요청 메시지를 수신한 후 Endpoint는 반드시 응답 메시지로 응답해야 한다[MUST]. 응답은 Endpoint가 RFC 7231에 정의된 요청을 이해하고 충족했는지 여부를 나타내는 3가지 상태 코드를 포함한다.
2xx
클래스 상태 코드로 응답해야 한다. Endpoint는 200 OK
응답을 사용하는 것이 좋지만[SHOULD], 대신 (메시지의 성공적인 수신과 새로운 리소스의 생성을 나타내기 위해) 201 Created
응답이나 (메시지의 성공적인 수신과 후속 처리를 위한 대기열을 나타내기 위해) 202 Accepted
응답을 보낼 수 있다[MAY]. 성공한 응답의 본문은 비어있는게 좋다[SHOULD].400 Bad Request
로 응답하는게 좋다[SHOULD].sensor
, sendTime
, dataVersion
및 필요한 양식의 data
속성을 포함하지 않음)을 보내면 Endpoint는 400 Bad Request
로 응답하는게 좋다[SHOULD]. Endpoint가 지원할 수 없는 dataVersion
값이 Envelope에 포함되어 있으면 Endpoint는 400 Bad Request
응답을 보내지 않는게 좋다[SHOULD NOT]. 이 경우 Endpoint는 대신 422 Unprocessable Entity
응답을 보내는게 좋다[SHOULD].Content-Type
이 포함된 메시지를 보내면 Endpoint는 415 Unsupported Media Type
로 응답하는게 좋다.Authorization
요청 헤더 없이 메시지를 보내거나, Endpoint가 유효성을 검사할 수 없거나 Caliper 데이터를 전송할 수 있는 충분한 권한이 있는지 확인할 수 없는 자격 증명 토큰을 전송하면 Endpoint는 401 Unauthorized
응답하는게 좋다[SHOULD].Endpoint는 위에 설명한 경우와 다른 다양한 결과 처리를 나타내기 위해서 다른 표준 HTTP 상태 코드로 Sensor에 응답할 수 있다[MAY]. Endpoint는 또한 RFC 7807에 기술된 문제를 보고하는 표준 방법을 사용하여 문제 상태에 대한 보다 자세한 정보를 전달할 수 있다[MAY].
Caliper Endpoint 개발자는 일부 Caliper Sensor 구현에 정교한 오류 처리가 부족할 수 있음을 명심해야 한다.
특정 Caliper data 속성들은 가변 길이의 문자열로 표현된다. JSON-LD는 또한 IRIs, 소형 IRIs 또는 Terms로 표현되는 키와 값의 길이를 변경할 수 있는 방식으로 JSON-LD 문서를 변경하기 위한 일련의 처리 알고리즘을 정의한다. 많은 개발자들은 JSON-LD 문서나 노드, 엣지, 속성으로 구성된 그래프 데이터 구조로 수신된 각각의 Event와 Entity describe 를 저장할 것이다. 다른 사용자는 Caliper Event나 Entity를 구성하는 중첩된 JSON 객체의 일부 또는 전체를 표준화하거나 “평평하게” 만들 수 있다. 선택한 지속성 전략에 Caliper 반정형 데이터를 정규화하는 작업이 포함된 경우, 문자열을 잘림없이 저장할 수 있도록 주의해야 한다. Caliper 데이터 속성과 권장되는 최소 문자열 길이 목록은 부속서 G. 지원되는 최소 문자열 길이를 참조하라.
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) | 주의 깊에 살펴보다; 학습하다. |
Caliper AnnotationEvent는 디지털 콘텐츠의 주석 유형을 모델링한다. 생성된 Annotation은 더 자세한 유형 구체화를 위해 서술되고 하위유형을 표현한다.
http://purl.imsglobal.org/caliper/AnnotationEvent
Bookmarked, Highlighted, Shared, Tagged
다음의 제거대상 액션은 더이상 지원되지 않으며 AnnotationEvent의 지원하는 액션 목록에서 제거될 것이다. 이 액션은 향후 Metric Profiles에 나타날 가능성이 많은 Caliper actions 어휘의 항목으로 명시된다.
Attached, Classified, Commented, Described, Disliked, Identified, Liked, Linked, Questioned, Ranked, Recommended, Subscribed
Annotation, BookmarkAnnotation, HighlightAnnotation, SharedAnnotation, TagAnnotation
AnnotationEvent는 상위유형 Event에 정의된 모든 속성을 상속받는다. 추가 요구사항은 다음과 같다.
속성 | 유형 | 상세 | 적합성 |
---|---|---|---|
id | UUID | 방출 어플리케이션은 반드시 UUID로 Event를 제공해야 하며[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 | 현재 상태와 역할에 대한 actor 와 group 사이의 관계. membership 값은 반드시 객체 또는 멤버십 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. |
선택 |
session | Session | IRI | 현재 사용자 Session. session 값은 반드시 객체 또는 세션의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. |
선택 |
federatedSession | LtiSession | IRI | Event가 LTI 도구를 시작하는 컨텍스트내에서 발생하면, 액터의 도구 소비자는 LtiSession을 참조할 수 있다[MAY]. federatedSession 값은 반드시 객체 또는 federatedSession의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. |
선택 |
extensions | Object | 모델에 의해 정의되지 않은 추가 속성의 맵은 AnnotationEvent를 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. | 선택 |
{
"@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"
}
}
Caliper AssessmentEvent는 온라인 테스트 또는 퀴즈와 같은 평가 도구와 학습자 간의 상호작용을 모델링한다.
http://purl.imsglobal.org/caliper/AssessmentEvent
Started, Paused, Resumed, Restarted, Reset, Submitted
AssessmentEvent는 상위유형 Event에 정의된 모든 속성을 상속받는다. 추가 요구사항은 다음과 같다.
속성 | 유형 | 상세 | 적합성 |
---|---|---|---|
id | UUID | 방출 어플리케이션은 반드시 UUID로 Event를 제공해야 하며[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 | 현재 상태와 역할에 대한 actor 와 group 사이의 관계. membership 값은 반드시 객체 또는 멤버십 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. |
선택 |
session | Session | IRI | 현재 사용자 Session. session 값은 반드시 객체 또는 세션의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. |
선택 |
federatedSession | LtiSession | IRI | Event가 LTI 도구를 시작하는 컨텍스트내에서 발생하면, 액터의 도구 소비자는 LtiSession을 참조할 수 있다[MAY]. federatedSession 값은 반드시 객체 또는 federatedSession의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. |
선택 |
extensions | Object | 모델에 의해 정의되지 않은 추가 속성의 맵은 AssessmentEvent를 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. | 선택 |
{
"@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"
}
}
Caliper AssessmentItemEvent는 학습자와 개별 AssessmentItem 간의 상호작용을 모델링한다.
http://purl.imsglobal.org/caliper/AssessmentItemEvent
Response, FillinBlankResponse, MultipleChoiceResponse, MultipleResponseResponse, SelectTextResponse, TrueFalseResponse
AssessmentItemEvent는 상위유형 Event에 정의된 모든 속성을 상속받는다. 추가 요구사항은 다음과 같다.
속성 | 유형 | 상세 | 적합성 |
---|---|---|---|
id | UUID | 방출 어플리케이션은 반드시 UUID로 Event를 제공해야 하며[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 | 이전에 시도한 AssessmentItem을 referrer 로 지정할 수 있다[MAY]. referrer 값은 반드시 객체 또는 referrer의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. |
선택 |
group | Organization | IRI | 그룹 컨텍스트를 나타내는 Organization. group 값은 반드시 객체 또는 그룹의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. |
선택 |
membership | Membership | IRI | 현재 상태와 역할에 대한 actor 와 group 사이의 관계. membership 값은 반드시 객체 또는 멤버십 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. |
선택 |
session | Session | IRI | 현재 사용자 Session. session 값은 반드시 객체 또는 세션의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. |
선택 |
federatedSession | LtiSession | IRI | Event가 LTI 도구를 시작하는 컨텍스트내에서 발생하면, 액터의 도구 소비자는 LtiSession을 참조할 수 있다[MAY]. federatedSession 값은 반드시 객체 또는 federatedSession의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. |
선택 |
extensions | Object | 모델에 의해 정의되지 않은 추가 속성의 맵은 AssessmentItemEvent를 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. | 선택 |
{
"@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"
}
}
Caliper AssignableEvent는 완료하기 위해 학습자에게 배정된 디지털 콘텐츠의 과제와 관련된 활동을 모델링한다.
http://purl.imsglobal.org/caliper/AssignableEvent
Activated, Deactivated, Started, Completed, Submitted, Reviewed
다음의 제거대상 액션은 더이상 지원되지 않으며 AssignableEvent의 지원하는 액션 목록에서 제거될 것이다.
AssignableEvent는 상위유형 Event에 정의된 모든 속성을 상속받는다. 추가 요구사항은 다음과 같다.
속성 | 유형 | 상세 | 적합성 |
---|---|---|---|
id | UUID | 방출 어플리케이션은 반드시 UUID로 Event를 제공해야 하며[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 | 현재 상태와 역할에 대한 actor 와 group 사이의 관계. membership 값은 반드시 객체 또는 멤버십 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. |
선택 |
session | Session | IRI | 현재 사용자 Session. session 값은 반드시 객체 또는 세션의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. |
선택 |
federatedSession | LtiSession | IRI | Event가 LTI 도구를 시작하는 컨텍스트내에서 발생하면, 액터의 도구 소비자는 LtiSession을 참조할 수 있다[MAY]. federatedSession 값은 반드시 객체 또는 federatedSession의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. |
선택 |
extensions | Object | 모델에 의해 정의되지 않은 추가 속성의 맵은 AssignableEvent를 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. | 선택 |
{
"@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"
}
}
Caliper ForumEvent는 온라인 포럼 커뮤니티에 참여하는 학습자와 그 외의 참여자들에 대해 모델링한다. 포럼은 일반적으로 회원이 가입할 수 있는 하나 이상의 스레드 또는 주제를 포괄적으로 인코딩 할 수 있으며, 이를 통해 스레드가 허용되는 경우 다른 메시지에 회신할 수 있다.
http://purl.imsglobal.org/caliper/ForumEvent
ForumEvent는 상위유형 Event에 정의된 모든 속성을 상속받는다. 추가 요구사항은 다음과 같다.
속성 | 유형 | 상세 | 적합성 |
---|---|---|---|
id | UUID | 방출 어플리케이션은 반드시 UUID로 Event를 제공해야 하며[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 | 현재 상태와 역할에 대한 actor 와 group 사이의 관계. membership 값은 반드시 객체 또는 멤버십 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. |
선택 |
session | Session | IRI | 현재 사용자 Session. session 값은 반드시 객체 또는 세션의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. |
선택 |
federatedSession | LtiSession | IRI | Event가 LTI 도구를 시작하는 컨텍스트내에서 발생하면, 액터의 도구 소비자는 LtiSession을 참조할 수 있다[MAY]. federatedSession 값은 반드시 객체 또는 federatedSession의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. |
선택 |
extensions | Object | 모델에 의해 정의되지 않은 추가 속성의 맵은 ForumEvent를 보다 간결하게 표현하기 위해 명시할 수 있다[MUST]. | 선택 |
{
"@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"
}
}
Caliper GradeEvent는 Person 또는 SoftwareApplication과 같은 Agent에 의해 수행되는 채점 또는 등급 활동을 모델링한다. Caliper GradeEvent는 제거대상인 OutcomeEvent를 대체한다.
http://purl.imsglobal.org/caliper/GradeEvent
GradeEvent는 상위유형 Event에 정의된 모든 속성을 상속받는다. 추가 요구사항은 다음과 같다.
속성 | 유형 | 상세 | 적합성 |
---|---|---|---|
id | UUID | 방출 어플리케이션은 반드시 UUID로 Event를 제공해야 하며[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 | 현재 상태와 역할에 대한 actor 와 group 사이의 관계. membership 값은 반드시 객체 또는 멤버십 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. |
선택 |
session | Session | IRI | 현재 사용자 Session. session 값은 반드시 객체 또는 세션의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. |
선택 |
federatedSession | LtiSession | IRI | Event가 LTI 도구를 시작하는 컨텍스트내에서 발생하면, 액터의 도구 소비자는 LtiSession을 참조할 수 있다[MAY]. federatedSession 값은 반드시 객체 또는 federatedSession의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. |
선택 |
extensions | Object | 모델에 의해 정의되지 않은 추가 속성의 맵은 GradeEvent를 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. | 선택 |
{
"@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"
}
}
Caliper MediaEvent는 오디오, 이미지, 비디오와 같은 다양한 콘텐츠와 학습자간의 상호작용을 모델링한다.
http://purl.imsglobal.org/caliper/MediaEvent
Started, Ended, Paused, Resumed, Restarted, ForwardedTo, JumpedTo, ChangedResolution, ChangedSize, ChangedSpeed, ChangedVolume, EnabledClosedCaptioning, DisabledClosedCaptioning, EnteredFullScreen, ExitedFullScreen, Muted, Unmuted, OpenedPopout, ClosedPopout
다음의 제거대상 액션은 더이상 지원되지 않으며 MediaEvent의 지원하는 액션 목록에서 제거될 것이다.
AudioObject, ImageObject, MediaObject, VideoObject
MediaEvent는 상위유형 Event에 정의된 모든 속성을 상속받는다. 추가 요구사항은 다음과 같다.
속성 | 유형 | 상세 | 적합성 |
---|---|---|---|
id | UUID | 방출 어플리케이션은 반드시 UUID로 Event를 제공해야 하며[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 object 가 AudioObject 또는 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 | 현재 상태와 역할에 대한 actor 와 group 사이의 관계. membership 값은 반드시 객체 또는 멤버십 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. |
선택 |
session | Session | IRI | 현재 사용자 Session. session 값은 반드시 객체 또는 세션의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. |
선택 |
federatedSession | LtiSession | IRI | Event가 LTI 도구를 시작하는 컨텍스트내에서 발생하면, 액터의 도구 소비자는 LtiSession을 참조할 수 있다[MAY]. federatedSession 값은 반드시 객체 또는 federatedSession의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. |
선택 |
extensions | Object | 모델에 의해 정의되지 않은 추가 속성의 맵은 MediaEvent를 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. | 선택 |
{
"@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"
}
}
Caliper MessageEvent는 Message를 게시하는 Person을 설명하거나 게시물이 읽히거나 읽히지 않았는지를 설명한다.
http://purl.imsglobal.org/caliper/MessageEvent
MarkedAsRead, MarkedAsUnRead, Posted
MessageEvent는 상위유형 Event에 정의된 모든 속성을 상속받는다. 추가 요구사항은 다음과 같다.
속성 | 유형 | 상세 | 적합성 |
---|---|---|---|
id | UUID | 방출 어플리케이션은 반드시 UUID로 Event를 제공해야 하며[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 | 현재 상태와 역할에 대한 actor 와 group 사이의 관계. membership 값은 반드시 객체 또는 멤버십 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. session 값은 반드시 객체 또는 세션의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. |
선택 |
session | Session | IRI | The current user Session. | 선택 |
federatedSession | LtiSession | IRI | Event가 LTI 도구를 시작하는 컨텍스트내에서 발생하면, 액터의 도구 소비자는 LtiSession을 참조할 수 있다[MAY]. federatedSession 값은 반드시 객체 또는 federatedSession의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. |
선택 |
extensions | Object | 모델에 의해 정의되지 않은 추가 속성의 맵은 MessageEvent를 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. | 선택 |
{
"@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"
}
}
{
"@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"
}
}
Caliper NavigationEvent는 디지털 리소스 네트워크를 탐색하는 액터를 모델링한다.
http://purl.imsglobal.org/caliper/NavigationEvent
DigitalResource, SoftwareApplication
NavigationEvent는 상위유형 Event에 정의된 모든 속성을 상속받는다. 추가 요구사항은 다음과 같다.
속성 | 유형 | 상세 | 적합성 |
---|---|---|---|
id | UUID | 방출 어플리케이션은 반드시 UUID로 Event를 제공해야 하며[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 | 현재 상태와 역할에 대한 actor 와 group 사이의 관계. membership 값은 반드시 객체 또는 멤버십 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. |
선택 |
session | Session | IRI | 현재 사용자 Session. session 값은 반드시 객체 또는 세션의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. |
선택 |
federatedSession | LtiSession | IRI | Event가 LTI 도구를 시작하는 컨텍스트내에서 발생하면, 액터의 도구 소비자는 LtiSession을 참조할 수 있다[MAY]. federatedSession 값은 반드시 객체 또는 federatedSession의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. |
선택 |
extensions | Object | 모델에 의해 정의되지 않은 추가 속성의 맵은 NavigationEvent를 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. | 선택 |
다음 NavigationEvent 속성은 제거대상이므로 사용해서는 안된다[MUST NOT]. 해당 속성은 향후 버전의 Caliper에서 제거될 것이다.
속성 | 유형 | 상세 | 적합성 |
---|---|---|---|
DigitalResource, SoftwareApplication | 참조하는 컨텍스트를 구성하는 DigitalResource 또는 SoftwareApplication. navigatedFrom 은 제거대상이므로 referrer 로 대체한다. |
선택 |
{
"@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"
}
}
Caliper OutcomeEvent는 Person 또는 SoftwareApplication과 같은 Agent가 수행하는 채점 활동을 모델링한다. OutcomeEvent는 삭제예정이며, 향후 버전에서는 제거될 것이다. 대신 GradeEvent를 사용한다.
http://purl.imsglobal.org/caliper/OutcomeEvent
OutcomeEvent는 상위유형 Event에 정의된 모든 속성을 상속받는다. 추가 요구사항은 다음과 같다.
속성 | 유형 | 상세 | 적합성 |
---|---|---|---|
id | UUID | 방출 어플리케이션은 반드시 UUID로 Event를 제공해야 하며[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 | 현재 상태와 역할에 대한 actor 와 group 사이의 관계. membership 값은 반드시 객체 또는 멤버십 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. |
선택 |
session | Session | IRI | 현재 사용자 Session. session 값은 반드시 객체 또는 세션의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. |
선택 |
federatedSession | LtiSession | IRI | Event가 LTI 도구를 시작하는 컨텍스트내에서 발생하면, 액터의 도구 소비자는 LtiSession을 참조할 수 있다[MAY]. federatedSession 값은 반드시 객체 또는 federatedSession의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. |
선택 |
extensions | Object | 모델에 의해 정의되지 않은 추가 속성의 맵은 OutcomeEvent를 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. | 선택 |
Caliper ReadingEvent가 문자 콘텐츠를 읽는 것을 모델링한다. ReadingEvent는 삭제예정이며, 향후 버전에서는 제거될 것이다. 참조하지 않는게 좋다[SHOULD NOT].
http://purl.imsglobal.org/caliper/ReadingEvent
ReadingEvent는 상위유형 Event에 정의된 모든 속성을 상속받는다. 추가 요구사항은 다음과 같다.
속성 | 유형 | 상세 | 적합성 |
---|---|---|---|
id | UUID | 방출 어플리케이션은 반드시 UUID로 Event를 제공해야 하며[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 | 현재 상태와 역할에 대한 actor 와 group 사이의 관계. membership 값은 반드시 객체 또는 멤버십 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. |
선택 |
session | Session | IRI | 현재 사용자 Session. session 값은 반드시 객체 또는 세션의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. |
선택 |
federatedSession | LtiSession | IRI | Event가 LTI 도구를 시작하는 컨텍스트내에서 발생하면, 액터의 도구 소비자는 LtiSession을 참조할 수 있다[MAY]. federatedSession 값은 반드시 객체 또는 federatedSession의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. |
선택 |
extensions | Object | 모델에 의해 정의되지 않은 추가 속성의 맵은 ReadingEvent를 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. | 선택 |
Caliper SessionEvent는 SoftwareApplication과 상호작용하는 Person에 의해 설정된 사용자 세션의 생성 및 후속 종료를 모델링한다.
http://purl.imsglobal.org/caliper/SessionEvent
SessionEvent는 상위유형 Event에 정의된 모든 속성을 상속받는다. 추가 요구사항은 다음과 같다.
속성 | 유형 | 상세 | 적합성 |
---|---|---|---|
id | UUID | 방출 어플리케이션은 반드시 UUID로 Event를 제공해야 하며[MUST], 이때 UUID는 Ver.4를 준수하는게 좋다[SHOULD]. UUID는 반드시 RFC 4122에 따라 urn:uuid:<UUID> 형식을 사용하여 URN으로 기술해야 한다[MUST]. |
필수 |
type | Term | 문자열 값은 반드시 SessionEvent Term으로 설정해야 한다[MUST]. | 필수 |
actor | Person | SoftwareApplication | IRI | action 을 시작한 Agent. LoggedIn과 LoggedOut액션의 경우, Person은 반드시 actor 로 지정해야 한다[MUST]. TimedOut 액션의 경우,SoftwareApplication은 반드시 actor 로 지정해야 한다[MUST]. actor 값은 반드시 객체 또는 액터의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. |
필수 |
action | Term | actor 또는 주어를 object 에 바인딩하는 동작 또는 술어. 값의 범위는 위에 나열된 액션 용어로 제한된다. Event 당 하나의 action Term만 지정한다. |
필수 |
object | Session | SoftwareApplication | IRI | LoggedIn과 LoggedOut 액션의 경우, 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 또는 SoftwareApplication을 referrer 로 지정할 수 있다[MAY]. referrer 값은 반드시 객체 또는 referrer의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. |
선택 |
group | Organization | IRI | group 값은 반드시 객체 또는 그룹의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. |
선택 |
membership | Membership | IRI | 현재 상태와 역할에 대한 actor 와 group 사이의 관계. membership 값은 반드시 객체 또는 멤버십 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. |
선택 |
session | Session | IRI | 현재 사용자 Session. session 값은 반드시 객체 또는 세션의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. |
선택 |
federatedSession | LtiSession | IRI | Event가 LTI 도구를 시작하는 컨텍스트내에서 발생하면, 액터의 도구 소비자는 LtiSession을 참조할 수 있다[MAY]. federatedSession 값은 반드시 객체 또는 federatedSession의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. |
선택 |
extensions | Object | 모델에 의해 정의되지 않은 추가 속성의 맵은 SessionEvent를 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. | 선택 |
{
"@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"
}
}
{
"@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"
}
}
{
"@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"
}
Caliper ThreadEvent는 Forum의 스레드 또는 주제와 상호작용하는 액터를 모델링한다.
http://purl.imsglobal.org/caliper/ThreadEvent
ThreadEvent는 상위유형 Event에 정의된 모든 속성을 상속받는다. 추가 요구사항은 다음과 같다.
속성 | 유형 | 상세 | 적합성 |
---|---|---|---|
id | UUID | 방출 어플리케이션은 반드시 UUID로 Event를 제공해야 하며[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 | 현재 상태와 역할에 대한 actor 와 group 사이의 관계. membership 값은 반드시 객체 또는 멤버십 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. |
선택 |
session | Session | IRI | 현재 사용자 Session. session 값은 반드시 객체 또는 세션의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. |
선택 |
federatedSession | LtiSession | IRI | Event가 LTI 도구를 시작하는 컨텍스트내에서 발생하면, 액터의 도구 소비자는 LtiSession을 참조할 수 있다[MAY]. federatedSession 값은 반드시 객체 또는 federatedSession의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. |
선택 |
extensions | Object | 모델에 의해 정의되지 않은 추가 속성의 맵은 ThreadEvent를 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. | 선택 |
{
"@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"
}
}
Caliper ToolUseEvent는 도구 생성자가 결정한 학습 상호 작용 방법대로 학습 도구를 사용하는 Person을 모델링한다.
http://purl.imsglobal.org/caliper/ToolUseEvent
ToolUseEvent는 상위유형 Event에 정의된 모든 속성을 상속받는다. 추가 요구사항은 다음과 같다.
속성 | 유형 | 상세 | 적합성 |
---|---|---|---|
id | UUID | 방출 어플리케이션은 반드시 UUID로 Event를 제공해야 하며[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 | 현재 상태와 역할에 대한 actor 와 group 사이의 관계. membership 값은 반드시 객체 또는 멤버십 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. |
선택 |
session | Session | IRI | 현재 사용자 Session. session 값은 반드시 객체 또는 세션의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. |
선택 |
federatedSession | LtiSession | IRI | Event가 LTI 도구를 시작하는 컨텍스트내에서 발생하면, 액터의 도구 소비자는 LtiSession을 참조할 수 있다[MAY]. federatedSession 값은 반드시 객체 또는 federatedSession의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. |
선택 |
extensions | Object | 모델에 의해 정의되지 않은 추가 속성의 맵은 ToolUseEvent를 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. | 선택 |
{
"@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"
}
}
Caliper ViewEvent는 단순히 리소스를 검색하는 것과 대조적으로 사려깊은 관찰 또는 학습을 강조할 때 액터가 디지털 콘텐츠를 조사하는 것을 나타낸다.
http://purl.imsglobal.org/caliper/ViewEvent
ViewEvent는 상위유형 Event에 정의된 모든 속성을 상속받는다. 추가 요구사항은 다음과 같다.
속성 | 유형 | 상세 | 적합성 |
---|---|---|---|
id | UUID | 방출 어플리케이션은 반드시 UUID로 Event를 제공해야 하며[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 | 현재 상태와 역할에 대한 actor 와 group 사이의 관계. membership 값은 반드시 객체 또는 멤버십 엔터티의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. |
선택 |
session | Session | IRI | 현재 사용자 Session. session 값은 반드시 객체 또는 세션의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. |
선택 |
federatedSession | LtiSession | IRI | Event가 LTI 도구를 시작하는 컨텍스트내에서 발생하면, 액터의 도구 소비자는 LtiSession을 참조할 수 있다[MAY]. federatedSession 값은 반드시 객체 또는 federatedSession의 IRI에 해당하는 문자열로 표현되어야 한다[MUST]. |
선택 |
extensions | Object | 모델에 의해 정의되지 않은 추가 속성의 맵은 ViewEvent를 보다 간결하게 표현하기 위해 명시할 수 있다[MAY]. | 선택 |
{
"@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"
}
}
Caliper Agent 액션을 시작하거나 수행할 수 있는 Entity를 나타내는 일반 유형이다.
Agent는 서술하고자 하는 대상에 해당하는 유효한 하위유형이 존재하지 않을 경우에만 사용한다.
http://purl.imsglobal.org/caliper/Agent
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"
}
Caliper Annotation은 DigitalResource에 연결된 조언, 상세, 강조, 표시, 메모, 질문, 태그를 나타내는 일반 유형이다. DigitalResource를 다른 사람과 공유하는 것도 주석의 한 형태이다.
Annotation은 서술하고자 하는 대상에 해당하는 유효한 하위유형이 존재하지 않을 경우에만 사용한다.
http://purl.imsglobal.org/caliper/Annotation
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"
}
Caliper Assessment는 테스트나 퀴즈와 같은 평가 도구를 나타낸다.
http://purl.imsglobal.org/caliper/Assessment
DigitalResourceCollection, AssignableDigitalResource
Assessment는 상위유형 DigitalResourceCollection과 AssignableDigitalResource에 정의된 모든 속성과 요구사항을 상속받는다. 추가 요구사항은 다음과 같다.
속성 | 유형 | 상세 | 적합성 |
---|---|---|---|
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에서 제거될 것이다.
속성 | 유형 | 상세 | 적합성 |
---|---|---|---|
string | DigitalResource의 유형을 지정하는 문자열 값. | 선택 | |
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"
}
Caliper AssessmentItem은 하나의 문제를 나타낸다.
http://purl.imsglobal.org/caliper/AssessmentItem
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에서 제거될 것이다.
속성 | 유형 | 상세 | 적합성 |
---|---|---|---|
string | DigitalResource의 유형을 지정하는 문자열 값. | 선택 | |
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"
}
}
Caliper AssignableDigitalResource는 등급이 지정되거나 지정되지 않은 과제와 관련된 디지털 콘텐츠를 나타내는 일반 유형이다.
AssignableDigitalResource는 서술하고자 하는 대상에 해당하는 유효한 하위유형이 존재하지 않을 경우에만 사용한다.
http://purl.imsglobal.org/caliper/AssignableDigitalResource
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에서 제거될 것이다.
속성 | 유형 | 상세 | 적합성 |
---|---|---|---|
string | DigitalResource의 유형을 지정하는 문자열 값. | 선택 | |
Array | 학습자가 DigitalResource를 활용한 후에, 학습자가 이해하거나 달성할 것으로 예상되는 것을 설명하는 하나 이상의 LearningObjective 엔터티를 정렬한 집합. alignedLearningObjective 는 제거대상이므로 learningObjectives 로 대체한다. |
선택 |
{
"@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
}
Caliper Attempt는 시작시간, 종료시간, 지속시간 정보와 함께 액터가 AssignableDigitalResource와 상호작용한 횟수를 나타낸다. Attempt는 Assessment의 시작과 같은 액션으로부터 생성된다.
http://purl.imsglobal.org/caliper/Attempt
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에서 제거될 것이다.
속성 | 유형 | 상세 | 적합성 |
---|---|---|---|
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"
}
Caliper AudioObject는 오디오나 사운드 파일을 나타낸다.
http://purl.imsglobal.org/caliper/AudioObject
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에서 제거될 것이다.
속성 | 유형 | 상세 | 적합성 |
---|---|---|---|
string | DigitalResource의 유형을 지정하는 문자열 값. | 선택 | |
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"
}
Caliper BookmarkAnnotation은 특정 위치에 DigitalResource를 표시하는 활동을 나타낸다.
http://purl.imsglobal.org/caliper/BookmarkAnnotation
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"
}
Caliper Chapter는 디지털 콘텐츠의 주요 세부 분류를 나타낸다.
http://purl.imsglobal.org/caliper/Chapter
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에서 제거될 것이다.
속성 | 유형 | 상세 | 적합성 |
---|---|---|---|
string | DigitalResource의 유형을 지정하는 문자열 값. | 선택 | |
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"
}
}
Caliper CourseOffering은 지정된 기간 동안의 코스 또는 유형의 발생을 나타낸다. CourseOffering은 IMS LTI 2.1 표준에서 명시된 속성의 하위 집합으로 구성되며, 이는 IMS LIS 1.0에서 도출하였다.
http://purl.imsglobal.org/caliper/CourseOffering
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]. | 선택 |
{
"@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"
}
Caliper CourseSection은 특정 학기, 기간 또는 기간 중에 발생하는 CourseOffering의 특정 인스턴스를 나타낸다. CourseSection은 IMS LTI 2.1 표준에서 명시된 속성의 하위 집합으로 구성되며, 이는 IMS LIS 1.0 표준에서 도출되었다.
http://purl.imsglobal.org/caliper/CourseSection
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"
}
Caliper DigitalResource는 디지털 콘텐츠를 나타내는 일반유형이다.
DigitalResource는 서술하고자 하는 대상에 해당하는 유효한 하위유형이 존재하지 않을 경우에만 사용한다.
http://purl.imsglobal.org/caliper/DigitalResource
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에서 제거될 것이다.
속성 | 유형 | 상세 | 적합성 |
---|---|---|---|
string | DigitalResource의 유형을 지정하는 문자열 값. | 선택 | |
Array | 학습자가 DigitalResource를 활용한 후에, 학습자가 이해하거나 달성할 것으로 예상되는 것을 설명하는 하나 이상의 LearningObjective 엔터티를 정렬한 집합. alignedLearningObjective 는 제거대상이므로 learningObjectives 로 대체한다. |
선택 |
AssignableDigitalResource, Chapter, DigitalResourceCollection, Document, Forum, Frame, MediaLocation, MediaObject, Message, Page, Thread, WebPage
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"
}
Caliper DigitalResourceCollection은 DigitalResource 엔터티를 정렬한 집합이다.
http://purl.imsglobal.org/caliper/DigitalResourceCollection
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에서 제거될 것이다.
속성 | 유형 | 상세 | 적합성 |
---|---|---|---|
string | DigitalResource의 유형을 지정하는 문자열 값. | 선택 | |
Array | 학습자가 DigitalResource를 활용한 후에, 학습자가 이해하거나 달성할 것으로 예상되는 것을 설명하는 하나 이상의 LearningObjective 엔터티를 정렬한 집합. alignedLearningObjective 는 제거대상이므로 learningObjectives 로 대체한다. |
선택 |
{
"@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"
}
Caliper Document는 텍스트 콘텐츠를 나타낸다.
http://purl.imsglobal.org/caliper/Document
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에서 제거될 것이다.
속성 | 유형 | 상세 | 적합성 |
---|---|---|---|
string | DigitalResource의 유형을 지정하는 문자열 값. | 선택 | |
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"
}
Caliper EpubChapter는 글쓰기의 주요 구조적 부분을 나타낸다. EpubChapter는 삭제예정이며, 향후 버전에서는 제거될 것이다. 참조하지 않는게 좋다[SHOULD NOT].
http://purl.imsglobal.org/caliper/EpubChapter
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에서 제거될 것이다.
속성 | 유형 | 상세 | 적합성 |
---|---|---|---|
string | DigitalResource의 유형을 지정하는 문자열 값. | 선택 | |
Array | 학습자가 DigitalResource를 활용한 후에, 학습자가 이해하거나 달성할 것으로 예상되는 것을 설명하는 하나 이상의 LearningObjective 엔터티를 정렬한 집합. alignedLearningObjective 는 제거대상이므로 learningObjectives 로 대체한다. |
선택 |
Caliper EpubPart는 일반적으로 관련된 일련의 챕터를 캡슐화하는 글의 주요 구조적 구분을 나타낸다. EpubPart는 삭제예정이며, 향후 버전에서는 제거될 것이다. 참조하지 않는게 좋다[SHOULD NOT].
http://purl.imsglobal.org/caliper/EpubPart
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에서 제거될 것이다.
속성 | 유형 | 상세 | 적합성 |
---|---|---|---|
string | DigitalResource의 유형을 지정하는 문자열 값. | 선택 | |
Array | 학습자가 DigitalResource를 활용한 후에, 학습자가 이해하거나 달성할 것으로 예상되는 것을 설명하는 하나 이상의 LearningObjective 엔터티를 정렬한 집합. alignedLearningObjective 는 제거대상이므로 learningObjectives 로 대체한다. |
선택 |
Caliper EpubSubChapter는 EpubChapter의 주요 하위 분류를 나타낸다. EpubSubChapter는 삭제예정이며, 향후 버전에서는 제거될 것이다. 참조하지 않는게 좋다[SHOULD NOT].
http://purl.imsglobal.org/caliper/EpubSubChapter
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에서 제거될 것이다.
속성 | 유형 | 상세 | 적합성 |
---|---|---|---|
string | DigitalResource의 유형을 지정하는 문자열 값. | 선택 | |
Array | 학습자가 DigitalResource를 활용한 후에, 학습자가 이해하거나 달성할 것으로 예상되는 것을 설명하는 하나 이상의 LearningObjective 엔터티를 정렬한 집합. alignedLearningObjective 는 제거대상이므로 learningObjectives 로 대체한다. |
선택 |
Caliper EpubVolume은 집합의 구성요소를 나타낸다. EpubVolume은 상위유형 DigitalResource에 정의된 모든 속성과 요구사항을 상속받는다. EpubVolume는 삭제예정이며, 향후 버전에서는 제거될 것이다. 참조하지 않는게 좋다[SHOULD NOT].
http://purl.imsglobal.org/caliper/EpubVolume
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에서 제거될 것이다.
속성 | 유형 | 상세 | 적합성 |
---|---|---|---|
string | DigitalResource의 유형을 지정하는 문자열 값. | 선택 | |
Array | 학습자가 DigitalResource를 활용한 후에, 학습자가 이해하거나 달성할 것으로 예상되는 것을 설명하는 하나 이상의 LearningObjective 엔터티를 정렬한 집합. alignedLearningObjective 는 제거대상이므로 learningObjectives 로 대체한다. |
선택 |
Caliper FillinBlankResponse은 응답자가 문장을 올바르게 완성하도록 하나 이상의 단어, 표현 또는 짧은 문구를 제공하는 Response의 한 유형이다.
http://purl.imsglobal.org/caliper/FillinBlankResponse
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]. 객체 표현이 제공되면, Attempt는 FillinBlankResponse를 생성하는 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에서 제거될 것이다.
속성 | 유형 | 상세 | 적합성 |
---|---|---|---|
Agent | Response를 생성한 Agent. actor 는 제거대상이므로 attempt 로 대체한다. |
선택 | |
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" ]
}
Caliper Forum은 그룹 토론이 이루어지는 채널 또는 가상 공간을 나타낸다. Forum은 일반적으로 회원이 가입하고 메시지를 게시하고 다른 메시지에 회신할 수 있는 하나 이상의 스레드 대화로 이루어진다.
http://purl.imsglobal.org/caliper/Forum
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에서 제거될 것이다.
속성 | 유형 | 상세 | 적합성 |
---|---|---|---|
string | DigitalResource의 유형을 지정하는 문자열 값. | 선택 | |
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"
}
Caliper Frame은 DigitalResource의 일부, 부분 또는 세그먼트를 나타낸다.
http://purl.imsglobal.org/caliper/Frame
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에서 제거될 것이다.
속성 | 유형 | 상세 | 적합성 |
---|---|---|---|
string | DigitalResource의 유형을 지정하는 문자열 값. | 선택 | |
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"
}
}
Caliper Group은 일반적인 교육적, 사회적 목적으로 조직된 비정형, 비공식적, 임시적인 개인들의 모임을 나타낸다. Group은 Agent로써 역할을 수행한. 부모 Organization과 members
와 연결된다.
http://purl.imsglobal.org/caliper/Group
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"
}
Caliper HighlightAnnotation은 알려진 두 좌표 사이에서 DigitalResource의 특정 세그먼트를 표시하는 활동을 나타낸다.
http://purl.imsglobal.org/caliper/HighlightAnnotation
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가 정의된 경우, start와 end 위치를 명시해야 한다[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"
}
Caliper ImageObject는 이미지 파일을 나타낸다.
http://purl.imsglobal.org/caliper/ImageObject
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에서 제거될 것이다.
속성 | 유형 | 상세 | 적합성 |
---|---|---|---|
string | DigitalResource의 유형을 지정하는 문자열 값. | 선택 | |
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"
}
Caliper LearningObjective는 학습자가 학습 활동에 참여한 결과, 달성해야 하는 학습 관련 목표를 간략하게 요약한 요약문을 나타낸다.
http://purl.imsglobal.org/caliper/LearningObjective
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
}
Caliper LtiSession은 LTI 도구 소비자 사용자 세션을 나타낸다.
http://purl.imsglobal.org/caliper/LtiSession
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에서 제거될 것이다.
속성 | 유형 | 상세 | 적합성 |
---|---|---|---|
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"
}
Caliper MediaLocation는 AudioObject 또는 VideoObject와 같은 MediaObject에서 현재 재생 위치를 나타낸다.
http://purl.imsglobal.org/caliper/MediaLocation
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에서 제거될 것이다.
속성 | 유형 | 상세 | 적합성 |
---|---|---|---|
string | DigitalResource의 유형을 지정하는 문자열 값. | 선택 | |
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"
}
Caliper MediaObject는 일반적인 미디어 콘텐츠를 나타낸다.
MediaObject는 서술하고자 하는 대상에 해당하는 유효한 하위유형이 존재하지 않을 경우에만 사용한다.
http://purl.imsglobal.org/caliper/MediaObject
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에서 제거될 것이다.
속성 | 유형 | 상세 | 적합성 |
---|---|---|---|
string | DigitalResource의 유형을 지정하는 문자열 값. | 선택 | |
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"
}
Caliper Membership은 할당된 역할 및 현재 상태와 관련된 Organization과 Agent(일반적으로 Person. 즉, member) 사이의 관계를 나타낸다.
http://purl.imsglobal.org/caliper/Membership
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"
}
Caliper Message는 받는 사람에게 보낸 서면 통신의 디지털 형식이다. 공통의 주제를 공유하고 회신 또는 날짜 관계에 의해 연결되어 있는 경우 Thread를 구성한다.
http://purl.imsglobal.org/caliper/Message
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 | Message의 body 내용을 일반 텍스트로 렌더링하는 문자열 값. |
선택 |
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에서 제거될 것이다.
속성 | 유형 | 상세 | 적합성 |
---|---|---|---|
string | DigitalResource의 유형을 지정하는 문자열 값. | 선택 | |
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"
}
Caliper MultipleChoiceResponse은 응답자가 선택 가능한 목록 중 최상의 답변을 제공하도록 요청하는 Response의 한 유형이다.
http://purl.imsglobal.org/caliper/MultipleChoiceResponse
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]. 객체 표현이 제공되면, Attempt는 MultipleChoiceResponse를 생성하는 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에서 제거될 것이다.
속성 | 유형 | 상세 | 적합성 |
---|---|---|---|
Person | Response를 생성한 Person. actor 는 제거대상이므로 attempt 로 대체한다. |
선택 | |
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"
}
Caliper MultipleResponseResponse은 응답자가 선택 목록에서 하나 이상의 정답을 선택하도록 요청하는 응답 양식을 나타낸다.
http://purl.imsglobal.org/caliper/MultipleResponseResponse
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]. 객체 표현이 제공되면, Attempt는 MultipleResponseResponse를 생성하는 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에서 제거될 것이다.
속성 | 유형 | 상세 | 적합성 |
---|---|---|---|
Person | Response를 생성한 Person. actor 는 제거대상이므로 attempt 로 대체한다. |
선택 | |
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" ]
}
Caliper Organization은 일반적인 교육적, 사회적 또는 관리 목적으로 조직된 공식적인 개인들의 모임을 나타낸다. Organization은 Agent 역할을 수행한다. 부모 Organization과 그 members
와 연결될 수 있다.
http://purl.imsglobal.org/caliper/Organization
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"
}
}
Caliper Page는 페이지가 매겨진 콘텐츠의 항목을 나타낸다.
http://purl.imsglobal.org/caliper/Page
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에서 제거될 것이다.
속성 | 유형 | 상세 | 적합성 |
---|---|---|---|
string | DigitalResource의 유형을 지정하는 문자열 값. | 선택 | |
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"
}
}
}
Caliper Person은 현실 혹은 가상에서 살아있거나 사망한 사람을 나타낸다.
http://purl.imsglobal.org/caliper/Person
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"
}
Caliper Reading은 페이지가 매겨진 콘텐츠의 항목을 나타낸다. Reading은 삭제예정이며, Document로 대체되어 향후 버전에서는 제거될 것이다. 참조하지 않는게 좋다[SHOULD NOT].
http://purl.imsglobal.org/caliper/Reading
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에서 제거될 것이다.
속성 | 유형 | 상세 | 적합성 |
---|---|---|---|
string | DigitalResource의 유형을 지정하는 문자열 값. | 선택 | |
Array | 학습자가 DigitalResource를 활용한 후에, 학습자가 이해하거나 달성할 것으로 예상되는 것을 설명하는 하나 이상의 LearningObjective 엔터티를 정렬한 집합. alignedLearningObjective 는 제거대상이므로 learningObjectives 로 대체한다. |
선택 |
Caliper Response은 AssessmentItem과 상호작용하는 Person에 의해 생성된 선택 항목을 나타내는 일반 유형이다.
Response는 서술하고자 하는 대상에 해당하는 유효한 하위유형이 존재하지 않을 경우에만 사용한다.
http://purl.imsglobal.org/caliper/Response
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]. 객체 표현이 제공되면, Attempt는 Response를 생성하는 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에서 제거될 것이다.
속성 | 유형 | 상세 | 적합성 |
---|---|---|---|
Person | Response를 생성한 Person. actor 는 제거대상이므로 attempt 로 대체한다. |
선택 | |
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."
}
}
Caliper Result는 성적표에 기록된 현재 점수 또는 성적을 나타낸다. Result 점수 값은 조정되거나 매겨진 값을 의미하며, 변경가능하다.
http://purl.imsglobal.org/caliper/Result
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]. 객체 표현이 제공되면, Attempt는 Attempt를 생성하는 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에서 제거될 것이다.
속성 | 유형 | 상세 | 적합성 |
---|---|---|---|
Person | Attempt를 생성하는 Person. actor 는 제거대상이므로 attempt 로 대체한다. |
선택 | |
DigitalResource | Result와 관련된 DigitalResource. assignable 는 제거대상이므로 attempt 로 대체한다. |
선택 | |
decimal | extraCreditScore 를 더하기 전에 학습자가 얻은 점수, penaltyScore 또는 curveFactor 가 존재한다면 각각을 빼거나 적용한 값이다. |
선택 | |
decimal | 마감 기한 이후 제출한 Attempt와 같은 위반 사항으로 인해 normalScore 에서 공제될 점수. |
선택 | |
decimal | 학습자가 얻은 추가 점수. | 선택 | |
decimal | 학습자가 얻은 총 점수로 계산식은 normalScore + extraCreditScore - penaltyScore . 이 값은 커브 효과를 받지 않는다. |
선택 | |
decimal | 조정된 점수를 계산하기 위해 계산식에 curveFactor 를 적용한 후 학습자가 얻은 총 점수. 예를 들어, 점수를 100 - curvedFactor (100 - totalScore )와 같이 조정한다. |
선택 | |
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"
}
Caliper Score는 주어진 과제 제출에 대해 부여된 “미가공” 또는 조정되지 않은 숫자 점수 또는 등급을 나타낸다. 성적표는 scoreGiven
값을 읽기 전용으로 처리하고 보존하는게 좋다[SHOULD].
http://purl.imsglobal.org/caliper/Score
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]. 객체 표현이 제공되면, Attempt는 Attempt를 생성하는 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"
}
Caliper SelectTextResponse는 표시된 단락이나 목록에서의 텍스트 또는 매핑을 식별하는 Response 유형을 나타낸다.
http://purl.imsglobal.org/caliper/SelectTextResponse
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에서 제거될 것이다.
속성 | 유형 | 상세 | 적합성 |
---|---|---|---|
Person | Response를 생성한 Person. actor 는 제거대상이므로 attempt 로 대체한다. |
선택 | |
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" ]
}
Caliper Session은 웹 어플리케이션의 사용자 세션을 나타낸다.
http://purl.imsglobal.org/caliper/Session
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에서 제거될 것이다.
속성 | 유형 | 상세 | 적합성 |
---|---|---|---|
Person | Session을 생성하는 Person. actor 는 제거대상이므로 user 로 대체한다. |
선택 |
{
"@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"
}
Caliper SharedAnnotation은 DigitalResource에 대한 참조를 다른 에이전트와 공유하는 행위를 나타낸다.
http://purl.imsglobal.org/caliper/SharedAnnotation
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"
}
Caliper SoftwareApplication은 컴퓨터 프로그램, 응용 프로그램, 모듈, 플랫폼 또는 시스템을 나타낸다.
http://purl.imsglobal.org/caliper/SoftwareApplication
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"
}
Caliper TagAnnotation은 DigitalResource에 태그 또는 라벨을 붙이는 행동을 나타낸다.
http://purl.imsglobal.org/caliper/TagAnnotation
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"
}
Caliper Thread는 공통 주제를 공유하고 회신이나 날짜 관계로 연결되는 하나 이상의 메시지를 나타낸다.
http://purl.imsglobal.org/caliper/Thread
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에서 제거될 것이다.
속성 | 유형 | 상세 | 적합성 |
---|---|---|---|
string | DigitalResource의 유형을 지정하는 문자열 값. | 선택 | |
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"
}
Caliper TrueFalseResponse은 두 가지 가능한 옵션(예: 참/거짓, 예/아니오)만을 제공하는 AssessmentItem에 대한 Response 유형을 나타낸다.
http://purl.imsglobal.org/caliper/TrueFalseResponse
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]. 객체 표현이 제공되면, Attempt는 TrueFalseResponse를 생성하는 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에서 제거될 것이다.
속성 | 유형 | 상세 | 적합성 |
---|---|---|---|
Person | Response를 생성한 Person. actor 는 제거대상이므로 attempt 로 대체한다. |
선택 | |
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"
}
Caliper VideoObject는 디지털 형식으로 저장된 시각적 기록을 나타낸다.
http://purl.imsglobal.org/caliper/VideoObject
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에서 제거될 것이다.
속성 | 유형 | 상세 | 적합성 |
---|---|---|---|
string | DigitalResource의 유형을 지정하는 문자열 값. | 선택 | |
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"
}
Caliper WebPage는 웹 브라우저에 표시하기 적합한 마크업을 포함하는 문서를 나타낸다.
http://purl.imsglobal.org/caliper/WebPage
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에서 제거될 것이다.
속성 | 유형 | 상세 | 적합성 |
---|---|---|---|
string | DigitalResource의 유형을 지정하는 문자열 값. | 선택 | |
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"
}
}
Caliper Selector는 Entity의 부분, 선택 혹은 일부를 나타낸다.
Caliper TextPositionSelector는 텍스트 내용의 부분 또는 선택을 나타낸다. 전체 텍스트의 최초 글자(위치 0)부터의 문자 길이로 정해지는 시작과 끝의 위치을 나타낸다.
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"
}
Membership은 organization
의 member
로 설명된 Event actor
에 하나 이상의 역할을 할당하기 위한 선택적 roles
속성을 포함한다. Role 값은 IMS LIS 표준에서 파생된 Caliper 역할 용어 목록으로 제한한다. 대부분의 경우 핵심 context roles을 할당하면 충분하다. subrole이 지정될 때마다, 관련 context roles도 함께 포함되는 게 좋다[SHOULD]. 예를 들어, Instructor#TeachingAssistant
의 역할은 항상 Instructor
역할을 수반하는 게 좋다[SHOULD].
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 | 아니오 |
| 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 |
조직 내 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 |
표준화되거나 “평평한” 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 |
Caliper 1.1에 추가된 부분과 제거대상은 다음과 같이 요약되어 있다.
Profile | 상태 | 상세 |
---|---|---|
AssessmentItem Profile | 제거 | 중복된 것으로 간주. AssessmentItemEvent가 Assessment Profile로 재배치됨 |
Basic Profile | 신규 | Caliper가 아직 모델링하지 않은 학습이나 지원 활동을 설명하기 위해 일반 Event를 활용함 |
Forum Profile | 신규 | 온라인 포럼 커뮤니티에서 학습자와 다른 참여자를 모델링함 |
Grading Profile | 신규 | Outcome Profile을 대체함. Score를 추가함 |
Outcome Profile | 제거 | Grading Profile로 대체함. |
Reading Profile | 수정 | NavigationEvent와 ViewEvent가 추가됨에 따라 ReadingEvent 가 제거대상이 됨. EpubChapter](#epubChapter), EpubPart, EpubSubChapter, EpubVolume은 Document, Chapter, Page를 선호하여 제거대상이 됨 |
Tool Use Profile | 신규 | Person과 SoftwareApplication 간의 의도된 상호작용을 모델링하는 경량 프로파일 |
Actions | 상태 | WordNet® 주석 |
---|---|---|
Added | 신규 | 추가한다; 다른 것과 합류하거나 연합하거나 섞는다. 질, 양, 크기 또는 범위를 늘인다. Removed의 반대 개념 |
Created | 신규 | 만들거나 존재하도록 한다. Deleted의 반대 개념 |
Deleted | 신규 | 디지털적으로 제거한다. Created의 반대 개념 |
MarkedAsRead | 신규 | 읽은 상태로 표시한다. MarkedAsUnread의 반대 개념 |
MarkedAsUnread | 신규 | MarkedAsRead의 반대 개념 |
Modified | 신규 | 변화를 야기하다; 다르게 만들다; 변형을 일으키다. |
Posted | 신규 | 다른 곳으로 이동하거나 전송한다. |
Removed | 신규 | 시야에서 제거한다. Added의 반대 개념 |
Reset | 신규 | [Attempt] count 값의 증가나 변화 없이 새로 시작한다. |
Retrieved | 신규 | 컴퓨터 속 정보와 같은 저장 매체로부터 자료를 획득한다. |
Unsubscribed | 신규 | Subscribed의 반대 개념 |
Used | 신규 | 서비스를 활용한다; 특정 목적이나 본연의 목적등을 위해 작업하거나 이용하다. |
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과 함께 도입됨 |
영역 | 속성 | 상태 | 상세 |
---|---|---|---|
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를 참조할 수 있는 기능을 추가한다. 제거대상인 actor 와 assignable 을 대체함 |
Result | actor | 제거대상 | 향후 버전의 표준에서 제거 대상임. attempt 사용 |
Result | assignable | 제거대상 | 향후 버전의 표준에서 제거 대상임. attempt 사용 |
Result | attempt | 신규 | 학습자와 연결된 Attempt를 참조할 수 있는 기능을 추가함. 제거대상인 actor 와 assignable 을 대체함 |
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의 현재 상태 혹은 버전을 명시하는 기능을 추가함 |
새로운 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