안녕하세요 주인장 이정구입니다. 날이 흐린게 몸이 휘적휘적 거리게 되는 오후네요 ...
오늘은 xAPI에서 Statement를 작성할 때 보면 이게 동사로 정의해야 하는지 활동으로 정의해야 하는지 고민되는 때가 있습니다. 이에 대한 글이 공식 홈페이지에 있어서 거기 예제를 가져와 같이 살펴보도록 하겠습니다.
아래 예제는 xAPI 공식문서 중 xAPI Statements 101 이라는 문서에서 발췌했습니다.
https://xapi.com/statements-101/
{
"actor": {
"name": "Sally Glider",
"mbox": "mailto:sally@example.com"
},
"verb": {
"id": "http://adlnet.gov/expapi/verbs/experienced",
"display": {"en-US": "experienced"}
},
"object": {
"id": "http://example.com/activities/solo-hang-gliding",
"definition": {
"type": "http://adlnet.gov/expapi/activities/course",
"name": { "en-US": "Solo Hang Gliding" }
}
},
"context": {
"instructor": {
"name": "Irene Instructor",
"mbox": "mailto:irene@example.com"
},
"contextActivities":{
"parent": { "id": "http://example.com/activities/hang-gliding-class-a" },
"grouping": { "id": "http://example.com/activities/hang-gliding-school" }
}
}
}
위 진술에서는 솔로 행글라이딩이 단일 활동으로 보여집니다. 그 이유는 진술의 물체를 정의하는 URI에 활동이라는 분류 아래 솔로 행글라이딩이 있기 때문입니다.
그런데 만약 "샐리가 한라산에서 행글라이딩을 했다." 라고 말하고 싶다면 어떻게 해야할까요? "한라산에서 행글라이딩을 했다"는 샐리가 경험하는 특정 활동일지, 아니면 한라산을 대상으로 행글라이딩(경험이 아닌)을 한 걸까요?
위에 진술 그대로는 아래와 같을 겁니다.
동사 | 활동 |
experienced | hang-gliding |
다만, 우리가 임의로 "한라산에서"를 추가했을 때는 2가지 경우의 수가 생길 수 있을 것 같습니다.
동사 | 활동 |
hang-glided | Moutain Hanlla |
동사 | 활동 |
experienced | hang-glided over Moutain Hanlla |
일반적으로 이런 모호성을 해결하는 건 데이터를 수집하는 의도와 다른 진술과의 관계에 따라 달라질 수 있습니다. 한라산에서 발생하는 많은 활동들의 데이터를 수집하는 시스템에서는 한라산을 하나의 개체(object)로 두는 것을 선호할 겁니다. 또한 행글라이딩이라는 동사를 필터링할 수 있다면 다양한 개체에 대한 샐리의 행글라이딩 경험을 더 쉽게 수집할 수 있을겁니다.
다른 경우에는 "한라산에서 행글라이딩을 했다" 자체를 단일 활동으로 의미가 있을 수 있습니다. 우리가 번지 점프를 처음 했을 때, 그 경험이 중요한 것이지 가평인게 중요하지 않다는 말과 유사한 것 같습니다.
'📂 데이터베이스 > ◾ EXPERIENCE API' 카테고리의 다른 글
xAPI Profile 만드는 방법 (4) | 2023.12.05 |
---|---|
xAPI 단어 사전 만드는 방법 (1) | 2023.11.03 |
[공식 문서 한글 번역판] xAPI docs 3.0 Communication 톺아보기 (1) | 2023.10.31 |
[공식 문서 한글 번역판] xAPI docs 2.0 Data 톺아보기 (1) | 2023.10.31 |
댓글