24
H ng d n: ướ TS Hoàng H u H nh H c viên : Nguy n M u Qu c Hoàn Mai Văn M i ườ

Jena Seminar

Embed Size (px)

Citation preview

Page 1: Jena Seminar

H ng d n: ướ ẫ TS Hoàng H u H nhữ ạH c viên : ọ Nguy n M u Qu c Hoànễ ậ ố

Mai Văn M iườ

Page 2: Jena Seminar

CONTENTS Gi i thi u Eclipse Java Editorớ ệ Ki n trúc Eclipseế Cài đ t Eclipseặ Vi t ch ng trình Java b ng Eclipseế ươ ằ Thêm các th vi n c a Jena vào Eclipseư ệ ủ T ng quan v Jenaổ ề C u trúc Jena 2 – Các l p chínhấ ớ T o m t RDF Graphạ ộ Read/Write RDF File

Page 3: Jena Seminar

ECLIPSE? Eclipse là ph n m m mi n phí, đ c các nhà phát ầ ề ễ ượ

tri n s d ng đ xây d ng nh ng ng d ng J2EE.ể ử ụ ể ự ữ ứ ụ

Eclipse SDK bao g m 3 ph n chính: ồ ầPlatform, Java Development Toolkit (JDT),

Plug-in Development Environment (PDE)

V i JDT, Eclipse đ c xem nh là m t môi tr ng h ớ ượ ư ộ ườ ỗtr phát tri n Java m nh m .ợ ể ạ ẽ

PDE h tr vi c m r ng Eclipse, tích h p các Plug-in ỗ ợ ệ ở ộ ợvào Eclipse Platform

Page 4: Jena Seminar

ECLIPSE? Eclipse Platform là n n t ng c a toàn b ph n m m ề ả ủ ộ ầ ề

Eclipse, m c đích c a nó là cung c p nh ng d ch v ụ ủ ấ ữ ị ục n thi t cho vi c tích h p nh ng b công c phát ầ ế ệ ợ ữ ộ ụtri n ph n m m khách d i d ng Plug-in .ể ầ ề ướ ạ

JDT cũng có th đ c coi nh là m t Plug-in làm cho ể ượ ư ộEclipse nh là m t Java IDE (Integrated Development ư ộEnviroment).

Page 5: Jena Seminar

Ki N TRÚC ECLIPSEẾ

Page 6: Jena Seminar

The Platform runtime

Công vi c chính c a Platform runtime là phát xem ệ ủlug-in nào đang có trong th m c plug-in c a ư ụ ủEclipse.

M i Plug-in đ u có 1 t p tin Manifest li t kê nh ng ỗ ề ậ ệ ữk t n i mà plug-in c n.ế ố ầ

Pug-in ch đ c t i vào Eclipse m i khi th c s c n ỉ ượ ả ỗ ự ự ầthi t đ gi m l ng tài nguyên yêu c u và th i gian ế ể ả ượ ầ ờkh i t o.ở ạ

Page 7: Jena Seminar

The Workspace

Workspace ch u trách nhi m qu n lý tài nguyên ị ệ ảng i dùng đ c t ch c d i d ng Project. M i ườ ượ ồ ứ ướ ạ ỗProject là m t th m c con trong th m c ộ ư ụ ư ụWorkspace.

Workspace b o qu n c p th p l ch s nh ng s thay ả ả ấ ấ ị ử ữ ựđ i tài nguyên, tránh th t thoát tài nguyên ng i ổ ấ ườdùng.

Workspace đ ng th i ch u trách nhi m thông bào ồ ờ ị ệnh ng công c c n thi t cho vi c thay đ i tài nguyên. ữ ụ ấ ế ệ ổ

Page 8: Jena Seminar

The Workbench

Workbench là giao di n đ h a ng i dùng c a ệ ồ ọ ườ ủEclipse, g m có Standard Widget Toolkit (SWT) và ồJFace.

Eclipse không hoàn toàn b t bu c ph i s d ng SWT ắ ộ ả ử ụhay Jface đ l p trình giao di n, có th s d ng AWT ể ậ ệ ể ử ụhay SWING c a Java thông qua vi c cài đ t các Plug-ủ ệ ặins

Page 9: Jena Seminar

Team support Trang b h th ng qu n tr đ qu n lý d án c a ị ệ ố ả ị ể ả ự ủ

ng i dùng : Concurrent Versions System (CVS) ườ

Team support Cung c p h th ng tài li u m r ng, có th là đ nh ấ ệ ố ệ ở ộ ể ị

d ng HTML hay XMLạ

Page 10: Jena Seminar

CÀI T ECLIPSEĐẶ Tr c h t b n t i Eclipse (Classic) v t đ a ch : ướ ế ạ ả ề ừ ị ỉ

http://www.eclipse.org/downloads/ Gi i nén t p tin Eclipse SDK vào th m c mà b n ả ậ ư ụ ạ

mu n cài đ t (Ví d : C:\Eclipse). ố ặ ụ

Chép th m c JRE c a JDK vào th m c con c a th ư ụ ủ ư ụ ủ ưm c Eclipse ụ

Sau đó, ch y t p tin eclipse.exe đ hoàn thành cài ạ ậ ểđ t ặ

Page 11: Jena Seminar

T NG QUAN V JENAỔ Ề Là m t ộ Java framework cho vi c xây d ng các ng ệ ự ứ

d ng web ng nghĩaụ ữ Website: http://jena.sf.net Cung c p m t môi tr ng l p trình cho ấ ộ ườ ậ RDF, RDFS

and OWL, SPARQL Bao g m các công c suy di n t các lu t c s (rule-ồ ụ ễ ừ ậ ơ ở

based inference engine) Open source Phiên b n đ u tiên ra đ i 2000 do HP Lab xây d ngả ầ ờ ự Jena 2 ra đ i vào 2003 – phiên b n hi n t i là Jena ờ ả ệ ạ

