TÌM HIỂU VỀ RDF VÀ ỨNG DỤNG VÀO LẬP TRÌNH SEMATIC WEB

32 1.1K 7
TÌM HIỂU VỀ RDF VÀ ỨNG DỤNG VÀO LẬP TRÌNH SEMATIC WEB

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN TIỂU LUẬN BIỂU DIỄN TRI THỨC VÀ ỨNG DỤNG Đề tài: TÌM HIỂU VỀ RDF VÀ ỨNG DỤNG VÀO LẬP TRÌNH SEMATIC WEB GVHD: PGS.TS. Đỗ Văn Nhơn Học viên thực hiện: Phan Đình Duy CH1101060 Lớp: CH CNTT K6 Khóa: 2011 TP.Hồ Chí Minh, tháng 01 năm 2013 LỜI CẢM ƠN Em xin gửi lời cảm ơn chân thành đến thầy PGS.TS Đỗ Văn Nhơn, người đã dành nhiều thời gian quý báu của mình để truyền đạt cho lớp CH CNTT K6 những kiến thức bổ ích, lý thú về biểu diễn tri thức và ứng dụng. Đây là những kiến thức hết sức cần thiết cho hành trang của chúng em trong công việc nghiên cứu về lĩnh vực tin học. Đặt biệt thầy đã truyền đạt các kiến thức và ví dụ minh họa rất bổ ích cho chúng em về ontology. Đây chính là tiền đề, là kiến thức nền tảng đã thôi thúc em thực hiện đề tài tiểu luận về “Tìm hiểu về RDF và ứng dụng vào lập trình Semantic Web”. Xin chân thành cảm ơn sự giúp đỡ của các bạn bè, anh chị, những người đã thảo luận và đóng góp ý kiến, giúp đỡ em tìm kiếm thông tin và động viên tinh thần cho em trong suốt quá trình thực hiện tiểu luận. Một lần nữa xin chân thành cảm ơn đến tất cả những người đã quan tâm đến tiểu luận của em. Tuy nhiên, trong quá trình làm việc không thể tránh khỏi những sai sót, rất mong sự đóng góp ý kiến nhiệt tình của Thầy và các bạn. Học viên thực hiện Phan Đình Duy Lớp: CH CNTT K6 BIỂU DIỄN TRI THỨC & ỨNG DỤNG 1 Phan Đình Duy Mục lục Chương 1. BIỂU DIỄN DỮ LIỆU BẰNG RDF 3 1.1 Định nghĩa RDF. 3 1.2 Mô hình dữ liệu RDF 3 1.2.1 URIs 4 1.2.2 Blank Nodes 4 1.2.3 Literal values - Giá trị nghĩa đen 5 1.3 Các định dạng lưu trữ RDF 6 1.3.1 N-Triples 7 1.3.2 N3 7 1.3.3 RDF/XML 8 1.4 Ontology 8 Chương 2. ỨNG DỤNG RDF VÀO LẬP TRÌNH SEMANTIC WEB 11 2.1 Sử dụng Sesame như công cụ lưu trữ và truy vấn 12 2.1.1 Cài đặt ứng dụng web Sesame 12 2.1.2 Tạo mới kho dữ liệu 12 2.1.3 Load dữ liệu thô tạo đồ thị ngữ nghĩa 14 2.1.4 Đẩy dữ liệu từ đồ thị lên sesame(qua định dạng RDF/XML) 16 2.2 Tạo ứng dụng web 18 2.3 Màn hình chung 18 2.4 Mở rộng các tập dữ liệu từ các nguồn công cộng 20 2.5 Tạo màn hình theo chức năng 24 2.6 Trực quan hóa giao diện 25 Chương 3. KẾT LUẬN 29 BIỂU DIỄN TRI THỨC & ỨNG DỤNG 2 Phan Đình Duy DANH MỤC HÌNH ẢNH Hình 1-1 Blank nodes trong mạng xã hội thể hiện thành viên 4 Hình 1-2 Blank node mô hình hóa một địa chỉ liên lạc 5 Hình 1-3 Đồ thị các mối quan hệ của TobySegaran 6 Hình 2-1 Màn hình cấu hình của Sesame 12 Hình 2-2 Tạo mới kho dữ liệu 13 Hình 2-3 Kho dữ liệu được tạo với id là joblistings 14 Hình 2-4 Kết quả tìm danh sách các công ty tuyển dụng 17 Hình 2-5 Xem danh sách Triple bằng export 17 Hình 2-6 Kết quả của màn hình liên kết Subject - Predicate - Object 20 Hình 2-7 Kết quả truy xuất tìm thông tin về công ty trên Crunchbase dựa vào keys 21 Hình 2-8 Nội dung của đồ thị trên kho seasame 23 Hình 2-9 Thông tin bổ sung đã được cập nhật 23 Hình 2-10 Màn hình cụ thể về các vị trí tuyển dụng và thông tin về công ty 25 Hình 2-11 Kết quả JSON trả về bởi hàm exhibit_job_data 26 Hình 2-12 Màn hình thể hiện biểu đồ jobs theo salary và funding dạng plot 28 BIỂU DIỄN TRI THỨC & ỨNG DỤNG 3 Phan Đình Duy Chương 1. BIỂU DIỄN DỮ LIỆU BẰNG RDF 1.1 Định nghĩa RDF. Chúng ta thấy rằng việc chuyển sang mô hình dữ liệu đồ thị là khá dễ dàng, và là một ý tưởng tốt. Nhưng với dữ liệu đã được nạp vào đồ thị, làm thế nào để chia sẽ dữ liệu đó cho người khác? Đó chính là lý do của sự xuất hiện Resource Description Framework(RDF) của W3C. RDF cung cấp một cách biểu diễn chuẩn của đồ thị, cho phép chia sẽ chúng với người khác, và quan trọng hơn là với máy tính. Bởi vì nó là một chuẩn mà W3C “khuyến khích", một tập lớn các công cụ và dịch vụ đã xuất hiện quanh khái niệm về RDF.RDF là một “bộ khung” được sử dụng để mô tả các nguồn tài nguyên trên Internet. RDF cung cấp một mô hình dữ liệu, và một cú pháp đơn giản sao cho các hệ thống độc lập có thể trao đổi và sử dụng nó. RDF được thiết kế sao cho hệ thống máy tính có thể hiểu được và có thể đọc được thông tin, chứ không phải để trình bày dữ liệu cho người dùng.Là một thành phần của Semantic Web, được đặt trên XML, RDF sử dụng cú pháp của XML để biểu diễn thông tin, điều này có nghĩa là các tài liệu RDF được viết bằng XML. Ngôn ngữ XML dùng để biểu diễn thông tin trong RDF được gọi là RDF/XML. Thông qua định dạng này, các thông tin trong RDF có thể được trao đổi dễ dàng giữa các hệ thống máy tính cũng như các hệ điều hành hay các ngôn ngữ lập trình ứng dụng khác nhau. RDF mô tả siêu dữ liệu về các tài nguyên trên Web. RDF dựa trên cú pháp XML tuy nhiên XML chỉ mô tả dữ liệu, RDF còn có khả năng biểu diễn ngữ nghĩa giữa chúng thông qua các tài nguyên được định danh bằng URI. 1.2 Mô hình dữ liệu RDF Hiểu một cách cực kỳ đơn giản dựa vào những khái niệm về mô hình ngữ nghĩa mà chúng ta đã tìm hiểu trong phần trước, RDF chẳng qua là một cách chuẩn hóa mô hình ngữ nghĩa bằng triple, là một cấu trúc gồm 3 thành phần chính (Subject-Predicate- Object). Điểm khác biệt duy nhất chính là liên quan đến tài nguyên sử dụng thể hiện trong triple và các định dạng lưu trữ của chúng. BIỂU DIỄN TRI THỨC & ỨNG DỤNG 4 Phan Đình Duy 1.2.1 URIs Universal Resource Identifier (URI): tức là định danh tài nguyên duy nhất. Trong đó URL là tập con của URI chỉ vị trí tài nguyên duy nhất mà chúng ta đã quá quen thuộc khi sử dụng web. Mô hình DRF sử dụng URI như tài nguyên cho tất cả các thành phần trong mô hình từ subject, predicate đến object nhằm đảm bảo tính duy nhất và đồng thời cũng là giá trị để truy xuất đến các thông tin có nghĩa thực sự. Điều quan trọng là cần lưu ý rằng URI không phải là URL (mặc dù mỗi URL là một URI). Một cách thực tế, điều này có nghĩa là bạn không nên cho rằng URI sẽ tạo ra bất kỳ thông tin nào nếu bạn gõ vào một trình duyệt web. Mà nó có nghĩa rằng, cố gắng làm càng nhiều thông tin tài nguyên sẵn có tại địa chỉ là một cách tốt. Một cách sử dụng phổ biến và ngắn gọn của URI trong RDF là chỉ ra khái niệm namespace (không gian sử dụng chung) để định nghĩa phần cơ sở của URI (base) và chỉ thể hiện bằng tên namespace cộng với thành phần phân biệt còn lại của URI. 1.2.2 Blank Nodes Trong trường hợp bạn không biết URI bạn cần biểu diễn, hoặc chúng không tồn tại. Điều đó không có nghĩa là chúng không tồn tại, trong trường hợp này RDF đưa ra khái niệm gọi là “anonymous” hoặc“blank nodes”. Blank Node là một node bất kì, nhưng chúng không có URI. Hình 1-1 Blank nodes trong mạng xã hội thể hiện thành viên BIỂU DIỄN TRI THỨC & ỨNG DỤNG 5 Phan Đình Duy Trong biểu diễn triple, Blank node được thể hiện bằng quy tắc đặt tên _:id, trong đó id là tùy ý nhưng phải suy nhất trong phạm vi đồ thi. Ví dụ , biểu thức định dạng triple cho mô hình ở Hình 1-1như sau (_:ax1, "weblog", "http://blog.kiwitobes.com") (_:ax1, "surName", "Segaran") (_:ax1, "givenName", "Toby") (_:ax1, "knows", _:zb7) (_:zb7, "surName", "Taylor") (_:zb7, "givenName", "Jamie") (_:zb7, "email", "jamie@semprog.com") Ngoài ra Blank Node là một node có ý nghĩa bao gồm sự kết hợp của nhiều thành phần khác mà khái niệm URI của node đó không tồn tại hoặc phải là sự kết hợp của nhiều nodes kia. Ví dụ trong Hình 1-2 là điển hình cho nhóm các thành phần cấu thành blank node. Hình 1-2 Blank node mô hình hóa một địa chỉ liên lạc 1.2.3 Literal values - Giá trị nghĩa đen DRF sử dụng literal values tương tự mà ví dụ về graph đã làm, nó thể hiện những kiểu cơ bản nhất về subject và object. Một literal values có thể có giá trị tùy chọn về ngôn ngữ hoặc kiểu dữ liệu ví dụ, http://www.w3.org/2001/XMLSchema#int thay cho giá trị số nguyên. Mã ISO 639 được sử dụng để chỉ định ngôn ngữ; Ví dụ, en cho tiếng Anh hoặc ja cho Nhật Bản BIỂU DIỄN TRI THỨC & ỨNG DỤNG 6 Phan Đình Duy 1.3 Các định dạng lưu trữ RDF Cách sử dụng RDF thì dường như khá đơn giản nhưng cấu trúc lưu trữ chúng thì khá phức tạp, tuy nhiên chúng ta không lo lắng về điều này vì RDF đã có sẵn những chuẩn định dạng lưu trữ khá tốt. Chúng ta sẽ tìm hiểu bốn định dạng tuần tự hóa ở đây: N-Triples, mô tả đơn giản nhất; N3, phiên bản ngắn gọn của N-Triple; RDF / XML, một trong những định dạng sử dụng thường xuyên nhất và cuối cùng, "RDF in attributes" (RDFa), được nhúng vào các format khác như XHTML. Để có thể dễ dàng tìm hiểu chúng ta hãy xem qua Hình 1-3 một đồ thị về bạn bè và các mối quan hệ. Hình 1-3 Đồ thị các mối quan hệ của TobySegaran BIỂU DIỄN TRI THỨC & ỨNG DỤNG 7 Phan Đình Duy 1.3.1 N-Triples Định dạng đơn giản và gần với cấu trúc gốc của Triple nhất, có định dạng Subject1 Predicate1 Object1. Subject2 Predicate2 Object2. … Trong đó mỗi triple là một dòng đơn gồm 3 thành phần và kết thúc bằng dấu chấm. Các thành phần được thể hiện bằng URI được bao quanh bởi dấu <> bao quoanh, ngoại trừ  Blank Node thể hiện bằng _:id ( id là chuỗi tự do tuân theo nguyên tắc đặt tên)  Literal values : thể hiện bằng chuỗi trong ngoặc kép. Chỉ định @lang theo sau để chỉ ngôn ngữ : ISO 639 Chỉ định ^^type theo sau để chỉ kiểu dữ liệu : XSD  N-Triples được lưu xuống file dưới đuôi là .nt 1.3.2 N3 N3 là phiên bản nâng cấp khắc phục tình trạng bị lặp lại của N-Triples, bằng cách đưa ra một số cách định nghĩa trước và quy tắc thể hiện theo nhóm. Một số bổ sung sau  Định nghĩa @prefixsemperp: <http://semprog.com/people/>.  Sử dụng semperp:colin thay cho <http://semprog.com/people/colin>  Nhóm các predicate và object vào chung một nhóm để tranh lặp lại subject.  Subject1 P1_1O1_1;P1_2 O1_2.  Với Subject là Blank Node nhóm các predicate và object vào chung và đặt bên trong ngoặc vuông [].  Subject1 Predicate S2,[P2_1 O2_1;P2_2 O2_2].  Kí tự a, được thể hiện cho predicate thuộc kiểu dữ liệu (URI = <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> )  <http://www.w3.org/2002/07/owl#sameAs> hoặc owl:sameAs được thể hiện bởi dấu = . BIỂU DIỄN TRI THỨC & ỨNG DỤNG 8 Phan Đình Duy 1.3.3 RDF/XML RDF/XML là mô hình dữ liệu của RDF được biểu diễn bằng XML. Ở phần đầu tiên là nơi định nghĩa namespace ví dụ <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"/> Phần nội dung, định dạng này được thể hiện theo mô hình tree, bám theo các giá trị subject gốc ban đầu. Trong cấu trúc phân cấp các giá trị con chính là các thành phần kế tiếp trong dãy liên kết O-P-O-P-O…. Sử dụng tên của kiểu dữ liệu để làm node biểu diễn dữ liệu cho đối tượng thuộc kiều đó ví dụ <foaf:Person rdf:about="http://kiwitobes.com/toby.rdf#ts">  Foaf:Person là kiểu dữ liệu cho đối tượng thể hiên cho tody.  Rdf:about là uri của đối tượng doty.  Literal values được thể hiện bằng nội dung text của xml node hoặc như một thuột tính trong rdf:Description  Giá trị đối tượng trong node rdf:Description có kiểu là X thì nó được thể hiện bằng cách thay thế tên rdf:Description thành tên X. 1.4 Ontology Mô hình dữ liệu RDF đã cho chúng ta một khá tổng quát về tổ chức ngữ nghĩa. Tuy nhiên, cũng vì tính quá chung chung đó mà tất cả các thực thể, đối tượng, quan hệ của chúng trở nên cực kì lộn xộn, không rõ ràng phạm vi sử dụng trong một lĩnh vực xác định.Ontology đã được áp dụng vào mô hình RDF để làm nó trở nên rõ ràng hơn về ý nghĩa và tính trong sáng cua mô hình. Sau khi khi trãi qua một loạt các mô hình ngữ nghĩa, chúng ta thấy rằng mô hình sử dụng Subject-predicate-object là một phương pháp hữu ích và linh hoạt cho việc biểu diễn tri thức.Các nhà triết học từ thời Aristotle đã quan tâm rất nhiều về việc biết những gì tồn tại và làm thế nào để mô tả nó.Và một khi bạn nghĩ rằng bạn biết rằng một cái gì đó tồn tại, bước tiếp theo là tìm phạm vi cho nó trong số tất cả những thứ khác.Trong lĩnh vực triết học, nỗ lực này được gọi là ONTOLOGY. [...]... website về jobs.Việc cần làm đầu tiên là sẽ lấy danh sách dữ liệu này chuyển sang dạng lưu trữ RDF trước khi tiếp tục công việc 11 Phan Đình Duy BIỂU DIỄN TRI THỨC & ỨNG DỤNG 2.1 Sử dụng Sesame như công cụ lưu trữ và truy vấn 2.1.1 Cài đặt ứng dụng web Sesame Download openrdf-sesame-2.6.2-sdk.zip từ địa chỉ http://www.openrdf.org/download.jsp Giải nén tìm và chép 2 files webapp openrdf-sesame.war và. .. sử dụng code để phát sinh ra các trang HTML trình bày giao diện web, như vậy khá tốn công.Mako template cho phép liên kết giữa python code và HTML để việc thể hiện giao diện đơn giản nhất Về nguyên tắc chung thì nó hoàn toàn như các ngôn ngữ lập trình web khác truyền thống là ASP,JSP về cách chèn code vào trong HTML Một số nguyên tắc nhỏ khi chèn code python vào HTML  dấu sử dụng để mở và. .. LUẬN Qua tiểu luận này em đã lần lược tìm hiểu và sử dụng RDF , Ontology để biểu diễn ngữ nghĩa và ứng dụng vào sematic web Qua đó em nhận định việc sử dụng mô hình bộ ba triple ngữ nghĩa có một số ưu và khuyết điểm sau: Ưu điểm:  Có khả năng biểu diễn một cách mềm dẽo tất cả các loại dữ liệu  Thể hiện theo cấu trúc ngôn ngữ tự nhiên nên mức độ trừu tượng khá cao và đồng thời bao hàm ngữ nghĩa bên trong... tiểu luận nói sơ lược về ngữ nghĩa và một ứng dụng đơn giản của nó Một số hướng phát triển mà em nghĩ đến là:  Ứng dụng lưu trữ thay thế hệ cơ sỡ dữ liệu quan hệ ở mức tầm nhỏ và vừa (có được các truy vấn ngữ nghĩa và tận dụng khả năng của đồ thị)  Xây dựng các ứng dụng trong các lĩnh vực chuyện biệt theo hướng chuẩn hóa (sử dụng RDF + ontology) để phục vụ cho việc tra cứu và tư vấn ví dụ như : y... SEMANTIC WEB Phần này chúng ta sẽ kết hợp mọi thứ lại với nhau và sử dụng một số công cụ thể tạo thử một ứng dụng đơn giản tìm hiểu thông tin về các vị trí tuyển dụng trên web Yêu cầu của ứng dụng  Cài đặt và chạy các chức năng cơ bản một cách nhanh chóng  Cần mềm dẽo cho việc mở rộng các chức năng  Được thiết kế hỗ trợ cho việc truy xuất và chia sẽ thông tin theo dạng chuẩn(ngữ nghĩa)  Tương tác nhanh... DIỄN TRI THỨC & ỨNG DỤNG cộng đồng người sử dụng nó Chúng ta sẽ sử dụng nó để cập nhật thêm thông tin cho công ty trong kho dữ liệu của chúng ta Ví dụ, ứng với Crunchbase keys là metawebtechnologies chúng ta sẽ có URI truy xuất dữ liệu của nó ra dạng JSON như sau, khi gõ vào trình duyệt http://api.crunchbase.com/v/1/company/metawebtechnologies.js Hình 2-7 Kết quả truy xuất tìm thông tin về công ty trên... sử dụng thuộc tính đó được gọi là domain ( lĩnh vực,phạm vi) của thuộc tính Có nghĩa là một thuộc tính nằm có thể nằm trong nhiều kiểu khác nhau Tương tự như vậy, tập hợp các giá trị của nó có thể nhận được thì gọi là range (miền xác định) của thuộc tính 10 Phan Đình Duy BIỂU DIỄN TRI THỨC & ỨNG DỤNG Chương 2 ỨNG DỤNG RDF VÀO LẬP TRÌNH SEMANTIC WEB Phần này chúng ta sẽ kết hợp mọi thứ lại với nhau và. .. đường link để hiểu cấu trúc được lưu Hình 2-5 Xem danh sách Triple bằng export 17 Phan Đình Duy BIỂU DIỄN TRI THỨC & ỨNG DỤNG 2.2 Tạo ứng dụng web Download web server cherry từ http://cherrypy.org/ Sau khi download , upzip và cài vào python như một library tương tự các lệnh cài trước bằng lệnh: python setup.py install CherryPy cho phép tương tác dữ liệu và kết xuất ra giao diện màn hình web Tuy nhiên,... maple) Người phát triển ứng dụng chỉ cần yêu cầu và nhận kết quả trả về dưới dạng một định dạng chuẩn và thể hiện ra ứng dụng (có thể hình dung ứng dụng là một hệ giải toán trên mobile phát triển trên nền Android hoặc max os iPhone có kết nối internet) 29 Phan Đình Duy BIỂU DIỄN TRI THỨC & ỨNG DỤNG TÀI LIỆU THAM KHẢO [1] Toby Segaran, Colin Evans, Jamie Taylor Programming the Semantic Web Nhà xuất bản O’Reilly... http://www.openrdf.org/download.jsp Giải nén tìm và chép 2 files webapp openrdf-sesame.war và openrdf-workbench.war vào thư mục webapps của web server (giả sử ta đã có web server) Cấu hình lại port cho web server tới 8180 Sau khi hoàn tất ta có thể truy xuất vào địa chỉ http://localhost:8180/openrdfworkbench để xem màn hình thiết lập của sesame như Hình 2-1 sau Hình 2-1 Màn hình cấu hình của Sesame 2.1.2 Tạo mới . NGHỆ THÔNG TIN TIỂU LUẬN BIỂU DIỄN TRI THỨC VÀ ỨNG DỤNG Đề tài: TÌM HIỂU VỀ RDF VÀ ỨNG DỤNG VÀO LẬP TRÌNH SEMATIC WEB GVHD: PGS.TS. Đỗ Văn Nhơn Học viên thực hiện: . thức và ví dụ minh họa rất bổ ích cho chúng em về ontology. Đây chính là tiền đề, là kiến thức nền tảng đã thôi thúc em thực hiện đề tài tiểu luận về Tìm hiểu về RDF và ứng dụng vào lập trình. & ỨNG DỤNG 11 Phan Đình Duy Chương 2. ỨNG DỤNG RDF VÀO LẬP TRÌNH SEMANTIC WEB Phần này chúng ta sẽ kết hợp mọi thứ lại với nhau và sử dụng một số công cụ thể tạo thử một ứng dụng

Ngày đăng: 10/04/2015, 08:50

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan