Một phương pháp chuyển đổi tài liệu xml sang tài liệu rdf sử dụng ngôn ngữ xsl
Bạn đang xem tài liệu "Một phương pháp chuyển đổi tài liệu xml sang tài liệu rdf sử dụng ngôn ngữ xsl", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- mot_phuong_phap_chuyen_doi_tai_lieu_xml_sang_tai_lieu_rdf_su.pdf
Nội dung text: Một phương pháp chuyển đổi tài liệu xml sang tài liệu rdf sử dụng ngôn ngữ xsl
- TẠP CHÍ KHOA HỌC VÀ CƠNG NGHỆ, Trường Đại học Khoa học, ĐH Huế Tập 14, Số 1 (2019) MỘT PHƯƠNG PHÁP CHUYỂN ĐỔI TÀI LIỆU XML SANG TÀI LIỆU RDF SỬ DỤNG NGƠN NGỮ XSL Nguyễn Dũng*, Nguyễn Mậu Hân Khoa Cơng nghệ Thơng tin, Trường Đại học Khoa học, ĐH Huế *Email: nguyendung@hueuni.edu.vn Ngày nhận bài: 23/10/2018; ngày hồn thành phản biện: 01/3/2019; ngày duyệt đăng: 10/3/2019 TĨM TẮT Ngày nay, ngơn ngữ đánh dấu mở rộng XML(Extensible Markup Language) đã trở thành một định dạng trao đổi dữ liệu được chấp nhận rộng rãi. Cùng với việc gia tăng lượng Dữ liệu Liên kết (Linked Data), bằng cách sử dụng Khung mơ tả Tài nguyên RDF (Resource Description Framework), thì nhiều cơng cụ nhằm biến đổi một tài liệu XML thành tài liệu RDF đã được phát triển. Trong bài báo này, chúng tơi sử dụng ngơn ngữ định kiểu mở rộng XSL (Extensible Stylesheet Language) để biến đổi tài liệu XML thành tài liệu RDF như là một giải pháp hiệu quả để chuyển dữ liệu hiện cĩ của các hệ thống thành dữ liệu RDF được sử dụng trong các hệ thống web ngữ nghĩa. Từ khĩa: dữ liệu liên kết, rdf, xml, xsl, web ngữ nghĩa. 1. GIỚI THIỆU XML là một bộ qui luật về cách chia một tài liệu ra làm nhiều phần, rồi đánh dấu và ráp các phần khác nhau lại để dễ nhận diện chúng. XML được phát triển bởi W3C (World Wide Web Consortium), một nhĩm cộng tác (working group) do Jonh Bosak ở Sun Microsystem thành lập năm 1996, nhằm khắc phục những hạn chế của HTML (Hyper Text Markup Language, ngơn ngữ đánh dấu siêu văn bản, là cơ sở để mọi trang Web sử dụng để hiển thị nội dung). XML cho phép chia sẻ và sử dụng thơng tin phân tán trên các hệ thống khác nhau và hỗ trợ người dùng thơng qua khả năng tạo nội dung động, phát triển ứng dụng và tích hợp trên nhiều qui mơ khác nhau. XML khá giống HTML, hai ngơn ngữ này cĩ cùng luật cú pháp, cả hai đều được lưu trữ dưới dạng các tập tin văn bản với phần mở rộng html hoặc xml. Tuy nhiên, tính linh hoạt của XML cho phép tạo và sử dụng tập thẻ, thuộc tính riêng để nhận biết các phần tử cấu trúc và nội dung tài liệu. XML khơng chỉ đơn thuần là ngơn ngữ đánh dấu, mà cịn là phương pháp định ra nội dung tài liệu, tương tự như HTML định hình thức tài liệu trên Web. Với HTML, người 13
- Một phương pháp chuyển đổi tài liệu XML sang tài liệu RDFsử dụng ngơn ngữ XSL thiết kế đánh dấu văn bản, hình ảnh cùng các thành phần khác của trang Web bằng tập thẻ mà khơng liên quan gì tới ý nghĩa tài liệu; đoạn mã HTML chỉ nĩi lên cách hiển thị nội dung tài liệu qua trình duyệt. XML khơng chỉ định ra hình thức mà cịn cả nội dung tài liệu. Tĩm lại, XML và HTML đều là các ngơn ngữ đánh dấu nhưng XML được thiết kế để mang và lưu trữ dữ liệu chứ khơng phải để biểu diễn dữ liệu. Cịn HTML được thiết kế để hiển thị dữ liệu, được tập trung vào cách dữ liệu được hiển thị như thế nào. Tuy nhiên, việc sử dụng định dạng XML để trao đổi dữ liệu giữa các hệ thống nĩ mới chỉ phục vụ cho các hệ thống Web 2.0, tức là mối quan hệ ngữ nghĩa giữa các đối tượng chưa được xét đến. Các loại dữ liệu này chỉ dừng lại mức con người cĩ thể hiểu và xử lý. Với mục đích biểu diễn dữ liệu sao cho đồng thời máy tính và con người cùng hiểu và xử lý được thì Web ngữ nghĩa, hay Web 3.0, đã ra đời. Việc trao đổi thơng tin trên Web ngữ nghĩa người ta dùng định dạng RDF. Do đĩ việc chuyển đổi dữ liệu từ hệ thống hiện tại, theo định dạng XML, sang hệ thống Web ngữ nghĩa, theo định dạng RDF, là nhu cầu hết sức bức thiết. 2. KHUNG MƠ TẢ TÀI NGUYÊN WEB RDF Khung mơ tả tài nguyên Web RDF là một nhĩm các đặc tả của tổ chức World Wide Web Consortium (W3C) được thiết kế như là một ngơn ngữ siêu dữ liệu để biểu diễn dữ liệu trên Web, đồng thời cung cấp một mơ hình để mơ tả và tạo các mối quan hệ giữa các tài nguyên. Theo mơ tả trong hình 1 dưới đây, dữ liệu trong Web ngữ nghĩa được tổ chức dựa trên cơ sở XML và được mơ hình hĩa bằng RDF. Như vậy RDF được chọn như là chuẩn trao đổi dữ liệu trong Web ngữ nghĩa. Hình 1. Kiến trúc phân tầng của Web ngữ nghĩa 14
- TẠP CHÍ KHOA HỌC VÀ CƠNG NGHỆ, Trường Đại học Khoa học, ĐH Huế Tập 14, Số 1 (2019) RDF định nghĩa một nguồn tài nguyên (resource), sau này chúng tơi gọi là chủ thể (subject) như là một đối tượng bất kỳ cĩ khả năng xác định duy nhất bằng cách sử dụng một định danh tài nguyên thống nhất URI (Uniform Resource Identifier). Các nguồn tài nguyên cĩ các thuộc tính (property) đi kèm, sau này chúng tơi gọi là các vị từ (predicate). Các vị từ biểu diễn các mối quan hệ giữa các chủ thể và cũng được xác định bởi một URI. Giá trị của các vị từ gọi là đối tượng (object). Như vậy mơ hình dữ liệu của RDF là một tập các bộ ba (triple), sau này chúng tơi gọi là một tập các phát biểu (statement) gồm 3 thành phần: 〈 〉, trong đĩ: - Chủ thể (Resource/Subject): là các tài nguyên được mơ tả. Các tài nguyên này được xác định bởi URI cụ thể. - Vị từ (Property/Predicate): Thuộc tính của các tài nguyên hay chủ thể. Các vị từ này cũng được xác định bởi các URI. - Đối tượng (Object): Giá trị của các vị từ. Cĩ thể là một giá trị (literal) hoặc một chủ thể khác được xác định bởi một URI Các phát biểu trong tài liệu RDF cũng cĩ thể được biểu diễn dưới dạng đồ thị, gọi là đồ thị RDF. Cĩ thể hình dung đồ thị RDF đơn giản như sau: Hình 2. Đồ thị RDF Trong đĩ: Hình oval đại diện cho một chủ thể Mũi tên đại diện cho một vị từ với nhãn là định danh của vị từ Hình chữ nhật đại diện cho giá trị của một vị từ là literal. Nếu giá trị của vị từ là một chủ thể khác thì chúng ta lại sử dụng hình oval như trên. Ngồi cách thể hiện trên, các tài liệu RDF cĩ thể sử dụng các định dạng khác nhau như: N3, N-Triples, Turtle, RDFa, JSON-LD, TriG và RDF/XML nhằm để biểu diễn, trao đổi và liên kết dữ liệu. Trong đĩ định dạng RDF/XML là một định dạng được sử dụng phổ biến được định nghĩa bởi W3C để thể hiện một đồ thị RDF như là một tài liệu XML. Cú pháp của RDF/XML như sau: 15
- Một phương pháp chuyển đổi tài liệu XML sang tài liệu RDFsử dụng ngơn ngữ XSL literal value Trong đĩ, dịng đầu tiên là phần mơ tả tài liệu XML. Theo sau phần mơ tả là thẻ gốc rdf:RDF. Thuộc tính xmlns:rdf chứa khơng gian tên rdf-syntax-ns# là một khơng gian chuẩn của tổ chức W3C. Khơng gian tên này sẽ chỉ cho các bộ máy đọc hiểu rằng, nội dung bên trong là một tài liệu RDF và thẻ rdf:RDF thuộc khơng gian tên này. Trong tài liệu RDF cĩ thể chứa một hoặc nhiều phát biểu. Để mơ tả các chủ đề của phát biểu, chúng ta sử dụng thẻ rdf:Description và thuộc tính rdf:about sẽ chứa định danh URI của chủ đề. Nếu các phát biểu cĩ cùng chủ đề, thì các phát biểu này sử dụng chung một thẻ rdf:Description. Cụ thể, cho một tài liệu RDF/XML như sau: Oxford Oxfordshire Wikipedia 10000 Tài liệu RDF/XML trên là kết quả của đồ thị RDF sau: 16
- TẠP CHÍ KHOA HỌC VÀ CƠNG NGHỆ, Trường Đại học Khoa học, ĐH Huế Tập 14, Số 1 (2019) Hình 3. Một ví dụ về đồ thị RDF. 3. PHƯƠNG PHÁP CHUYỂN ĐỔI Khơng mất tính tổng quát, chúng tơi minh họa phương pháp chuyển đổi bằng tài liệu XML như dưới đây: C LANGUAGE Giada De Laurentiis 2005 30.00 XQuery James McGovern Per Bothner 2003 49.99 17
- Một phương pháp chuyển đổi tài liệu XML sang tài liệu RDFsử dụng ngơn ngữ XSL 3.1. Biến đổi các thuộc tính Các thuộc tính trong các thẻ của tài liệu XML cĩ một sự tương ứng tự nhiên với bộ ba của tài liệu RDF. Trong đĩ, mỗi thuộc tính XML sẽ tương ứng với một thuộc tính trong RDF, thẻ chứa thuộc tính sẽ tương ứng với chủ thể (subject) và giá trị của thuộc tính tương ứng với đối tượng trong RDF. Ví dụ: Xem xét thẻ . Thẻ book này cĩ thuộc tính là category, giá trị thuộc tính là programing. Do đĩ, chúng ta sẽ cĩ được đồ thị RDF như sau: Hình 4. Minh họa chuyển đổi thuộc tính 3.2. Biến đổi các giá trị văn bản trong các thẻ Các giá trị văn bản trong các thẻ XML được biến đổi như là các literal. Các literal này được xem như là đối tượng trong các phát biểu RDF. Lúc này cĩ hai trường hợp xảy ra: Nếu thẻ chứa giá trị văn bản khơng cĩ thuộc tính thì chủ thể của literal này chính là thẻ cha của thẻ chứa giá trị này và vị từ của các literal chính là thẻ chứa giá trị văn bản. Ví dụ: Xem xét thẻ 30.00 . Thẻ này cĩ giá trị là 30.00, khơng cĩ thuộc tính và thẻ cha của nĩ là book. Do đĩ, chúng ta cĩ đồ thị RDF như sau: Hình 5. Minh họa chuyển đổi giá trị văn bản trong thẻ khơng cĩ thuộc tính Nếu thẻ chứa giá trị văn bản nhưng cĩ thuộc tính thì chủ thể của literal này là thẻ chứa giá trị và vị từ của các literal là rdf:value. Vi dụ: Xem xét thẻ C LANGUAGE . Thẻ này cĩ thuộc tính là lang (giá trị là en) và giá trị văn bản của nĩ là C LANGUAGE. Do đĩ, chúng ta cĩ đồ thị RDF như sau: Hình 6. Minh họa chuyển đổi giá trị văn bản trong thẻ cĩ thuộc tính 18
- TẠP CHÍ KHOA HỌC VÀ CƠNG NGHỆ, Trường Đại học Khoa học, ĐH Huế Tập 14, Số 1 (2019) 3.3. Biến đổi các chú thích Các chú thích XML được giữ nguyên trong các bộ ba của RDF. Lúc này trong các phát biểu của RDF, chúng sẽ được biến đổi thành đối tượng, cịn vị từ bổ sung cho nĩ là: xs:comment và chủ thể chính là nút cha chứa chú thích. 3.4. Biến đổi các thẻ XML Đối với các thẻ khơng cĩ thẻ con, tức là thẻ chứa giá trị là literal thì lúc này chúng ta quay lại trường hợp 3.2, tức là biến đổi giá trị văn bản của các thẻ. Đối với các thẻ cĩ danh sách các thẻ con thì lúc này ta xem thẻ là chủ thể và lúc này các thẻ con sẽ được biến đổi theo hình thức đệ quy theo các trường hợp đã nêu ở mục 3.1, 3.2, 3.3 và cả 3.4. 3.5. Sử dụng ngơn ngữ XSL để biến đổi Áp dụng các phương pháp biến đổi trên, chúng tơi sử dụng ngơn ngữ XSL để tiến hành biến đổi tài liệu XML đã cho ở trên như sau: 19
- Một phương pháp chuyển đổi tài liệu XML sang tài liệu RDFsử dụng ngơn ngữ XSL Và cuối cùng chúng ta nhận được tài liệu kết quả RDF/XML sau khi biến đổi tài liệu XML bằng ngơn ngữ XSL: 20
- TẠP CHÍ KHOA HỌC VÀ CƠNG NGHỆ, Trường Đại học Khoa học, ĐH Huế Tập 14, Số 1 (2019) programing C LANGUAGE en 30.00 Giada De Laurentiis web XQuery en 49.99 James McGovern Per Bothner 21
- Một phương pháp chuyển đổi tài liệu XML sang tài liệu RDFsử dụng ngơn ngữ XSL Đồng thời sau khi cĩ kết quả trên, chúng tơi tiến hành kiểm chứng bằng cách sử dụng cơng cụ Validator của tổ chức W3C tại địa chỉ: và nhận được kết quả là hồn tồn chính xác. 4. KẾT LUẬN Trong bài báo này, chúng tơi thực hiện việc chuyển đổi thành cơng dữ liệu trong các tài liệu XML sang tài liệu RDF theo định dạng RDF/XML. Việc làm này sẽ giúp cho việc chuyển đổi mơ hình dữ liệu theo dạng truyền thống sang dạng dữ liệu mà máy tính cĩ thể đọc được một cách nhanh chĩng bằng ngơn ngữ XSL, phục vụ cho tiến trình phát triển của Web ngữ nghĩa. Trong tương lai, chúng tơi sẽ cố gắng phát triển thuật tốn cho phép chuyển đổi một tài liệu XML cĩ cấu trúc bất kỳ sang định dạng RDF một cách tự động hĩa, từ đĩ giảm thiểu thời gian và cơng sức chuyển đổi như hiện nay. TÀI LIỆU THAM KHẢO [1]. [1]. W3C. Extensible Markup Language (XML). Website: [2]. [2]. W3C. Resource Description Framework (RDF). Website: [3]. [3]. Joe Fawcett, Liam R.E. Quin, Danny Ayers (2012), Begin XML, Fifth edtition, John Wiley & Sons, Inc. [4]. [4]. Jyun-Yao Huang, Christoph Lange, Sưren Auer (2015). Streaming Transformation of XML to RDF using XPath-based Mappings, ResearchGate, Website: [5]. [5]. S. Bischof (2012). Mapping between RDF and XML with XSPARQL, Journal on Data Semantics 1.3, pp. 147–185, Website: 22
- TẠP CHÍ KHOA HỌC VÀ CƠNG NGHỆ, Trường Đại học Khoa học, ĐH Huế Tập 14, Số 1 (2019) A METHOD FOR TRANSFORM XML DOCUMENTS TO RDF DOCUMENTS USING LANGUAGE XSL Nguyen Dung*, Nguyen Mau Han Faculty of Information Technology, University of Sciences, Hue University *Email: nguyendung@hueuni.edu.vn ABSTRACT Today, the Extensible Markup Language (XML) has become a widely accepted form of data exchange. In addition to increasing the amount of Linked Data by using the Resource Description Framework (RDF), many tools for transforming an XML document into an RDF one have been developed. In this article, we use Extensible Stylesheet Language (XSL) to transform XML documents into RDF documents as an effective solution to transfer existing data from systems to data RDF that is used in semantic web systems. Keywords: linked data, RDF, semantic web, XML, XML. Nguyễn Dũng sinh ngày 13/06/1988 tại Thừa Thiên Huế. Năm 2010, ơng tốt nghiệp cử nhân ngành Tin học và năm 2013 ơng tốt nghiệp thạc sĩ chuyên ngành Khoa học máy tính tại Trường Đại học Khoa học, ĐH Huế. Hiện nay là giảng viên Khoa Cơng nghệ Thơng tin, Trường Đại học Khoa học, Đại học Huế. Lĩnh vực nghiên cứu: giải thuật di truyền, ứng dụng di động, xml và ứng dụng< Nguyễn Mậu Hân sinh năm 1957 tại Thừa thiên Huế. Năm 1981, ơng tốt nghiệp cử nhân tốn tại trường Đại học Tổng hợp Huế. Năm 1998 nhận bằng thạc sĩ về Khoa học máy tính tại Trường đại học Bách khoa Hà Nội. Năm 2003, nhận bằng tiến sĩ chuyên ngành Khoa học Máy tính tại Viện Cơng nghệ Thơng tin Hà nội. Hiện là Phĩ Giáo sư, Giảng viên cao cấp tại Khoa Cơng nghệ Thơng tin, Trường Đại học Khoa học, Đại học Huế. Lĩnh vực nghiên cứu: Cơng nghệ phần mềm, Cơ sở dữ liệu, Xử lý song song và phân tán, tính tốn lưới. 23
- Một phương pháp chuyển đổi tài liệu XML sang tài liệu RDFsử dụng ngơn ngữ XSL 24