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
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
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
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
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).
KiẾN TRÚC ECLIPSE
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.
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.
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
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
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
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
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
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)
KiẾN TRÚC JENA2
Các interfaces của Jena2
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
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ụ:
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)
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>
TẠO RDF GRAPHVí dụ 2: Blank
node
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>
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
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
READ/WRITE RDF FILEWriting RDF
model.write(System.out);Reading RDF
String inputFileName = "input.rdf";InputStream in =
FileManager.get().open(inputFileName);model.read(in,"");
Thanks for your attention