시맨틱 큐레이션 도구 사용법
시맨틱 큐레이션 도구는 위키의 편집 화면에서 온톨로지 설계 스크립트를 작성하고 편집하는 도구 모음입니다. 스크립트 원문을 직접 입력하지 않아도 표에서 Class, Relation, Node, Link, Translation을 입력하면 LST 형식의 스크립트가 만들어집니다.
이 문서는 온톨로지 설계 스크립트 사용법의 내용을 알고 있다는 것을 전제로 합니다. 섹션의 의미와 필드의 정의는 해당 문서를 참고하세요.
시작하기[편집]
시맨틱 큐레이션 도구 메뉴[편집]
- 제목이
.lst로 끝나는 문서의 편집 화면을 엽니다.- ※제목이
.lst로 끝나지 않는 문서에서는 시맨틱 큐레이션 탭이 나타나지 않습니다.
- ※제목이
- 편집 도구 모음에서 >고급, >특수 문자, >도움말 옆의 >시맨틱 큐레이션 탭을 누릅니다.
- 탭 안에는 다음 버튼이 있습니다.
| 버튼 | 기능 |
|---|---|
| New Ontology | 편집창에 빈 온톨로지 설계 스크립트의 구조를 넣습니다. |
| LST Editor | 편집창의 스크립트를 읽어 표 형식 편집기를 엽니다. |
작업 순서[편집]
.lst문서를 만들고 편집 화면을 엽니다.- New Ontology로 스크립트의 빈 구조를 넣습니다.
- LST Editor를 열어 Class와 Relation을 정하고, Node와 Link를 입력합니다.
- [편집창에 적용]을 누릅니다.
- 위키의 [변경사항 저장]을 눌러 문서를 저장합니다.
- 저장된 문서에서 네트워크 그래프를 확인합니다.
New Ontology[편집]
- 편집창에
#Project부터#End까지 빈 스크립트 구조를 넣습니다. - 빈 문서에서는 스크립트 구조와 함께 네트워크 그래프를 표시하는 Visualize 문단과 분류까지 넣습니다.
<pre>
#Project
""
#Class
#Relation
#Nodes
#Links
#Translation
#End
</pre>
== Visualize ==
{{NetworkGraph|title={{PAGENAME}}}}
[[분류:Simple Ontology]]
- 이미 스크립트(
#Project ~ #End)가 있는 문서에서는 아무것도 넣지 않고 알려 줍니다. - 다른 내용만 있는 문서에서는 문서 맨 앞에 구조를 넣을지 먼저 묻습니다.
#Class와#Relation은 비어 있는 상태로 들어갑니다. LST Editor의 Ontology 탭에서 채웁니다.
LST Editor[편집]
LST Editor 화면 구성[편집]
- LST Editor 버튼을 누르면 편집 화면 위에 편집기 창이 열립니다.
- 편집기는 편집창에 있는 스크립트(
#Project ~ #End)를 읽어서 표로 보여 줍니다.
| 영역 | 내용 |
|---|---|
| 제목줄 | 문서 제목이 표시됩니다. 빈 문서에서 열면 '(새 문서)'가 함께 표시됩니다. |
| 탭 | Ontology, Node, Link, Translation, Validation의 다섯 개 탭으로 구성됩니다. Node와 Link 탭 옆에는 개수가, Validation 탭 옆에는 오류 개수(⚠)가 표시됩니다. |
| 상태줄 | 창 아래쪽에 노드 수와 링크 수가 표시됩니다. 오류가 있으면 '검증 오류 n건'이 빨간 글자로 표시됩니다. |
| 버튼 | [취소]: 편집창에 적용하지 않고 닫습니다. [편집창에 적용]: 편집기의 내용을 편집창에 반영합니다. 오른쪽 위의 ✕ 버튼이나 Esc 키로도 창을 닫을 수 있습니다. 바꾼 내용이 있으면 적용하지 않고 닫을지 먼저 묻습니다.
|
Ontology 탭[편집]
#Project, #Class, #Relation을 입력합니다.
프로젝트 이름(#Proejct)[편집]
- 입력 칸에 프로젝트 이름을 입력합니다.
클래스(#Class)와 관계(#Relation)[편집]
- 클래스와 관계는 각각 표로 표시됩니다.
- 표 아래 입력 칸에 이름을 쓰고 [+ Add]를 누르거나
Enter키를 누르면 표에 추가됩니다. - 이미 표에 있는 이름은 다시 추가되지 않습니다.
- 이름에 들어간 공백은 자동으로 지워집니다.
is part of → ispartof
- 이름은 추가한 뒤에 바꿀 수 없습니다. 이름을 바꾸려면 ✕로 지우고 다시 추가합니다.
클래스의 색상과 모양[편집]
- 클래스 표의 색상과 모양 칸에서 노드의 색상과 모양을 지정합니다. 지정하지 않으면 기본 표시 방식을 따릅니다.
| 칸 | 입력 방법 |
|---|---|
| 색상 |
|
| 모양 |
|
- 스크립트에는 다음과 같이 기록됩니다.
Temple, green, circle ← 색상과 모양을 모두 지정 Concept, #F4A460 ← 색상만 지정 Object, Null, star ← 모양만 지정 (색상 자리에 Null) Place ← 지정하지 않음. 기본값
사용 중인 클래스·관계를 지울 때[편집]
- 노드가 쓰고 있는 클래스나 링크가 쓰고 있는 관계를 지우면, 몇 개의 노드(링크)가 쓰고 있는지 알려 주고 지울지 확인합니다.
- 지운 뒤에도 노드의
class와 링크의relation값은 그대로 남고, Validation 탭에 "목록에 없습니다" 경고가 표시됩니다. Node 탭과 Link 탭에서 새로 추가한 클래스·관계로 다시 고릅니다.
Node 탭[편집]
#Nodes를 표로 입력합니다. 표의 열은 id, class, label, infoUrl, iconUrl, remark이며, * 표시는 필수 필드입니다.
노드 입력[편집]
- [+ Add Node]를 누르면 표 맨 아래에 빈 행이 추가되고 id 칸에 커서가 놓입니다.
class는 Ontology 탭에서 정의한 클래스 목록에서 고르거나 직접 입력합니다.- 선택 필드는 비워 두면 됩니다. 스크립트에 기록할 때
Null로 채워집니다. - 각 행 오른쪽의 버튼으로 행을 다룹니다.
| 버튼 | 기능 |
|---|---|
| ↑ ↓ | 행을 위아래로 옮깁니다. |
| ⧉ | 행을 복제합니다. 복제된 행의 id 뒤에는 -복사가 붙습니다.
|
| ✕ | 행을 지웁니다. |
칸 색 표시[편집]
- 칸의 색은 Validation 탭의 구분과 같습니다.
- 빨간색(오류): 반드시 고쳐야 하는 문제입니다. 고치지 않으면 네트워크 그래프가 바르게 그려지지 않습니다.
- 초록색(중복): 오류의 한 종류로, 겹치는 칸을 한눈에 찾을 수 있도록 따로 표시합니다.
- 노란색(확인 필요): 스크립트는 만들어지지만 의도와 다를 수 있으니 확인합니다. Validation 탭에는 '경고'로 표시됩니다.
- 값을 입력하는 즉시 칸에 색이 표시되고, 표 위의 범례에도 같은 내용이 정리되어 있습니다.
| 표시 | 해당하는 경우 | 고치는 방법 |
|---|---|---|
| 빨간색 (오류) |
id·class·label 가운데 비어 있는 칸이 있음 |
값을 입력합니다. |
id에 공백·쉼표·큰따옴표가 있음 |
공백 대신 언더바(_)를 씁니다. 예: 순천 송광사 → 순천_송광사
| |
| 초록색 (중복) |
다른 노드와 id가 같음. 겹치는 칸이 모두 초록색이 됩니다. |
한쪽의 id를 바꾸거나, 같은 대상이면 한 행을 지웁니다. |
| 노란색 (확인 필요) |
class가 #Class 목록에 없음 |
클래스 이름의 오타를 고치거나, Ontology 탭에서 클래스를 추가합니다. |
infoUrl·iconUrl이 http://나 https://로 시작하지 않음 |
전체 주소를 입력합니다. |
infoUrl과 iconUrl 확인[편집]
- 칸에 마우스를 올리면 전체 주소가 툴팁으로 보입니다.
iconUrl칸 왼쪽에는 아이콘 미리보기가 나타납니다. 이미지를 불러오지 못하면 ⚠가 표시되므로 주소를 다시 확인합니다.infoUrl칸 오른쪽의 ↗를 누르면 새 탭에서 그 주소를 열어 확인할 수 있습니다.
id를 바꿀 때[편집]
- 노드의 id를 바꾸면 그 노드를 가리키는 링크(source, target)와 번역도 함께 바뀝니다. 바뀐 링크 수는 알림으로 잠깐 표시됩니다.
- 새 id가 규칙에 맞지 않거나(빨간색) 다른 노드와 중복되면(초록색), 링크와 번역은 바뀌지 않습니다. 서로 다른 노드의 링크가 섞이지 않게 하기 위해서입니다. id를 바르게 고치면 그때 링크와 번역이 새 id로 옮겨집니다.
중복된 id를 고칠 때 주의할 점[편집]
- 링크와 번역은 노드를 id로만 가리킵니다. 그래서 같은 id를 가진 노드가 둘 이상 있으면, 어떤 링크와 번역이 어느 노드의 것인지 LST Editor가 구별할 수 없습니다.
- 중복된 노드 가운데 하나의 id를 바꾸면, 그 id를 쓰던 링크와 번역이 모두 새 id로 바뀝니다. 다른 노드에 속해야 할 링크와 번역도 함께 바뀝니다.
- 중복된 id를 고친 뒤에는 Link 탭과 Translation 탭을 확인하고, 원래 다른 노드의 것이었던 링크와 번역을 되돌려 놓아야 합니다.
- Link 탭: 해당 링크의
source·target을 원래 노드의 id로 다시 입력합니다. - Translation 탭: 번역도 새 id 쪽으로 옮겨지므로, 원래 노드의 번역을 다시 입력합니다.
- Link 탭: 해당 링크의
- 엑셀 가져오기(Import)로 데이터를 넣을 때 중복 id가 생기기 쉽습니다. 가능하면 엑셀 표에서 id를 먼저 정리한 뒤 가져오는 것이 안전합니다.
Link 탭[편집]
#Links를 표로 입력합니다. 표의 열은 source, target, relation, attribute, remark입니다.
링크 입력[편집]
- [+ Add Link]를 누르면 빈 행이 추가되고 source 칸에 커서가 놓입니다.
source와target은 칸을 누르면 나오는 노드 id 목록에서 고르거나 직접 입력합니다.- 목록에는 id 규칙에 맞고 중복되지 않은 노드만 나옵니다. Node 탭에서 빨간색이나 초록색으로 표시된 노드는 먼저 고쳐야 목록에 나타납니다.
relation은 Ontology 탭에서 정의한 관계 목록에서 고르거나 직접 입력합니다.attribute나remark를 입력할 때, 값에 쉼표가 들어 있어도 큰따옴표를 입력하지 않습니다. 스크립트에 기록할 때 자동으로 감쌉니다.
remark 칸에 입력: 송광사, 해인사, 통도사를 함께 이르는 말 스크립트에 기록: 삼보사찰, 승보사찰, includes, Null, "송광사, 해인사, 통도사를 함께 이르는 말"
- 행을 옮기고, 복제하고, 지우는 버튼은 Node 탭과 같습니다.
칸 색 표시[편집]
- 칸 색의 원칙은 Node 탭과 같습니다. Link 탭에는 초록색(중복) 표시가 없습니다.
| 표시 | 해당하는 경우 | 고치는 방법 |
|---|---|---|
| 빨간색 (오류) |
source·target·relation 가운데 비어 있는 칸이 있음 |
값을 입력합니다. |
source·target이 노드 목록에 없거나, Node 탭에서 오류·중복으로 표시된 노드를 가리킴 |
id의 오타를 고치거나, Node 탭에서 해당 노드를 먼저 고칩니다. | |
| 노란색 (확인 필요) |
relation이 #Relation 목록에 없음 |
관계 이름의 오타를 고치거나, Ontology 탭에서 관계를 추가합니다. |
Translation 탭[편집]
#Translation을 노드 × 언어 표로 입력합니다.
- 표의 각 행은 노드 하나, 각 열은 언어 하나입니다. 기본 언어는 English 입니다.
- 번역어를 칸에 입력하면 됩니다.
id와relation(has{언어}Translation)은 자동으로 기록됩니다.
English 열의 순천_송광사 행에 입력: Songgwangsa ↓ 스크립트에 기록: 순천_송광사, Songgwangsa, hasEnglishTranslation
- 비어 있는 칸은 노란색으로 표시되고, 스크립트에 기록되지 않습니다.
- 언어를 추가하려면 입력 칸에 영문으로 언어 이름을 쓰고 [+ Add]를 누릅니다. 예:
German→hasGermanTranslation - 언어 이름 옆의 ✕를 누르면 그 언어와 그 언어로 입력한 번역이 모두 지워집니다.
Validation 탭[편집]
- 검증: 스크립트에서 문제가 있는 곳을 보여 줍니다. 빨간 글자는 오류, 주황 글자는 경고입니다.
- .lst 텍스트: [편집창에 적용]을 누르면 편집창에 들어갈 스크립트 원문을 미리 보여 줍니다.
| 구분 | 메시지 | 의미 |
|---|---|---|
| 오류 | id·class·label이 비어 있습니다 | 노드의 필수 필드가 비어 있습니다. |
| id에 공백이 있습니다 / id가 중복됩니다 | id 규칙에 맞지 않습니다. | |
| source·target·relation이 비어 있습니다 | 링크의 필수 필드가 비어 있습니다. | |
| "○○"가 노드 목록에 없습니다 | 링크가 존재하지 않는 노드를 가리킵니다. | |
| "○○"는 id가 중복된 노드입니다 | 링크가 가리키는 id가 둘 이상의 노드에 쓰였습니다. | |
| 경고 | 프로젝트 이름이 비어 있습니다 | Ontology 탭에서 프로젝트 이름을 입력합니다. |
| class(relation) "○○"가 목록에 없습니다 | Ontology 탭의 클래스·관계 목록에 없는 값을 사용했습니다. | |
| infoUrl(iconUrl)이 http:// 또는 https://로 시작하지 않습니다 | URL이 전체 주소로 입력되지 않았습니다. | |
| 어느 링크에도 연결되지 않았습니다 | 네트워크 그래프에서 혼자 떨어져 있는 노드입니다. | |
| 번역 대상 "○○"가 노드 목록에 없습니다 | 지워졌거나 id가 바뀐 노드의 번역이 남아 있습니다. |
엑셀 데이터 가져오기 (Import)[편집]
노드와 링크가 많을 때는 엑셀에서 표를 만든 뒤 한꺼번에 가져올 수 있습니다. Node 탭과 Link 탭에 각각 [⇩ Import] 버튼이 있습니다.
엑셀 표 준비[편집]
- 첫 줄에는 반드시 머리글(필드 이름)을 씁니다.
- 머리글 이름으로 필드를 찾으므로 열 순서는 상관없습니다. 대소문자도 구분하지 않습니다.
- 필수 필드 열은 반드시 있어야 하며, 선택 필드 열은 없어도 됩니다.
| 탭 | 필수 머리글 | 선택 머리글 |
|---|---|---|
| Node | id class label |
infoUrl iconUrl remark
|
| Link | source target relation |
attribute remark
|
- (예시) Node 엑셀 표
| id | label | class | remark |
|---|---|---|---|
| 순천_송광사 | 송광사 | Temple | |
| 승보사찰 | 승보사찰(僧寶寺刹) | Concept | 삼보사찰 가운데 승(僧)을 상징하는 사찰 |
가져오는 순서[편집]
- 엑셀에서 머리글 줄을 포함해 범위를 선택하고 복사합니다(
Ctrl+C). - Node 탭(또는 Link 탭)에서 [⇩ Import]를 누릅니다. 표 위에 붙여넣기 영역이 펼쳐집니다.
- 붙여넣기 칸에 붙여넣습니다(
Ctrl+V). 칸 아래에 미리보기가 표시됩니다.- 가져올 행 수
- 인식한 열과 무시한 열
#Class나#Relation에 새로 추가될 값
- 가져오는 방식을 고릅니다.
- 기존 데이터 뒤에 추가: 지금 표에 있는 데이터 뒤에 이어 붙입니다.
- 전부 교체: 지금 표의 데이터를 모두 지우고 가져온 데이터로 바꿉니다.
- [가져오기]를 누릅니다.
가져올 때 자동으로 처리되는 것[편집]
- 필수 머리글이 없으면 가져오지 않고 빠진 열을 알려 줍니다.
- 필드 정의에 없는 열(예:
비고)은 무시합니다. - 빈 줄은 건너뜁니다.
- 셀 안에서 줄을 바꾼 값(
Alt+Enter)은 줄바꿈을 공백으로 바꿔 한 줄로 합칩니다. - 셀에
Null이라고 쓴 값은 빈 칸으로 처리합니다. #Class나#Relation에 없는 값은 Ontology 목록에 자동으로 추가됩니다.- 이미 있는 id와 겹치는 노드도 그대로 추가되고 초록색으로 표시됩니다. 표를 보면서 데이터를 정리해야 합니다.
편집창에 적용하고 저장하기[편집]
- 편집기 아래의 [편집창에 적용]을 누릅니다.
- 오류가 있으면 그래도 적용할지 묻습니다. 오류가 있는 상태로 적용하면 네트워크 그래프가 바르게 그려지지 않을 수 있습니다.
- 편집창의
#Project ~ #End부분만 새 내용으로 바뀝니다. 그 밖의 본문은 그대로 남습니다. - 편집 요약이 비어 있으면 'Semantic Curation Tools로 수정'이 자동으로 들어갑니다.
- [변경사항 저장]을 누릅니다.
- [편집창에 적용]은 편집창의 내용만 바꿉니다. [변경사항 저장]을 눌러야 위키 문서에 반영되고, 네트워크 그래프에도 반영됩니다.
스크립트에 자동으로 적용되는 표기[편집]
LST Editor는 스크립트를 기록할 때 기본 표기 규칙을 자동으로 적용합니다.
| 규칙 | 편집기에서 입력 | 스크립트에 기록 |
|---|---|---|
| 비어 있는 선택 필드 | (빈 칸) | Null
|
| 쉼표가 들어간 값 | 교재 개발, 강의 |
"교재 개발, 강의"
|
| 링크의 필드 수 | source, target, relation만 입력 | source, target, relation, Null, Null
|
- 원문을 직접 작성한 스크립트를 LST Editor로 처음 적용하면, 차이 보기에 바뀐 줄이 많이 나타날 수 있습니다. 위 규칙에 맞게 표기가 정리된 것이며 내용이 바뀐 것은 아닙니다.
자주 묻는 질문[편집]
- 편집 화면에 시맨틱 큐레이션 탭이 보이지 않습니다.
- 문서 제목이
.lst로 끝나는지 확인합니다. 제목이 맞는데도 보이지 않으면Ctrl+Shift+R(Mac은Cmd+Shift+R)로 새로고침합니다. - 편집 도구 모음을 꺼 둔 경우에는 탭 대신 편집창 바로 위에 버튼이 나타납니다. 기능은 같습니다.
- 문단 편집에서 LST Editor를 누르니 안내 창이 뜹니다.
- 스크립트는 문서 전체 편집 화면에서만 다룰 수 있습니다. 문서 위쪽의 [편집]을 눌러 전체 편집으로 들어갑니다.
- 적용했는데 문서가 바뀌지 않았습니다.
- [편집창에 적용] 뒤에 [변경사항 저장]을 눌러야 합니다.
- Link 탭의 목록에 노드가 나오지 않습니다.
- Node 탭에서 그 노드의 id가 빨간색이나 초록색으로 표시되어 있는지 확인합니다. id를 바르게 고치면 목록에 나타납니다.
- Node 탭의 class 목록에 원하는 클래스가 없습니다.
- Ontology 탭에서 클래스를 먼저 추가합니다.