"Integrated Curation Data Model"의 두 판 사이의 차이

Digerati
이동: 둘러보기, 검색
(Storyline Data 처리)
 
(같은 사용자의 중간 판 14개는 보이지 않습니다)
1번째 줄: 1번째 줄:
==Database Schema==
+
==Concept of Integrated Curation==
 +
[[파일: IntegratedCuration.jpg|600px|center]]
  
===Factual Data===
+
==Integrated Curation Data Model==
  
====Node Tabel Schema: xxxData ====
+
===사실과 문맥 (Factual Data)===
<pre>
 
create table concertData (
 
id nvarchar(40) not null,
 
class nvarchar(16) null,
 
groupName nvarchar(16) null,
 
partName nvarchar(40) null,
 
label nvarchar(80) null,
 
infoUrl nvarchar(256) null,
 
iconUrl nvarchar(256) null,
 
primary key(id)
 
)
 
</pre>
 
  
====Edge Table Schema: xxxLinks ====
+
[[파일: FactualData.jpg|100px]] [[Integrated Curation Data Model: Factual Data]]
<pre>
 
create table concertLinks (
 
source  nvarchar(40)  not null,
 
target  nvarchar(40) not null,
 
relation nvarchar(40) not null,
 
attribute nvarchar(40) null,
 
primary key (source, target, relation )
 
)
 
</pre>
 
  
===Category Data===
+
===정보의 분류 (Category Data)===
  
※ 분류 색인 서비스를 위한 Category Data는 Factual Data Node의 속성 정보에서 기계적으로 추출합니다. 
+
[[파일: CategoryData.jpg|100px]] [[Integrated Curation Data Model: Category Data]]
  
====Node Table Schema: xxxSchema====
+
===나의 이야기 (Storyline Data)===
<pre>
 
create table xxxSchema (
 
id nvarchar(40) not null,
 
class nvarchar(16) null,
 
groupName nvarchar(16) null,
 
partName nvarchar(40) null,
 
label nvarchar(80) null,
 
infoUrl nvarchar(256) null,
 
iconUrl nvarchar(256) null,
 
primary key(id)
 
)
 
  
/* Virtual View: xxxNodes */
+
[[파일: Storyline.jpg|100px]] [[Integrated Curation Data Model: Storyline Data]]
  
create view xxxNodes as
+
==시맨틱 데이터 서비스 도구 (Semantic Data Service Tools)==
select * from concertData
 
union
 
select * from concertSchema
 
</pre>
 
  
====Edge Table Schema: xxxCategory====
+
[[파일: ontology.png|100px]] [[Integrated Curation Data Model: Semantic Data Service Tools]]
<pre>
 
create table xxxCategory (
 
source  nvarchar(40)  not null,
 
target  nvarchar(40) not null,
 
relation nvarchar(40) not null,
 
attribute nvarchar(40) null,
 
primary key (source, target, relation )
 
)
 
</pre>
 
 
 
====Object Properties====
 
<pre>
 
* hasCategory
 
* hasMember
 
</pre>
 
 
 
===Storyline Data===
 
 
 
※ Storyline Data는 Factcual Data와 다른 이름을 갖는 독립적 Data Set입니다. Storyline Data의 Edge Table은 Node Table로부터 자동 변환합니다.
 
 
 
====Node Table Schema====
 
<pre>
 
create table yyyData (
 
id nvarchar(40) not null,
 
class nvarchar(16) null,
 
upperNode nvarchar(40) null,
 
nextNode nvarchar(40) null,
 
label nvarchar(80) null,
 
infoUrl nvarchar(256) null,
 
iconUrl nvarchar(256) null,
 
primary key(id)
 
)
 
</pre>
 
 
 
====Edge Table Schema====
 
<pre>
 
create table yyyLinks (
 
source  nvarchar(40)  not null,
 
target  nvarchar(40) not null,
 
relation nvarchar(40) not null,
 
attribute nvarchar(40) null,
 
primary key (source, target, relation )
 
)
 
</pre>
 
 
 
====Object Properties====
 
<pre>
 
* hasTopic
 
* hasEpisode
 
* hasFactualComponent
 
* isPreviousInSequence
 
* isNextInSequence
 
</pre>
 
 
 
==SQL Script==
 
 
 
 
 
===Factual Data 처리===
 
<pre>
 
/* insert node data */
 
 
 
insert into xxxData (id, class, groupName, partName, label, infoUrl, iconUrl )
 
