24
JENA – JAVA FRAMEWORK FOR BUILDING SEMANTIC WEB APPLICATIONS 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 – Java Framework for Building Semantic Web Applications

  • Upload
    lena

  • View
    79

  • Download
    0

Embed Size (px)

DESCRIPTION

JENA – Java Framework for Building Semantic Web Applications. 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. 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 - PowerPoint PPT Presentation

Citation preview

Page 1: JENA  –  Java Framework for Building Semantic Web Applications

JENA – JAVA FRAMEWORK FOR BUILDING SEMANTIC WEB

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

Mai Văn Mười

Page 2: JENA  –  Java Framework for Building Semantic Web Applications

CONTENTSGiới thiệu Eclipse Java EditorKiến trúc EclipseCài đặt EclipseViết chương trình Java bằng EclipseThêm các thư viện của Jena vào EclipseTổng quan về JenaCấu trúc Jena 2 – Các lớp chínhTạo một RDF GraphRead/Write RDF File

Page 3: JENA  –  Java Framework for Building Semantic Web Applications

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  –  Java Framework for Building Semantic Web Applications

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  –  Java Framework for Building Semantic Web Applications

KiẾN TRÚC ECLIPSE

Page 6: JENA  –  Java Framework for Building Semantic Web Applications

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  –  Java Framework for Building Semantic Web Applications

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  –  Java Framework for Building Semantic Web Applications

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  –  Java Framework for Building Semantic Web Applications

Team supportTrang bị hệ thống quản trị để quản lý dự án

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

Team supportCung cấp hệ thống tài liệu mở rộng, có thể là

định dạng HTML hay XML

Page 10: JENA  –  Java Framework for Building Semantic Web Applications

CÀI ĐẶT ECLIPSETrướ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  –  Java Framework for Building Semantic Web Applications

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

ứng dụng web ngữ nghĩaWebsite: 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 sourcePhiên bản đầu tiên ra đời 2000 do HP Lab

xây dựngJena 2 ra đời vào 2003 – phiên bản hiện tại là

Jena 2.5.6

Page 12: JENA  –  Java Framework for Building Semantic Web Applications

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

RDF API: Giao diện lập trình cho RDFOWL API: Giao diện lập trình cho OWLXuấ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  –  Java Framework for Building Semantic Web Applications

KiẾN TRÚC JENA2RDF Graph được xem là trái tim của kiến trúc Jena 2 –

tập các bộ ba các nodeKiế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ấnJena 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  –  Java Framework for Building Semantic Web Applications

KiẾN TRÚC JENA2

Các interfaces của Jena2

Page 15: JENA  –  Java Framework for Building Semantic Web Applications

KiẾN TRÚC JENA2RDFNode 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  –  Java Framework for Building Semantic Web Applications

TẠO RDF GRAPHKiế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  –  Java Framework for Building Semantic Web Applications

TẠO RDF GRAPHSử 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  –  Java Framework for Building Semantic Web Applications

TẠO RDF GRAPHKế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  –  Java Framework for Building Semantic Web Applications

TẠO RDF GRAPHVí dụ 2: Blank

node

Page 20: JENA  –  Java Framework for Building Semantic Web Applications

TẠO RDF GRAPHKê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  –  Java Framework for Building Semantic Web Applications

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 statementJena 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  –  Java Framework for Building Semantic Web Applications

Ví dụ 3Kế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  –  Java Framework for Building Semantic Web Applications

READ/WRITE RDF FILEWriting RDF

model.write(System.out);Reading RDF

String inputFileName = "input.rdf";InputStream in =

FileManager.get().open(inputFileName);model.read(in,"");

Page 24: JENA  –  Java Framework for Building Semantic Web Applications

Thanks for your attention