온톨로지 설계 스크립트 사용법
온톨로지 설계 스크립트는 네트워크 그래프로 표현할 대상의 유형과 관계를 정의하고, 각각의 개체와 그 사이의 관계를 구조적으로 기술하기 위한 스크립트입니다. 위키에서는 이를 LST 형식의 문서로 작성하여 네트워크 그래프로 시각화할 수 있습니다.
온톨로지 설계 스크립트의 작성과 네트워크 그래프 표시는 다음과 같은 순서로 이루어집니다.
- 시맨틱 데이터 준비: 네트워크 그래프로 표현하고자 하는 대상 세계의 지식정보를 시맨틱 데이터로 편찬하여 준비합니다.
- LST 문서 생성: 제목이
.lst로 끝나는 위키 문서를 생성합니다. - 스크립트 기술: 준비한 시맨틱 데이터를 아래의 작성 방법에 따라
<pre> ... </pre>영역에 기술합니다. - 네트워크 그래프 표시: 원하는 문서에서
NetworkGraph틀을 불러와 작성한 데이터를 네트워크 그래프로 표시합니다.
온톨로지 설계 스크립트의 기본 구조[편집]
- 온톨로지 설계 스크립트는
#Project,#Class,#Relation,#Nodes,#Links의 필수 영역과 다국어 표기를 위한#Translation선택 영역으로 구성됩니다. - 스크립트의 마지막에는
#End를 입력하여 스크립트의 끝을 표시합니다. - 각 섹션은 네트워크 그래프를 구성하는 서로 다른 종류의 정보를 기술합니다.
- 가장 기본적인 형태의 온톨로지 설계 스크립트는 다음과 같습니다
🕸️ 그래프 예시 보기 가장 단순한 형태의 스크립트 ☞ 그래프예시-001.lst
<pre>
#Project
"삼보사찰 네트워크"
#Class
Concept
Temple
#Relation
includes
knownAs
#Nodes
삼보사찰, Concept, 삼보사찰(三寶寺刹), Null, Null, Null
승보사찰, Concept, 승보사찰(僧寶寺刹), Null, Null, Null
법보사찰, Concept, 법보사찰(法寶寺刹), Null, Null, Null
불보사찰, Concept, 불보사찰(佛寶寺刹), Null, Null, Null
순천_송광사, Temple, 송광사, Null, Null, Null
#Links
삼보사찰, 승보사찰, includes
삼보사찰, 법보사찰, includes
삼보사찰, 불보사찰, includes
순천_송광사, 승보사찰, knownAs
#End
</pre>
== Visualize ==
{{ NetworkGraph | title={{PAGENAME}} }}
| 섹션 | 구분 | 내용 |
|---|---|---|
<pre> ... </pre> |
필수 | 온톨로지 설계 스크립트의 시작과 끝을 감싸는 태그입니다. #Project부터 #End까지의 스크립트를 이 태그 안에 입력합니다.
|
#Project |
필수 | 네트워크 그래프의 제목이나 주제를 입력합니다. |
#Class |
필수 | 네트워크에 포함되는 대상의 범주(Class)를 정의합니다. |
#Relation |
필수 | 대상과 대상 사이에 사용할 관계(Relation)를 정의합니다. |
#Nodes |
필수 | 네트워크에 포함되는 각각의 개체(Node)를 입력합니다. |
#Links |
필수 | 노드와 노드 사이의 관계(Link)를 입력합니다. |
#Translation |
선택 | 노드의 다른 언어 번역 또는 표기 정보를 입력합니다. 번역 정보는 네트워크 그래프에 별도로 표시되지 않습니다. |
#End |
필수 | 온톨로지 설계 스크립트의 끝을 표시합니다. |
Visualize |
선택 | 작성한 온톨로지 설계 스크립트를 위키 문서에서 네트워크 그래프로 표시합니다. |
기본 표기 규칙[편집]
필드 구분자: 쉼표(,)[편집]
- 쉼표(
,): 하나의 행을 구성하는 각각의 필드를 구분하는 구분자 - 각 섹션에서 정해진 필드의 순서에 따라 값을 입력하고, 각각의 값 사이를 쉼표로 구분합니다.
#Nodes 순천_송광사, Temple, 송광사 ☞ #Nodes에서 쉼표(,)로 id, class, label의 필드를 구분합니다.
#Links 삼보사찰, 승보사찰, includes ☞ #Links에서 쉼표(,)로 source, target, relation의 필드를 구분합니다.
#Translation 순천_송광사, Songgwangsa, hasEnglishTranslation ☞ #Translation에서 쉼표(,)로 id, translation, relation 필드를 구분합니다.
쉼표가 포함된 값의 표시: 큰따옴표("")[편집]
- 큰따옴표(
" "): 하나의 필드 값 안에 쉼표(,)가 포함된 경우 해당 값 전체를 하나의 필드로 인식시키기 위해 사용하는 기호입니다. - 쉼표는 기본적으로 필드를 구분하는 구분자로 사용되므로, 데이터 값 자체에 쉼표가 포함되어 있을 때에는 해당 값 전체를 큰따옴표로 감쌉니다.
삼보사찰, Concept, 삼보사찰, Null, Null, "송광사, 해인사, 통도사를 함께 이르는 말" (O)
삼보사찰, Concept, 삼보사찰, Null, Null, 송광사, 해인사, 통도사를 함께 이르는 말 (X)
☞ remark의 쉼표가 필드 구분자로 인식되지 않도록 remark 전체를 큰따옴표(" ")로 감쌉니다.
미사용 필드의 표시: Null[편집]
Null: 선택 필드 가운데 사용하지 않는 필드의 위치를 유지하기 위해 입력하는 값- 뒤쪽의 선택 필드를 사용하기 위해 앞쪽의 선택 필드를 비워 두어야 하는 경우 해당 위치에
Null을 입력합니다.
#Nodes 순천_송광사, Temple, 송광사, Null, https://example.org/songgwangsa.jpg, Null ☞ #Nodes에서 infoUrl과 remark는 사용하지 않고 iconUrl만 입력한 경우입니다.
#Links 순천_송광사, 승보사찰, knownAs, Null, "송광사는 삼보사찰 가운데 승보사찰로 알려져 있다." ☞ #Links에서 attribute는 사용하지 않고 remark만 입력한 경우입니다.
섹션별 작성 방법[편집]
#Project[편집]
#Project에는 네트워크 그래프의 제목이나 주제를 입력합니다.- 하나의 스크립트가 어떠한 대상이나 주제를 다루는지 식별할 수 있는 이름을 사용합니다.
- 프로젝트 이름은 전체를 큰따옴표(
" ")로 감쌉니다.
#Project "삼보사찰 네트워크"
#Class[편집]
#Class에는 네트워크 그래프로 표현하고자 하는 대상 세계의 범주(Class)를 정의합니다.#Nodes에서 사용하는 클래스는#Class에 먼저 정의되어 있어야 합니다.
#Class Temple Concept Object
#Relation[편집]
#Relation에는 노드와 노드 사이에 사용할 관계(Relation)를 정의합니다.#Links에서 사용하는 관계는#Relation에 먼저 정의되어 있어야 합니다.
#Relation knownAs includes visited
#Nodes[편집]
#Nodes에는 네트워크에서 하나의 개체로 식별하고자 하는 대상을 정의합니다.- 하나의 노드는 최대 6개의 필드로 구성할 수 있습니다.
- 필수 필드:
id,class,label - 선택 필드:
infoUrl,iconUrl,remark
- 필수 필드:
- 각 필드는 정해진 순서에 따라 입력합니다.
| 순서 | 필드 | 구분 | 내용 |
|---|---|---|---|
| 1 | id | 필수 |
|
| 2 | class | 필수 |
|
| 3 | label | 필수 |
|
| 4 | infoUrl | 선택 |
|
| 5 | iconUrl | 선택 |
|
| 6 | remark | 선택 |
|
- (예시1) 기본적인 노드 입력
순천_송광사, Temple, 송광사
- (예시2)
infoUrl을 추가한 경우
순천_송광사, Temple, 송광사, https://example.org/songgwangsa
- (예시3)
infoUrl을 사용하지 않고,iconUrl을 추가한 경우
순천_송광사, Temple, 송광사, Null, https://example.org/songgwangsa.jpg
- (예시4)
infoUrl과iconUrl을 사용하지 않고,remark를 추가한 경우
삼보사찰, Concept, 삼보사찰, Null, Null, "삼보사찰은 불교의 신행과 귀의의 대상인 불(佛), 법(法), 승(僧)을 각각 상징하는 통도사, 해인사, 송광사를 함께 이르는 말이다."
#Links[편집]
#Links에는 노드와 노드 사이의 관계를 입력합니다.- 하나의 링크는 최대 5개의 필드로 구성할 수 있습니다.
- 필수 필드:
source,target,relation - 선택 필드:
attribute,remark
- 필수 필드:
- 각 필드는 정해진 순서에 따라 입력합니다.
| 순서 | 필드 | 구분 | 내용 |
|---|---|---|---|
| 1 | source | 필수 |
|
| 2 | target | 필수 |
|
| 3 | relation | 필수 |
|
| 4 | attribute | 선택 |
|
| 5 | remark | 선택 |
|
- (예시1) 기본적인 링크 입력
순천_송광사, 승보사찰, knownAs
- (예시2)
attribute를 입력한 경우
서소리, 순천_송광사, visited, 2025년 8월 ☞ 2025년 8월은 노드(서소리)와 노드(순천_송광사) 사이의 관계(visited)에 부가된 속성 정보입니다.
- (예시3)
remark만 입력한 경우
승보사찰, 순천_송광사, knownAs, Null, "송광사는 삼보사찰 가운데 승보사찰로 알려져 있다."
🕸️ 그래프 예시 보기 여러 유형의 노드·링크를 포함하는 스크립트 ☞ 그래프예시-002.lst
<pre>
#Project
"삼보사찰과 나의 방문 기록"
#Class
Place
Concept
Person
#Relation
includes
knownAs
visited
#Nodes
삼보사찰, Concept, 삼보사찰(三寶寺刹), https://buddhaland.dongguk.edu/bulVoca/view?dataId=KBDI0001418, https://kstoryhub.visualasia.com/classics/wiki/images/2/22/Sambosachal.png, 삼보사찰은 불교의 삼보인 불(佛)·법(法)·승(僧)을 각각 상징하는 통도사·해인사·송광사를 함께 이르는 말이다.
승보사찰, Concept, 승보사찰(僧寶寺刹), Null, https://kstoryhub.visualasia.com/classics/wiki/images/2/27/Seungbosachal.png, "승보사찰은 불교의 삼보 가운데 승(僧)을 상징하는 사찰로, 많은 고승을 배출한 송광사를 이르는 말이다."
법보사찰, Concept, 법보사찰(法寶寺刹), Null, https://kstoryhub.visualasia.com/classics/wiki/images/2/20/Beopbosachal.png, "법보사찰은 불교의 삼보 가운데 법(法)을 상징하는 사찰로, 팔만대장경을 봉안한 해인사를 이르는 말이다."
불보사찰, Concept, 불보사찰(佛寶寺刹), Null, https://kstoryhub.visualasia.com/classics/wiki/images/3/3d/Bulbosachal.png, "불보사찰은 불교의 삼보 가운데 불(佛)을 상징하는 사찰로, 석가모니의 진신사리를 봉안한 통도사를 이르는 말이다."
순천_송광사, Place, 송광사, Null, Null, Null
양산_통도사, Place, 통도사, Null, Null, Null
합천_해인사, Place, 해인사, Null, Null, Null
김정만, Person, 김정만, Null, https://kstoryhub.visualasia.com/classics/wiki/images/4/4e/S2602105_프로필.jpg, Null
#Links
삼보사찰, 승보사찰, includes, Null, Null
삼보사찰, 법보사찰, includes, Null, Null
삼보사찰, 불보사찰, includes, Null, Null
순천_송광사, 승보사찰, knownAs, Null, Null
합천_해인사, 법보사찰, knownAs, Null, Null
양산_통도사, 불보사찰, knownAs, Null, Null
김정만, 순천_송광사, visited, 2025년 8월, Null
김정만, 합천_해인사, visited, 2016년 4월, Null
김정만, 양산_통도사, visited, 2026년 8월, Null
#Translation
#End
</pre>
== Visualize ==
{{ NetworkGraph | title={{PAGENAME}} }}
#Translation[편집]
#Translation에는#Nodes에 정의한 노드의 다른 언어 번역 또는 표기 정보를 입력합니다.#Translation에 입력한 번역 정보는 네트워크 그래프에 별도로 표시되지 않습니다. 네트워크 그래프의 시각적 표현을 위한 정보가 아니라, 시맨틱 데이터를 AI와 함께 활용할 때 각 노드의 정확한 다국어 명칭을 제공하기 위한 정보입니다.- 예를 들어 시맨틱 데이터를 바탕으로 AI를 활용하여 스토리텔링 콘텐츠를 생성하거나 다국어 콘텐츠를 작성할 때,
#Translation에 입력된 정보를 활용하여 노드의 명칭을 정확하게 번역·표기할 수 있습니다. #Translation은 선택 영역이므로 다국어 정보가 필요하지 않은 경우에는 작성하지 않아도 됩니다.- 하나의 번역 정보는 3개의 필드로 구성하며, 세 필드는 모두 필수입니다.
- 필수 필드:
id,translation,relation
- 필수 필드:
- 하나의 노드에 여러 언어의 번역 정보를 각각 연결할 수 있습니다.
- 각 필드는 정해진 순서에 따라 입력합니다.
| 순서 | 필드 | 구분 | 내용 |
|---|---|---|---|
| 1 | id | 필수 |
|
| 2 | translation | 필수 |
|
| 3 | relation | 필수 |
|
- (예시1) 영어 번역 정보
#Translation 순천_송광사, "Songgwangsa, Suncheon", hasEnglishTranslation
- (예시2) 하나의 노드에 여러 언어의 번역 정보를 입력한 경우
#Translation 순천_송광사, Songgwangsa, hasEnglishTranslation 순천_송광사, 松廣寺, hasChineseTranslation 순천_송광사, 松広寺, hasJapaneseTranslation
#End[편집]
#End는 온톨로지 설계 스크립트의 끝을 나타내는 표시자입니다.- 모든 클래스, 관계, 노드, 링크의 기술이 끝난 뒤 마지막에 입력합니다.
#End
네트워크 그래프의 스타일 지정[편집]
- 온톨로지 설계 스크립트에 표시 정보를 추가하여 네트워크 그래프의 시각적 표현 방식을 지정할 수 있습니다.
노드의 색상과 모양 지정[편집]
#Class섹션에서 클래스 이름 뒤에 색상과 모양 정보를 추가하여 해당 클래스에 속하는 노드의 기본 표시 방식을 지정할 수 있습니다.- 클래스 이름은 기본적으로 입력하는 필수 필드이며, 색상과 모양은 필요에 따라 추가하는 선택 필드입니다.
- 색상과 모양을 지정하면 같은 클래스에 속하는 노드는 네트워크 그래프에서 동일한 색상과 모양을 기본적으로 적용받습니다.
- 단, 개별 노드의
iconUrl에 아이콘 이미지가 지정되어 있는 경우에는 해당 노드에 아이콘 이미지가 표시됩니다. - 각 필드는 다음과 같은 순서로 입력합니다.
| 순서 | 필드 | 구분 | 내용 |
|---|---|---|---|
| 1 | class | 필수 |
|
| 2 | color | 선택 |
|
| 3 | shape | 선택 |
|
- (예시1) 색상과 모양을 모두 지정한 경우
#Class Temple, green, circle Concept, orange, box Object, gray, ellipse ☞ Temple 클래스의 노드는 초록색 원으로 표시됩니다. ☞ Concept 클래스의 노드는 주황색 사각형으로 표시됩니다. ☞ Object 클래스의 노드는 회색 타원으로 표시됩니다.
- (예시2) 색상 코드를 사용한 경우
#Class Temple, #2E8B57, circle Concept, #F4A460, box Object, #808080, ellipse
네트워크 그래프 표시[편집]
- 작성한 온톨로지 설계 스크립트를 위키에서 네트워크 그래프로 확인하려면
NetworkGraph틀을 사용합니다. NetworkGraph틀의title에 네트워크 그래프로 표시할.lst문서의 제목을 지정합니다.- 온톨로지 설계 스크립트의 내용을 수정하고 문서를 저장하면 변경된 데이터가 네트워크 그래프에 반영됩니다.
온톨로지 설계 스크립트 문서(.lst)에서 네트워크 그래프 불러오기[편집]
- 온톨로지 설계 스크립트를 작성한
.lst문서 자체에서 네트워크 그래프를 함께 표시하려면 다음과 같이Visualize문단을 두고NetworkGraph틀을 사용합니다.
== Visualize ==
{{ NetworkGraph | title={{PAGENAME}} }}
{{PAGENAME}}은 현재 위키 문서의 제목을 가져오는 Magic Words입니다. 따라서 위와 같이 작성하면 현재.lst문서의 제목이NetworkGraph틀의title에 자동으로 입력되어, 해당 문서에 작성된 온톨로지 설계 스크립트를 네트워크 그래프로 표시할 수 있습니다.Visualize문단은 온톨로지 설계 스크립트의 필수 구성 요소가 아닙니다.<pre> ... </pre>영역에 온톨로지 설계 스크립트가 작성되어 있다면,Visualize문단이 없어도 다른 위키 문서에서 해당.lst문서를 불러와 네트워크 그래프로 표시할 수 있습니다.- 다만 해당
.lst문서에 작성된 데이터가 어떤 네트워크 그래프로 표현되는지 누구나 쉽게 확인할 수 있도록, 온톨로지 설계 스크립트 문서에는 위와 같이Visualize문단을 함께 작성하는 것을 기본으로 합니다.
다른 문서에서 네트워크 그래프 불러오기[편집]
- 온톨로지 설계 스크립트가 작성된
.lst문서와 별개의 위키 문서에서도 해당 네트워크 그래프를 불러와 표시할 수 있습니다. - 이 경우
NetworkGraph틀의title에 불러올.lst문서의 제목을 직접 입력합니다. - 동일한
.lst문서를 여러 위키 문서에서 불러와 각각 네트워크 그래프로 표시할 수 있습니다. - 기본 형식:
{{ NetworkGraph | title=lst문서이름 }}
- 예를 들어 온톨로지 설계 스크립트가 작성된 문서의 제목이
송광사.lst라면 다음과 같이 입력합니다.
{{ NetworkGraph | title=송광사.lst }}