2009 후기 신입생 프로젝트
Post on 19-Mar-2016
62 Views
Preview:
DESCRIPTION
TRANSCRIPT
2009 후기신입생 프로젝트2009. 08. 31
IDB/IDS Semi-nar송효진 , 박성은
About FOAF Crawling & Visualization With Touch graph
2
INDEX01 PROJECT OUTLINE02 PROJECT ARCHITECTURE03 DEMONSTRATION04 DISCUTION05 CONCLUSION
3
01 PROJECT OUT-LINE
4
1.1 프로젝트 개요
• 일 정 : 2009. 07. 28 ~ 2009. 08. 31 ( 약 5 주 )
• 취 지 : 신입생 프로젝트의 일환으로 실제 온톨로지를 다루어 보는 기회를 갖는다 .
• 주 제 : 웹 상에 존재하고 있는 FOAF 온톨로지를 Crawling 하여 DB 에 저장하고 , 그 데이터를 기반으로 질의 및 시각화 하는 시스템을 개발하도록 한다 .
5
1.2 프로그램 기능명세
FOAF Crawler 를 통해 웹 상의 FOAF 문서를 수집한다 .
Crawling 한 데이터를 DB 에 저장하고 사용하는 부분은 오픈 소스인 Jena 를 이용한다 .
DB 에 넣은 데이터를 기반으로 질의 및 시각화가 가능하도록 한다 .
최종 결과물은 웹 상에서 접속이 가능해야 한다 .
6
1.3 개발환경 및 오픈소스
JAVA JDK 1.6.0_14
Eclipse IDE for Java Developers
Apache Tomcat 5.5
Jena v2.6.0
TouchGraph
Signed Applet
SubVersion
7
02 PROJECT ARCHITEC-TURE
rC
2.0 Overall Architecture
데이터를 가져와서 그래프로 표현
Crawled
URL-s.txt
DB
RDFWebCrawler
RDFSaver
FOAFModelHan-dler
FOAFNode
FOAFVocabulary
Applet Driver
FOAFUI
DBConstructor
검색된 URL 을 받아 파싱하여 foaf 데이터 추출
후 DB 에 접근하여 이
데이터를출력
8
Visualizer
FOAFManager
웹에서 RDF 파일을 가져와서그 URL 을 FILE 에 쓰고
FOAF 데이터를 TRIPLE 스토어의 형태로 DB 에 넘겨줌
GLPanel, …
Touchgraph
1
2
3
9
2.1 FOAF Crawler(1)
JAVA 로 구현
RDFWebCrawler.-java
CrawledURLs.txt
HTML/XML 문서의 link 를 따라다니면서 /foaf.rdf 나 .foaf 파일을 포함 한 것을 골라 냄
HTML link 만 따라감 ->xml
도처에 존재하는무한루프(login, target link)
Too much time for link connection!->give up the URL
우선순위 없는 링크 따라가기
10
2.1 FOAF Crawler(2)1
2 3 4
5 6
7
8 …
11
2.1 FOAF Crawler(2)
JAVA 로 구현HighPriorityVector
PriorityVector
Vector
“/foaf.rdf”” .foaf”
Rdf, peo-ple, per-son, foaf
기타
12
2.1 FOAF Crawler(3)
1
2 34
5 67
8
13
■ 실행화면2.1 FOAF Crawler(4)
14
->Swoogle 을 seed page 로 이용->24 시간 약 800 개의 URL 을 Crawling
2.1 FOAF Crawler(5)
1 2 4 8 12240
200400600800
Crawler 작동형태
col-lected URL
(hour)
( 개 )
15
2.2 DB 에 Model 저장
Jena 와 java 로 구현 FOAF 파일을 모델로 만들어
triple store 의 형태로 DB 에 저장
RDFSaver.java
CrawledURL-s.txt
Email 로 URI 생성
Person 추가
URI존재 ?yes no
Email 존재 ?yes
Name으로 URI 생성
no
Name 존재 ?yes no
추가 안 함
DB
16
2.2 DB 에 Model 저장
Memory
FOAF 문서
DB
ModelTriple store
program
RDFSaver.java
model.listSub-jectsWithProp-
ertygetSubject()getProperty()getObject()Jena 로 모델에 쿼리
addaddProperty()
Jena 로 DB 를 모델로 변환하여 메모리에 올림
ModelMaker
17
2.2 DB 에 Model 저장
Memory
FOAF 문서
DB
18
2.3 FOAF 정보의 질의 및 시각화
오픈소스 Touch graph 로 FOAF Node 간의 Knows 관계구현
19
2.4 Browser 접속
톰캣 서버를 통해 웹으로 접근 가능
20
03 Discussion
21
1. FOAF 파일의 양과 질 문제양적 문제 : Web 에 올라와 있는 양도 적지만 , internal server error 나 접근 제한되어 있는 정보가 많음
-> 대부분의 파일은 실험적 수준
4. DISCUSSION(1)
22
양적 문제 :
다수의 URI 없는 node->email 로 URI 를 만들려고 함->email 마저 없는 노드들 다수
4. DISCUSSION(2)
23
질적 문제 :
다수의 URI 없는 node->email 로 URI 를 만들려고 함->email 마저 없는 노드들 다수
3. DISCUSSION(2)
이름대신 Nick-name
No Email!
24
2. FOAF 문서 기술의 다양성 다양한 기술방식으로 인해 Jena 에서 불러오지 못하는 FOAF 문서가 많음 .
3. DISCUSSION(3)
25
3. Applet 으로 웹 접속 시의 문제점client 에 Java 가 설치되어 있어야 함로딩 될 때 기다려야 하는 문제점
3. DISCUSSION(3)
26
04 DEMONSTRATION
27
04 CONCLUSION
28
4. 결론 및 느낀 점
FOAF 의 앞으로의 활용성에 대한 고민 추론을 통한 실용적 기능을 통한 확장 가능성 Semantic Web 에 대해 몸으로 공부해 볼 수 있었던 계기 대학원 생활에 대해 몸소 느낌
29
04 Q&A
30
THANK YOU…
※ 지도해주신 박성찬 , 임혜원 선배님 감사합니다 !!
top related