Nghiên cứu và triển khai linked data cho các ứng dụng Web ngữ nghĩa
Web ngữ nghĩa là xu thế phát triển trong việc biểu diễn dữ liệu để khắc phục các hạn
chế của Web hiện tại và hướng đến một thế hệ Web đáp ứng tốt hơn nhu cầu của con người và
các ứng dụng. Linked Data là thuật ngữ chỉ cách thức liên kết các nguồn dữ liệu trên Web hay
đơn giản là sử dụng Web để kết nối các dữ liệu từ nhiều nguồn khác nhau, là một trong những
cách tạo dựng nền tảng cho Web ngữ nghĩa. Vấn đề đặt ra là làm sao để chúng ta có thể chia sẻ
các dữ liệu trên Web dễ dàng như chia sẻ các tài liệu trên Web ngày nay. Bài báo này trình bày
các khái niệm và các kỹ thuật nền tảng của Linked Data, mô tả cách xuất bản Linked Data lên
Web. Phần cuối đưa ra ví dụ minh họa việc xuất bản Linked Data và liên kết đến các nguồn dữ
liệu khác trên Web.
Trang 1
Trang 2
Trang 3
Trang 4
Trang 5
Trang 6
Trang 7
Trang 8
Trang 9
Trang 10
Tải về để xem bản đầy đủ
Tóm tắt nội dung tài liệu: Nghiên cứu và triển khai linked data cho các ứng dụng Web ngữ nghĩa
chí thông thường được đưa ra cho việc định danh đối tượng như sau: - Đặt tên dễ nhớ, ngắn gọn. - Định danh trong không gian tên của mình. (Tên miền có thể chính là không gian tên). - Quan tâm đến tính mềm dẻo và nhất quán của URI vì việc thay đổi URI sẽ làm vỡ các liên kết đã thiết lập. Tài nguyên thông tin thì thường có một địa chỉ Web cụ thể để biểu diễn. Nhưng một tài nguyên phi thông tin thì không. Một tài nguyên phi thông tin cần xác định 3 định danh URI liên quan: - 1 định danh cho tài nguyên. - 1 định danh cho tài nguyên thông tin mô tả tài nguyên đó phù hợp cho trình TIẾN TRÌNH XUẤT BẢN LINKED DATA Chuẩn bị dữ liệu Tạo và sinh liên kết Xuất bản dữ liệu Kiểm thử và gỡ lỗi 184 duyệt HTML (biểu diễn bởi trang web). - 1 định danh cho tài nguyên thông tin mô tả tài nguyên đó phù hợp cho trình duyệt RDF (biểu diễn dạng RDF/XML). Có nhiều ý tưởng trong việc chọn URI, sau đây là một số ví dụ dùng slash URI: Cách 1: - - - Cách 2: - - - Tuy vậy, thường cần phải có một vài từ khóa chính trong URI của ứng dụng để chắc chắn cho nó là duy nhất. Từ khóa này cần có ý nghĩa trong lĩnh vực của ứng dụng. Ví dụ: một phần số ISBN trong lĩnh vực sách và xuất bản được đưa vào định danh URI là tốt hơn như làm khóa cho các bản ghi CSDL, điều này cũng làm việc khai phá các liên kết RDF cũng dễ hơn. 3.3. Chọn bộ từ vựng RDF Khi xuất bản dữ liệu lên Web, nhiều tổ chức, cá nhân khác nhau sử dụng các bộ từ vựng khác nhau để tham chiếu cho các tài nguyên của ứng dụng tùy theo sở thích hay mối quan tâm của họ. Web dữ liệu là một môi trường mở, chúng ta có thể dùng bất kỳ bộ từ vựng nào và có thể dùng cùng lúc hoặc không, tùy ý. Mặc dù vậy, tốt nhất chúng ta nên sử dụng lại những thuật ngữ từ những bộ từ vựng RDF phổ biến như FOAF, SIOC, SKOS, DOAP, vCard, Dublin Core, OAI-ORE hay GoodRelations để làm cho các ứng dụng máy trạm dễ dàng xử lý Linked Data. Khi những bộ từ vựng đó không đủ cung cấp các thuật ngữ cho ứng dụng, người xuất bản dữ liệu cần phải định nghĩa thuật ngữ mới và được định nghĩa bởi các URI xác định [8,13]. Tóm lại, để máy trạm dễ dàng xử lý dữ liệu, các bộ từ vựng thông dụng có thể được sử dụng lại. Chỉ nên định nghĩa những từ mới nếu như không tìm thấy từ nào trong các bộ từ vựng đã có. Khi không tìm được bộ từ vựng nào sẵn có phù hợp cho các lớp và thuộc tính của ứng dụng thì cần phải định nghĩa ra chúng. Định nghĩa một thuật ngữ mới không khó. Chúng ta có thể định nghĩa những từ vựng sử dụng lược đồ RDF hay OWL. 185 3.4. Tạo liên kết dữ liệu Liên kết dữ liệu (typed link) chính là điều cốt lõi của Web dữ liệu. Nếu không có liên kết hay chỉ có những liên kết ở mức nội bộ, dữ liệu bị giới hạn trong những phạm vi nhất định. Liên kết dữ liệu cho phép con người hay các ứng dụng duyệt qua những nguồn dữ liệu khác nhau và khám phá thêm dữ liệu, thông tin hữu ích. Trong các ứng dụng Linked Data, đó chính là các liên kết RDF dựa trên các lượt đồ RDF (RDFS). Để ứng dụng là một phần của Web dữ liệu, nguồn dữ liệu của chúng ta cần thiết lập các liên kết RDF đến các thực thể liên quan trong các nguồn dữ liệu khác. Các nguồn dữ liệu của các ứng dụng khác nhau nên có các liên kết RDF qua lại lẫn nhau giữa các tài nguyên tương tự hay có liên quan [2]. Khi có quá nhiều thực thể trong các nguồn dữ liệu cung cấp thông tin, thì việc tạo ra các liên kết RDF bằng thủ công khó khăn hơn, dẫn đến các cách tiếp cận tự động hoặc bán tự động sinh liên kết RDF. 3.4.1. Tạo liên kết thủ công Để tạo các liên kết thủ công thì chúng ta phải biết trước một số thông tin về tập dữ liệu chúng ta muốn liên kết. Một khi xác định được tập dữ liệu cụ thể phù hợp để liên kết, chúng ta có thể tự tìm các tham chiếu URI muốn liên kết. Nếu nguồn dữ liệu không cung cấp giao diện tìm kiếm, chẳng hạn như điểm cuối SPARQL hay một mẫu HTML, và có thể dùng trình duyệt Linked Data như Tabulator hay Marbles để duyệt tập dữ liệu và tìm ra URI đúng [8]. Chúng ta cũng có thể sử dụng dịch vụ Sindice để tìm các URI tồn tại hay để chọn một thứ phổ biến nhất khi có nhiều lựa chọn. Uriqr cho phép tìm URI về người bạn biết, đơn giản tìm theo tên. Kết quả sắp xếp theo cách URI cụ thể được tham chiếu trong tài liệu RDF trên Web nhưng chúng ta cần một ít thông minh của con người để lấy được URI phù hợp nhất để sử dụng. Sindice chỉ mục Web ngữ nghĩa và có thể nói cho bạn biết nguồn nào là URI chắc chắn. Vì vậy, dịch vụ này có thể giúp chúng ta chọn URI phổ biến nhất cho một khái niệm.[8] 3.4.2. Tự động sinh liên kết Cách tiếp cận thủ công mô tả trên không mềm dẻo đối với tập dữ liệu lớn. Trong trường hợp này, người ta sử dụng thuật toán sinh liên kết tự động để sinh ra các liên kết RDF giữa các nguồn dữ liệu. Đây là vấn đề phổ biến trong cộng đồng CSDL. Dự án liên kết dữ liệu mở (LOD-Linking Open Data Project) tập hợp các tài nguyên liên quan để sử dụng thuật toán sinh liên kết trong ngữ cảnh Linked Data. Hiện nay, vẫn còn thiếu các công cụ sử dụng để dễ dàng sinh liên kết RDF [8]. Vì vậy, người ta thường cài đặt thuật toán này với những tập dữ liệu cụ thể. 3.5. Xuất bản dữ liệu Việc xuất bản lên Web như thế nào hiệu quả phụ thuộc nhiều yếu tố. Đầu tiên phải kể đến là dữ liệu của chúng ta lớn bao nhiêu? Nếu chỉ xuất bản vài trăm bộ ba RDF, 186 chúng ta có thể cung cấp chúng trong 1 tệp RDF tĩnh và tải lên Web. Nếu dữ liệu nhiều hơn, chúng ta có thể đưa vào trong kho lưu trữ RDF và dùng các công cụ giao tiếp như Pubby để xuất bản chúng. Tiếp đến, chúng ta cần xem xét hiện nay dữ liệu đang được lưu trữ như thế nào? Nếu thông tin hiện đang lưu trữ trong CSDL quan hệ, chúng ta có thể dùng D2R Server để chuyển đổi và xuất bản kiểu khung nhìn RDF. Nếu thông tin là có sẵn thông qua API, bạn có thể cài đặt một bao bọc quanh các API. Nếu thông tin của bạn ở dạng khác như MS Excel, CSV hay BibTeX, bạn cần chuyển qua RDF trước. Và một yếu tố nữa cần quan tâm là sự thay đổi hay cập nhật của dữ liệu. Nếu dữ liệu phải thay đổi thường xuyên, chúng ta có thể thích cách tiếp cận mà sinh ra khung nhìn RDF trên dữ liệu như D2R Server [8,9,15]. Hiện nay, đã có nhiều công cụ hỗ trợ xuất bản Linked Data đã và đang được phát triển. Các công cụ này vừa cung cấp kho nội dung RDF cho Linked Data trên Web vừa cung cấp khung nhìn Linked Data trên nguồn dữ liệu không RDF. Công cụ cho phép người xuất bản từ việc giải quyết với chi tiết kỹ thuật như dàn xếp nội dung và đảm bảo rằng dữ liệu được xuất bản phụ thuộc thực tiễn cộng đồng Linked Data. Tất cả công cụ hỗ trợ tham chiếu lại URI trong mô tả RDF. Thêm vào đó, một vài công cụ cung cấp truy cập truy vấn SPARQL đến tập dữ liệu và hỗ trợ xuất bản RDF. Một số công cụ phổ biến hiện nay như D2R Server, Virtuoso Universal Server, Talis Platform, Pubby, Triplify, SparqlPlug, OAI2LOD Server, SIOC Exporters [8,13,15]. 3.5.1. Cung cấp tệp RDF tĩnh Cách đơn giản nhất cung cấp Linked Data là tạo ra tệp RDF tĩnh và tải chúng lên một Web server. Trên Web thông thường, các trang HTML lớn sẽ tải rất chậm và sử dụng băng thông không cần thiết. Điều này cũng đúng khi xuất bản Linked Data: Tệp RDF của chúng ta không nên quá lớn. Nếu tệp dữ liệu lớn và mô tả nhiều tài nguyên, chúng ta nên chia chúng thành nhiều tệp RDF. Khi có nhiều tệp RDF, chắc chắn rằng chúng được liên kết đến những tệp khác thông qua bộ ba RDF mà bao gồm các tài nguyên được mô tả trong nhiều tệp khác nhau [8]. Chúng ta sử dụng dạng tệp tĩnh khi cấu trúc và kích thước của tập dữ liệu là không thay đổi nhiều trong tương lai. 3.5.2. Cung cấp CSDL quan hệ Nếu dữ liệu của chúng ta được lưu trữ trong một CSDL quan hệ, ý tưởng tốt là để yên nó ở đó và xuất bản Linked Data trên CSDL đã tồn tại của chúng ta. Một công cụ để cung cấp Linked Data từ CSDL quan hệ là D2R Server. D2R Server dựa trên ánh xạ khai báo giữa lược đồ CSDL và thuật ngữ RDF đích. Dựa trên ánh xạ này, D2R cung cấp Linked Data trên CSDL của bạn và cung cấp một điểm cuối SPARQL cho CSDL [8,15]. 3.5.3. Cung cấp các kiểu thông tin khác Nếu dữ liệu đang được biểu diễn ở các định dạng khác như CSV, MS Excel hay 187 BibTEX thì chúng ta cần chuyển đổi dữ liệu qua RDF. Một số công cụ hỗ trợ việc này là: ConverterToRdf của ESW Wiki, và RDFizers của nhóm SIMILE [8,9]. 3.6. Kiểm thử và gỡ lỗi Sau khi xuất bản thông tin dạng Linked Data trên Web, chúng ta cần kiểm tra thông tin có được truy cập đúng chưa. Chúng ta có thể kiểm tra các URI với dịch vụ kiểm tra Linked Data sử dụng Vapour Linked validation service tại địa chỉ Dịch vụ này sinh ra các báo cáo chi tiết cách URI hoạt động với các yêu cầu HTTP như thế nào. Thêm vào đó, để xem dữ liệu Linked Data của chúng ta đã hiển thị đúng trong các trình duyệt và các liên kết có hoạt động đúng như mong muốn không, chúng ta có thể nhập các URI vào trong các trình duyệt Linked Data như Tabulator, Marbles, OpenLink RDF Brower, Disco [6,8]. 4. Ví dụ minh họa 4.1. Bài toán Dữ liệu cá nhân của tác giả được thiết kế và lưu trữ ở dạng tệp foaf.rdf, sau đó được xuất bản lên web tại host Trong hồ sơ này, tác giả liên kết đến một số hồ sơ hay tài nguyên của người khác đã biết và sẵn có trên Web. Sau khi xuất bản lên Web, duyệt dữ liệu với trình duyệt hỗ trợ Linked Data. Từ đó, khám phá thêm các thông tin hữu ích từ các liên kết sẵn có trong tài liệu. Các móc xích liên kết sẽ dẫn người dùng đi sâu vào các thông tin liên quan. 4.2. Triển khai ứng dụng 4.2.1. Tạo và xuất bản hồ sơ FOAF cá nhân Hồ sơ cá nhân của tác giả được tạo ra, lưu thành tệp foaf.rdf và tải lên một máy chủ web miễn phí trên mạng, địa chỉ: 4.2.2. Kiểm tra tính hợp lệ của dữ liệu Dữ liệu RDF trên được kiểm tra tính hợp lệ tại địa chỉ 4.2.3. Duyệt và khám phá liên kết Trình duyệt Linked Data duyệt hồ sơ FOAF của Lê Thị Thanh Tâm: 188 Liên kết đến hồ sơ Tim Berners-Lee. 189 Liên kết, khám phá các tài nguyên khác: Liên kết đến CSDL lưu trữ các bài báo của thầy Hoàng Hữu Hạnh và các thông tin hữu ích khác cũng hiển thị. Và nhiều thông tin khác hữu ích theo các liên kết RDF cũng được khám phá. 190 4.2.4. Tìm kiếm Dùng Marbles để tìm kiếm URI của Lê Thị Thanh Tâm: Xem một kết quả được tìm thấy: 191 5. Kết luận Tim Berners-Lee đã từng nói: “Chúng ta cần dữ liệu trên Web để làm việc cùng nhau tốt hơn” (We need data on the Web to work better together) [4]. Thế giới mà mọi người đều đưa dữ liệu lên Web và rồi để mọi người có thể sáng tạo trên Web là ý tưởng về Linked Data của ông. Và theo định nghĩa của ông, Linked Data là cách thức để xuất bản và liên kết các dữ liệu có cấu trúc trên Web. “Nếu mọi người đưa dữ liệu lên Web, dữ liệu của chính phủ, của khoa học, của cộng đồng hay bất kỳ thứ gì, sẽ có người khác dùng nó để tạo ra những điều tuyệt diệu bằng cách mà chúng ta có thể không bao giờ tưởng tượng được”. Tim Berners-Lee đã nói trong bài trình bày “Năm dữ liệu mở được đưa ra toàn cầu” (The year open data went worldwide) tại Hội thảo TED (Technology, Entertainment, Design) năm 2010 như vậy [5]. Và ngày hôm nay, ngay bây giờ trên Internet đã có một phong trào về dữ liệu mở đang được diễn ra trên khắp thế giới. Linked Data đã tạo nên một lớp các ứng dụng mới trên Web cũng như tạo ra nhiều cơ hội và thách thức cho các nhà nghiên cứu. Linked Data cũng đang dần trở thành một phương cách để tạo dữ liệu cho Web dựa trên RDF và các công nghệ Web ngữ nghĩa. Bài bài này trình bày các ý tưởng cơ bản cho việc xuất bản dữ liệu Linked Data cho các tài nguyên thông tin cho thế hệ Web mới - Web of Data. TÀI LIỆU THAM KHẢO [1]. Hoàng Hữu Hạnh, Web ngữ nghĩa: Những thách thức và hướng tiếp cận mới, Tạp chí Khoa học, Đại học Huế, Số 48, (2008), 31-40. [2]. Hoàng Nguyễn Tuấn Minh, Tìm hiểu các ngôn ngữ truy vấn trong Web ngữ nghĩa và ứng dụng trong truy xuất thông tin, Luận văn Thạc sĩ, Trường Đại học Khoa học Huế, 2009. [3]. Berners-Lee, T., Linked Data - Design Issues, Retrieved July 23, 2006, [4]. Berners-Lee, T., The next Web of open: Linked Data, Video in TED2009 Conference, 2009. [5]. Berners-Lee, T., The year open data went worldwide, Video in TED2010 Conference, 2010. [6]. Berners-Lee, T., et. al., Tabulator: Exploring and Analyzing Linked Data on the Semantic Web, Procedings of the 3rd International Semantic Web User Interaction Workshop (SWUI06), 2006. [7]. Berrueta, D., Phipps, J., Best Practice Recipes for Publishing RDF Vocabularies - W3C Working Group Note, Retrieved June 14, 2009, pub. [8]. Christian Bizer, R. Cyganiak, and Tom Heath, How to Publish Linked Data on the Web, 192 2007. [9]. Christian Bizer, Tom Heath, Tim Berners-Lee, Linked Data-The Story So Far, Special Issue on Linked Data, International Journal on Semantic Web and Information Systems (IJSWIS), 2009. [10]. Christian Bizer, Tom Heath, Kingsley Idehen, Tim Berners-Lee, Linked Data on the Web (LDOW2008), WWW 2008 / Workshop Summary, 2008. [11]. Christian Bizer, Tom Heath, Tim Berners-Lee, Linked Data: Principles and State of the Art, 17th International World Wide Web Conference W3C Track @ WWW2008, Beijing, China, 2008. [12]. Georgi Kobilarov, Chris Bizer, Sören Auer, Jens Lehmann, Querying Wikipedia like a Database, Freie Universität Berlin, Universität Leipzig, 2009. [13]. Michael Hausenblas, Linked Data Applications, DERI Technical Report 2009-07-26. [14]. Michael Hausenblas, Wolfgang Halb, Interlinking of Resources with Semantics, Institute of Information Systems & Information Management, JOANNEUM RESEARCH, Steyrergasse 17, 8010 Graz, Austria, 2009. [15]. OpenLink Software, Deploying Linked Data, v1.3 (Virtuoso 5.0), 2008. [16]. Paul Miler, Does Linked Data need RDF?, Paul Miler, Cloud of data. 2009. [17]. Tom Heath, An Introduction to Linked Data, Talis Information Ltd, 2009. [18]. W. Halb, Y. Raimond, and M. Hausenblas, Building Linked Data For Both Humans and Machines, WWW 2008 Workshop: Linked Data on the Web (LDOW2008), (Beijing, China), 2008. [19]. Resource Description Framework, Website: . RESEARCH AND DEPLOYMENT LINKED DATA FOR SEMANTIC WEB APPLICATIONS Le Thi Thanh Tam, Hue College of Industry Hoang Huu Hanh, Le Manh Thanh Hue University SUMMARY Semantic Web is used as an important trend of data engineering in order to tackle the traditional Web’s weakness and move towards the furture Web that can satisfy the application revolution. Linked Data is a term refering to a way of publishing and interlinking structured data on the Web using Semantic Web technologies. In other words, Linked Data is simply about using the Web to create typed links between data from different resources. The research question is how to share data on the Web easily as document now. This paper presents some concepts and Linked Data technologies and show how to publish Linked Data which sets up a foundation for Semantic Web applications on the Web.
File đính kèm:
- nghien_cuu_va_trien_khai_linked_data_cho_cac_ung_dung_web_ng.pdf