2.5.6

Page 12: Jena Seminar

T NG QUAN V JENAỔ Ề Jena Framework bao g m:ồ

RDF API: Giao di n l p trình cho RDFệ ậOWL API: Giao di n l p trình cho OWLệ ậXuất và đọc các file RDF theo dạng RDF/XML, N3 và N-

TriplesCho phép lưu trữ trong bộ nhớ, lưu trữ cố định trong các tập

tin đơn hay trong các hệ quản trị cơ sở dữ liệu (MySQL, HSQLDB, PostgreSQL, Oracle, Microsoft SQL Server)

H truy v n SPARQLệ ấ

Page 13: Jena Seminar

Ki N TRÚC JENA2Ế RDF Graph đ c xem là trái tim c a ki n trúc Jena 2 – t p các b ượ ủ ế ậ ộ

ba các node

Kiến trúc của Jena đã được thiết kế để cho phép tích hợp một cách dễ dàng các thành phần xử lý có thể thay thế như bộ phân tích dữ liệu (parser), xuất bản (writer), lưu trữ và truy vấn

Jena API bao gồm một tập các giao diện Java mô tả các nguồn tài nguyên (resources), các thuộc tính (properties), các phát biểu (statements) và các mô hình (model) dưới dạng khung mô tả tài nguyên RDF (Resource Description Framework)

Page 14: Jena Seminar

Ki N TRÚC JENA2Ế

Các interfaces c a Jena2ủ

Page 15: Jena Seminar

Ki N TRÚC JENA2Ế RDFNode interface: Cung c p các thành ph n c a ấ ầ ủ

các b ba RDF {predicate, subject, object}ộ Literal interface : Dùng để mô tả các chuỗi và chuyển

đổi một số kiểu của Java như String, Int, và Double Các đối tượng hiện thực giao diện Property có thể là một

predicate trong bộ ba {predicate, subject, object} Statement interface: mô tả bộ ba {predicate, subject,

object}. Đồng thời nó cũng có thể được dùng như một đối tượng

Các đối tượng hiện thực các giao diện Container, Alt, Bag, hoặc Seq có thể là đối tượng

Page 16: Jena Seminar

T O RDF GRAPHẠ Ki n trúc Jena t p trung vào mô hình RDF (RDF ế ậ

model). Trong Jena m t l c đ RDF đ c g i là m t ộ ượ ồ ượ ọ ộModel và đ c mô t b i giao di n Modelượ ả ở ệ .

ModelFactory cung c p các method đ t o m t d ng ấ ể ạ ộ ạModel chu n ẩ

Ví d : ụ

Page 17: Jena Seminar

T O RDF GRAPHẠ S d ng ử ụ createDefaultModel() đ t o m t ể ạ ộ RDF

ModelModel model = ModelFactory.createDefaultModel();

Đ t o m t Resource: ể ạ ộResource johnSmith = model.createResource(personURI);

M t RDF Model đ c xem nh là m t t p các ộ ượ ư ộ ậphát bi u (statement)ể . M i phát bi u này đ c ỗ ể ượthêm vào RDF Model b ng ph ng th c ằ ươ ứaddProperty:

johnSmith.addProperty(VCARD.FN, fullName);

Xu t Model đ c t o nh l p PrinterWriter ấ ượ ạ ờ ớc a Jenaủ :

model.write(new PrintWriter(System.out)); (xu t ra console)ấ

Page 18: Jena Seminar

T O RDF GRAPHẠ K t qu xu t ra console:ế ả ấ

<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/JohnSmith"> <vcard:FN>John Smith</vcard:FN> </rdf:Description></rdf:RDF>

Page 19: Jena Seminar

T O RDF GRAPHẠ Ví d 2: ụ Blank

node

Page 20: Jena Seminar

T O RDF GRAPHẠ Kêt qu xu t ra d ng RDF/XML:ả ấ ạ

<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://somewhree/JohnSmith"> <vcard:N rdf:nodeID="A0"/> <vcard:FN>JohnSmith</vcard:FN> </rdf:Description> <rdf:Description rdf:nodeID="A0"> <vcard:Given>John</vcard:Given> <vcard:Family>Smith</vcard:Family> </rdf:Description></rdf:RDF>

Page 21: Jena Seminar

StatementsM t statement g m 3 ph nộ ồ ầ

Subject: resource Predicate: property Objects: resource hay literal

Thông th ng m t statement đ c g i là triple (b ườ ộ ượ ọ ộba)

M t model là m t t p các statementộ ộ ậ Jena model cung c p ph ng th c listStatement() v i ấ ươ ứ ớ

giá tr tr v là StmIterator ( m t danh sách các ị ả ề ộstatement trong model )

T O RDF GRAPHẠ

Page 22: Jena Seminar

Ví d 3ụ K t qu :ế ảhttp://somewhree/JohnSmith http://www.w3.org/2001/vcard-rdf/3.0#N -207df7e5:11d4b6fc7da:-

8000http://somewhree/JohnSmith http://www.w3.org/2001/vcard-rdf/3.0#FN JohnSmith-207df7e5:11d4b6fc7da:-8000 http://www.w3.org/2001/vcard-rdf/3.0#Given John-207df7e5:11d4b6fc7da:-8000 http://www.w3.org/2001/vcard-rdf/3.0#Family Smith

T O RDF GRAPHẠ

Page 23: Jena Seminar

READ/WRITE RDF FILE Writing RDF

model.write(System.out); Reading RDF

String inputFileName = "input.rdf";InputStream in = FileManager.get().open(inputFileName);model.read(in,"");

Page 24: Jena Seminar

Thanks for your attention