Upload
darius-langley
View
57
Download
0
Embed Size (px)
DESCRIPTION
Java 를 이용한 RDF Process 인터넷기술 012ITI01 강혜원. Index. RDF 란 Jena API Vcard 의 RDF 표현 Creating(Writing) RDF vCard database Reading RDF Querying a model – vcard database 에 질의 Jena 를 이용한 검색엔진 process. RDF 란. Resource Description Framework- 리소스를 묘사하기 위해 W3C 에서 제안한 표준 - PowerPoint PPT Presentation
Citation preview
02-06-09 인터넷기술 강혜원
Index
RDF 란 Jena API Vcard 의 RDF 표현 Creating(Writing) RDF vCard database Reading RDF Querying a model – vcard database 에 질의 Jena 를 이용한 검색엔진 process
02-06-09 인터넷기술 강혜원
RDF 란
Resource Description Framework- 리소스를 묘사하기 위해 W3C 에서 제안한 표준
프로그램이 의도된 의미를 이해할 수 있게 하기 위해서 XML Syntax 로 정보를 나타냄
하나의 statement - a triple of the form {predicate, subject, object}
<subject> has a property <predicate> whose value is <object>
{numberOfHits, http://www.foo.com/index.html, 3000}
{title, http://bookstore.com/book12, "The Connoisseur's Guide to the Mind"}
02-06-09 인터넷기술 강혜원
RDF 란
{dc:Publisher, http://www.w3.org, "World Wide Web Consortium"}
{dc:Title, http://www.w3.org, "W3C Home Page"}
02-06-09 인터넷기술 강혜원
Jena API
RDF 를 Processing 하기 위한 library RDF 를 parse, create 하거나 search
하기위한 interface 제공
02-06-09 인터넷기술 강혜원
Creating RDF code
String personURI = "http://somewhere/ 강혜원 ";
String givenName = " 혜원 ";
String familyName = " 강 ";
String fullName = givenName + " " + familyName;
……………
Model model = new ModelMem();
Resource johnSmith
= model.createResource(personURI)
.addProperty(VCARD.FN, fullName)
.addProperty(VCARD.N,
model.createResource()
.addProperty(VCARD.Given, givenName)
.addProperty(VCARD.Family,familyName))
02-06-09 인터넷기술 강혜원
vCard database<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:vCard='http://www.w3.org/2001/vcard-rdf/3.0#' >
<rdf:Description rdf:about="http://somewhere/kang/"> <vCard:FN> 강혜원 </vCard:FN> <vCard:N rdf:parseType="Resource">
<vCard:Family> 강 </vCard:Family><vCard:Given> 혜원 </vCard:Given>
</vCard:N> </rdf:Description>
중간생략 <rdf:Description rdf:about="http://somewhere/kwon/"> <vCard:FN> 권오연 </vCard:FN> <vCard:N rdf:parseType="Resource">
<vCard:Family> 권 </vCard:Family><vCard:Given> 오연 </vCard:Given>
</vCard:N> </rdf:Description> </rdf:RDF>
02-06-09 인터넷기술 강혜원
Reading RDF code
static final String inputFileName
= "com/hp/hpl/mesa/rdf/jena/tutorial/vc-db1.rdf";
…………………
Model model = new ModelMem();
InputStream in = Tutorial05.class
.getClassLoader()
.getResourceAsStream(inputFileName);
…………………..
model.read(new InputStreamReader(in), "");
02-06-09 인터넷기술 강혜원
Querying a model – vcard database에 질의
“ 강혜원” 의 nickname 검색
Database 에 있는 모든 사람의 이름 검색
이름이 “혜원” 으로 끝나는 사람의 이름 검색
02-06-09 인터넷기술 강혜원
Querying code
StmtIterator iter = model.listStatements(
new
SelectorImpl(null, VCARD.FN, (RDFNode) null) {
public boolean selects(Statement s) {
try {
return s.getString()
.endsWith(" 혜원 ");
}
02-06-09 인터넷기술 강혜원
Jena 를 이용한 검색엔진 process
A.html
B.html
C.html
D.html
<HEAD> 사이에 RDF 가 있는 파일만 가져옴
RDF-aware search engine crawler
<HTML>
<HEAD>
<rdf:RDF…
…….
</rdf:RDF>
</HEAD>
…….
A.html
parsing
{title, http://bookstore.com/book12, "The Connoisseur's Guide to the Mind"}
Triple model 생성
query
02-06-09 인터넷기술 강혜원
결론
효율적인 RDF interpretation 을 위한 tool 및 Library 필요
Jena API 는 자바의 객체지향적 성격과 RDF 의 결합을 통해 효율적 Processing 제공
향후 멀티미디어 데이터의 RDF 에 대한 효율적 interface 제공 필요