select id, class, groupName, partName, label, infoUrl, iconUrl 
 
from xxxData$
 
 
 
/* insert link data */
 
 
 
insert into xxxLinks (source, target, relation)
 
select source, target, relation from xxxLinks$
 
 
 
</pre>
 
 
 
===Category Data 처리===
 
<pre>
 
/* xxxSchema 데이터 처리 자동화 Script */
 
 
 
insert into xxxSchema (id, class, groupName, label)
 
values ('Thing', 'Category', 'Top', 'Thing' )
 
 
 
insert into xxxSchema (id, class, groupName, label)
 
select class as id, 'Category' as class, 'Thing' groupName, class as label
 
from concertData
 
group by class
 
 
 
insert into xxxSchema (id, class, groupName, label)
 
select groupName as id, 'Category' as class, class as groupName, groupName as label
 
from concertData
 
where groupName is not NULL
 
group by class, groupName
 
 
 
insert into xxxSchema (id, class, groupName, label)
 
select partName as id, 'Category' as class, groupName, partName as label
 
from concertData
 
where partName is not NULL
 
group by groupName, partName
 
 
 
/* xxxCategory 데이터 처리 자동화 Script */
 
 
 
-- hasCategory (top->1st)
 
insert into concertCategory (source, target, relation )
 
select 'Thing' as source, class as target, 'hasCategory' as 'relation' from concertData
 
group by class
 
 
 
-- hasCategory (1st->2nd)
 
insert into concertCategory (source, target, relation )
 
select class as source, groupName as target, 'hasCategory' as 'relation' from concertData
 
where groupName is not NULL
 
group by class, groupName
 
 
 
-- hasCategory (2nd->3rd)
 
insert into concertCategory (source, target, relation )
 
select groupName as source, partName as target, 'hasCategory' as 'relation' from concertData
 
where partName is not NULL
 
group by class, groupName, partName
 
 
 
-- hasMember (Major Category)
 
insert into concertCategory (source, target, relation )
 
select class as source, id as target, 'hasMember' as 'relation' from concertData
 
where groupName is NULL
 
order by class, id
 
 
 
-- hasMember  (2nd Category)
 
insert into concertCategory (source, target, relation )
 
select groupName as source, id as target, 'hasMember' as 'relation' from concertData
 
where groupName is not NULL and partName is NULL
 
order by groupName, id
 
 
 
-- hasMember  (3rd Category)
 
insert into concertCategory (source, target, relation )
 
select partName as source, id as target, 'hasMember' as 'relation' from concertData
 
where partName is not NULL
 
order by partName, id
 
</pre>
 
 
 
===Storyline Data 처리===
 
<pre>
 
/* insert storyline node data */
 
 
 
insert into yyyData (id, class, upperNode, nextNode, label, infoUrl, iconUrl )
 
select id, class, upperNode, nextNode, label, infoUrl, iconUrl from yyyData$
 
 
 
/* generate storyline link data */
 
 
 
-- hasTopic
 
insert into yyyLinks (source, target, relation )
 
select upperNode, id, 'hasTopic' from yyyData$
 
where class='Topic' and upperNode is Not Null
 
 
 
-- hasEpisode
 
insert into yyyLinks (source, target, relation )
 
select upperNode, id, 'hasEpisode' from yyyData$
 
where class='Episode' and upperNode is Not Null
 
 
 
-- isPeviousInSequence
 
insert into yyyLinks (source, target, relation )
 
select id, nextNode, 'isPreviousInSequence' from yyyData$
 
where nextNode is Not Null
 
</pre>
 
 
 
==시맨틱 데이터베이스 관리 도구 (Python Program)==
 
 
 
 
 
===Factual Data 서비스===
 
 
 
 
 
===Catelog Data 서비스===
 
 
 
 
 
===Storyline Data 서비스===
 

2019년 5월 20일 (월) 15:40 기준 최신판

Concept of Integrated Curation

IntegratedCuration.jpg

Integrated Curation Data Model

사실과 문맥 (Factual Data)

FactualData.jpg Integrated Curation Data Model: Factual Data

정보의 분류 (Category Data)

CategoryData.jpg Integrated Curation Data Model: Category Data

나의 이야기 (Storyline Data)

Storyline.jpg Integrated Curation Data Model: Storyline Data

시맨틱 데이터 서비스 도구 (Semantic Data Service Tools)

Ontology.png Integrated Curation Data Model: Semantic Data Service Tools