Các lớp và thuộc tính trong BKOnto

Một phần của tài liệu trình bày lý thuyết về web có ngữ nghĩa, ontology và các thế hệ phát triển của world wide web (Trang 95 - 132)

4.2.1. Lớp Person

Person là lớp gốc của khối con người, và chứa các thuộc tính mơ tả thơng tin chung về con người. Lớp Person sử dụng lại một số thuộc tính đã định nghĩa trong lớp foaf:Person thuộc từ vựng FOAF [11] nhằm thể hiện một cộng đồng người sử dụng và là cơ sở để xây dựng các tính chất của một mạng xã hội trong cộng đồng. Các thuộc tính trong lớp Person gồm các thuộc tính dữ liệu (datatype property), mơ tả các thông tin cá nhân về cộng đồng người sử dụng như tên (foaf:name), ngày sinh (foaf:birthday), giới tính (foaf:gender), ... và thuộc tính đối tượng foaf:knows. Thuộc tính foaf:knows mơ tả sự quen biết giữa các thành viên trong cộng đồng, có Domain và Rangle là thể hiện của lớp foaf:Person. Các thuộc tính được sử dụng để quản lý cộng đồng người sử dụng và có tính chất mạng xã hội là foaf:mbox, foaf:knows, foaf:weblog, foaf:nick, foaf:phone. Hệ thống quản lý thành viên trong cộng đồng thông qua địa chỉ hộp thư điện tử. Các thuộc tính của lớp được tổng hợp trong bảng 4.3. Ontology cho ứng dụng Mạng xã hội được phát triển từ thuộc tính foaf:knows và thừa kế tất cả các thuộc tính của lớp Person.

Thuộc tính Mơ tả Kiểu giá trị (range) Tập hợp

foaf:name tên của thành viên String 1..1

foaf:gender giới tính String 1..1

foaf:mbox địa chỉ thư điện tử URL 1..1

foaf:nick nickname URL 0..n

foaf:weblog địa chỉ blog URL 0..n

foaf:title tước vị (giáo sư, ... ) String 0..1

foaf:phone số điện thoại String 0..n

foaf:knows quen biết giữa các thành viên thể hiện của lớp Person 0..n

Bảng 4.3: Các thuộc tính trong lớp Person

Lớp Documentation sử dụng các thuộc tính đã định nghĩa trong chuẩn Dublin Core để mô tả tài nguyên giáo dục gồm các thuộc tính datatype như mơ tả (dc:description), khuôn dạng vật lý (dc:format), ... (xem bảng 4.4) và hai thuộc tính đối tượng là dc :contributor và dc :subject. Ngồi ra lớp này cịn một thuộc tính quan trọng khác là rdf :type. Có thể mở rộng lớp Documentation bằng cách tạo ra các lớp con khác. Ví dụ để mơ tả tài ngun dành cho chức năng tư vấn giáo dục, có thể thêm lớp con FAQ. Một số thuộc tính quan trọng được mơ tả chi tiết dưới đây.

Thuộc tính dc:contributor có Domain là lớp Documentation và Range là lớp foaf: Person, mơ tả phát biểu thành viên trong cộng đồng đóng góp tài liệu. Ví dụ, cuốn sách “Lập trình C++” được thành viên có giá trị thuộc tính foaf: name là Trần Văn A đóng góp. Giá trị cardinality của thuộc tính là 0..n cho thấy một thành viên có thể đóng góp nhiều tài liệu hoặc khơng đóng góp.

Thuộc tính dc:subject có Domain là lớp Documentation và Range là lớp TopicCls, mô tả phát biểu: tài liệu thuộc lớp Documentation có chủ đề lĩnh vực cụ thể thuộc siêu lớp TopicCls. Sở dĩ giá trị Range của thuộc tính là siêu lớp TopicCls vì giá trị của thuộc tính được khai thác khơng chỉ là thể hiện của các lớp thuộc lớp Topic mà cịn chính các lớp đó. Đây là một đặc điểm rất quan trọng trong ngôn ngữ OWL Full: thể hiện của lớp được xem là một kiểu lớp đặc biệt. Do đó nếu Range của thuộc tính là TopicCls thì ta khai thác được chủ đề là thể hiện của các lớp trong Topic và chính các lớp đó. Ví dụ : Oracle, MySQL là các thể hiện của lớp Database là lớp con của lớp Topic. Nếu Range của thuộc tính là lớp Topic thì giá trị của thuộc tính chỉ là các thể hiện của lớp Database là Oracle, MySQL, ... chứ khơng sử dụng được chính lớp Database, trong khi đó lớp này hồn tồn có thể được sử dụng làm một chủ đề. Giá trị cardinality của thuộc tính là 1..1, nghĩa là một thuộc tính chỉ thuộc trực tiếp một chủ đề.

Thuộc tính rdf:type đã được định nghĩa trong RDF, chỉ ra tài nguyên là thể hiện của lớp con nào thuộc lớp Documentation. Các lớp được mở rộng từ lớp gốc Documentation nhằm mục đích mơ tả ngữ cảnh sử dụng của tài nguyên. Như vậy, rdf:type được sử dụng để phân loại tài nguyên theo mục đích sử dụng. Ví dụ, có thể sử dụng rdf:type để phân loại cuốn sách “Lập trình C++” thuộc về lớp Book.

Thuộc tính Mơ tả Kiểu giá trị (range)

Tập hợp

dc:description mơ tả, tóm tắt nội dung tài liệu xsd:string 1..1 dc:format định dạng vật lý (pdf, chm, ...) xsd:string 1..1 dc:publisher tên cơ quan, tổ chức chịu trách nhiệm

xuất bản tài liệu xsd:string 1..1

dc:creator tên tác giả xsd:string 1..n

dc:title tiêu đề của tài liệu xsd:string 1..1

dc:date ngày tháng tạo lập, xuất bản hoặc công

bố tài liệu xsd:datetime 1..1

dc:language ngôn ngữ sử dụng trong tài liệu xsd:string 1..1 dc:identifier

định danh tài liệu, nhằm thể hiện tính đơn nhất của tài liệu (ví dụ, số ISBN của sách, ...)

xsd:string 0..1

dc:contributor người đóng góp tài liệu cho cộng đồng thể hiện của lớp

Person 0..n

dc:subject chủ đề của tài liệu thể hiện của lớp

TopicCls 1..1

dc:source đường dẫn tới tài liệu URL 1..n

rdf:type xác định lớp mô tả phân loại tài liệu (ví dụ : tài liệu thuộc về lớp Book, ...)

Lớp con của lớp

Documentation 1..1

Bảng 4.4: Các thuộc tính trong lớp Documentation

4.2.3. Lớp Topic

Lớp Topic (Domain Ontology) mô tả các lĩnh vực tri thức. Các lớp con mở rộng từ lớp Topic và thể hiện của các lớp đó được tham chiếu từ các lớp People và Material để diễn giải siêu dữ liệu cho tài liệu học tập và thành viên trong cộng đồng người sử dụng. Các thuộc tính trong lớp Topic được mơ tả như sau (bảng 4.5):

 name: thuộc tính có giá trị kiểu chuỗi, ghi tên đầy đủ của chủ đề. Giá trị của thuộc tính được sử dụng khi hiển thị cây phân cấp các chủ đề trong miền lĩnh vực, phục vụ chức năng tìm kiếm tài liệu theo chủ đề.

 description: thuộc tính có giá trị kiểu chuỗi, mô tả ngắn gọn nội dung chủ đề. Đối với các chủ đề trong lĩnh vực có mối quan hệ, có thể sử dụng thuộc tính rdfs:seeAlso để mơ tả mối quan hệ này. Rdfs:seeAlso có Domain và Range trỏ vào các lớp trong lĩnh vực. Ví dụ, chủ đề ‘Oracle Database Management’ có liên quan đến chủ đề

‘Query Programming Language’, do Hệ quản trị cơ sở dữ liệu Oracle có sử dụng ngơn ngữ lập trình PL/SQL, và ngơn ngữ này thuộc loại ngơn ngữ lập trình truy vấn. Thuộc tính rdfs :seeAlso cịn có tác dụng hỗ trợ tìm kiếm tài liệu. Khi duyệt danh sách các tài liệu được tìm kiếm theo một chủ đề nào đó thì người sử dụng cũng có thể tham chiếu đến danh sách tài liệu có chủ đề nội dung liên quan đến chủ đề đang được lựa chọn.

Thuộc tính Mơ tả Kiểu giá trị (range) Tập hợp

description mơ tả, tóm tắt nội dung chủ đề xsd:string 1..1

name tên đầy đủ của chủ đề xsd:string 1..1

Bảng 4.5: Các thuộc tính trong lớp Topic

4.3. Các ontology cho ứng dụng chia sẻ tài liệu học tập

4.3.1. Xây dựng ontology cho ứng dụng chia sẻ tài liệu học tập

Để chứng tỏ tính khả thi của mơ hình biểu diễn ontology, luận văn sẽ trình bày việc xây dựng ontology cho phân hệ chia sẻ tài liệu học tập của cổng thông tin BKEduPortal. Ứng dụng này tập trung vào việc quản lý tài liệu học tập do người sử dụng tự chia sẻ trong một cộng đồng cụ thể. Các chức năng của phân hệ đã được trình bày chi tiết trong phần Kiến trúc cổng thông tin (mục 3.2). Phần này tập trung vào việc xây dựng và áp dụng ontology cho phân hệ. Đối với việc mơ hình hóa một thư viện điện tử, cần biểu diễn các khái niệm về:

 Lĩnh vực của tài liệu điện tử: Gồm tri thức chứa trong nội dung tài liệu thuộc về nhiều chuyên ngành, lĩnh vực khác nhau như Y học, Văn học, Công nghệ thông tin, … cùng các mối liên quan giữa các chủ đề trong từng lĩnh vực.

 Thể loại tài liệu: Phân loại tài liệu theo ngữ cảnh sử dụng như sách, báo, bài giảng, …

 Các mô tả phụ thêm cho tài liệu: Là các mô tả cơ bản của mỗi tài liệu như tiêu đề, ngôn ngữ, nhà xuất bản, khuôn dạng vật lý của tài liệu, …

 Đối tượng sử dụng: Thông tin mô tả người sử dụng cuối tham gia đóng góp, chia sẻ tài liệu.

Tài liệu học tập và siêu dữ liệu mô tả trong thư viện điện tử được lưu trữ tập trung vào vùng chứa tài liệu vật lý và kho chứa siêu dữ liệu. Dựa trên các tri thức trên, hai loại ontology ở mức ứng dụng cần được phát triển dùng để: (i) mô tả các chủ đề học tập trong một lĩnh vực; và (ii) tạo lược đồ mô tả các khái niệm dùng trong ứng dụng quản lý tài liệu học tập. Mặc dù chủ đề các lĩnh vực để mô tả tài liệu không bị hạn chế, luận văn chỉ minh

họa bằng một ví dụ về các chủ đề trong lĩnh vực Công nghệ Thông tin và Truyền thông (ICT). Các ontology được xây dựng là ontology ứng dụng BKShare và ontology lĩnh vực BKICT, được phát triển từ 3 khối trong ontology tổng quát BKOnto. Các namespace được sử dụng trong phân hệ chia sẻ tài liệu học tập được liệt kê trong bảng 4.6:

prefix URI BKEdu http://www.hut.edu.vn/BKOnto BKShare http://www.hut.edu.vn/BKDoc BKICT http://www.hut.edu.vn/BKICT foaf http://xmlns.com/foaf/0.1 dc http://purl.org/dc/elements/1.1/

Bảng 4.6: Các namespace trong phân hệ chia sẻ tài liệu học tập

4.3.2. Ontology ứng dụng – BKDoc

Ontology ứng dụng BKDoc chứa các tri thức và khái niệm cần thiết mô tả những đối tượng, tài nguyên cần thiết phát triển từ hai khối Tài nguyên và Con người cho ứng dụng đóng góp, chia sẻ tài liệu học tập. Để mô tả cộng đồng người sử dụng, BKDoc thừa kế lớp Person từ ontology tổng quát. Để mô tả tài nguyên học tập, chúng tôi tự xây dựng các lớp dựa trên lớp gốc Documentation trong ontology tổng quát. Lớp thừa kế trực tiếp từ lớp gốc là LO (Learning Object).

4.3.2.1. Lớp LO (Learning Object)

Lớp LO được phát triển từ lớp Documentation, có mục đích mơ tả và phân loại tài liệu học tập theo ngữ cảnh sử dụng trong cộng đồng giáo dục (hình 4.4). Lớp LO thừa kế các thuộc tính trong từ vựng Dublin Core của lớp Documentation để mơ tả tính chất của tài liệu học tập.

Hình 4.4: Các lớp trong BKDoc

Các lớp con của lớp LO có mục đích phân loại tài liệu học tập theo ngữ cảnh sử dụng. Tài liệu được phân loại bởi thuộc tính rdf:type. Cụ thể, các lớp con đó là:

•Articles: loại tài liệu là các bài báo gồm bài viết đăng trên các tạp chí, bài báo cáo được trình bày trong các hội nghị, ... Ví dụ các bài báo về CNTT trong ACM Portal, ...

•Book: loại tài liệu là sách điện tử, được in ấn và phát hành từ các nhà xuất bản (gồm nhiều loại như sách điện tử, sách in được qt vào máy tính, ...).

•Lecture: loại tài liệu là bài giảng trong các trường đại học và trong các khóa đào tạo.

•Thesis: loại tài liệu chứa nội dung luận văn cao học, tiến sĩ, ...

•Tutorial: loại tài liệu là hướng dẫn học tập, hướng dẫn sử dụng sử dụng.

•ECourse: là loại tài liệu đặc biệt, mơ tả thơng tin về các khóa đào tạo trực tuyến. •Assessment:loại tài liệu chứa nội dung đánh giá khả năng học tập của sinh viên như bài thi, kiểm tra, ...

Trong q trình đóng góp tài liệu, người sử dụng nhập các thông tin cơ bản mô tả tài liệu như tiêu đề, mô tả nội dung, ngôn ngữ, nhà xuất bản, tác giả, … và thuộc tính đặc biệt như phân loại tài liệu theo chủ đề nội dung (dc:subject), xác định người sử dụng đóng góp tài liệu (dc:contributor) và phân loại tài liệu theo ngữ cảnh sử dụng bằng cách lựa chọn trong danh sách các thể loại tài liệu. Đối với thuộc tính dc:contributor, có thể xác định được ngay người đóng góp. Cịn đối với thuộc tính

dc:subject thì phức tạp hơn, người sử dụng phải xác định lĩnh vực chủ đề của tài liệu bằng cách chọn một chủ đề trong lược đồ phân cấp các ontology lĩnh vực. Hệ thống sẽ cung cấp giao diện hiển thị lược đồ phân cấp lớp trong ontology BKICT để người dùng lựa chọn.

Có thể sử dụng thuộc tính rdf:type để phân loại tài liệu học tập theo ngữ cảnh sử dụng. rdf:type có domain là lớp LO và range là các lớp con trực tiếp của lớp đó. Ví dụ, để phân loại tài liệu là Book, domain của rdf:type trỏ vào lớp LO, và range trỏ vào lớp Book.

Các thông tin được nhập vào từ người sử dụng sẽ được lưu thành siêu dữ liệu mô tả tài liệu. Ở đây siêu dữ liệu chính là thể hiện của lớp LO và được lưu vào kho chứa siêu dữ liệu sau tiến trình đóng góp tài liệu. Chúng tơi sử dụng các phát biểu bộ ba RDF gồm (resource, property, value) để lưu nội dung siêu dữ liệu.

4.3.2.2. Lớp Person

Ontology ứng dụng BKDoc thừa kế và sử dụng hoàn toàn lớp Person từ Ontology tổng quát BKOnto, và giữ ngun các thuộc tính trong lớp đó. Như đã mơ tả trong ontology tổng quát, lớp Person khai thác từ vựng FOAF để mô tả cộng đồng người sử dụng cuối.

4.3.3. Ontology lĩnh vực BKICT

Kiến trúc ontology cho phép mở rộng bất cứ chủ đề lĩnh vực nào, và việc mở rộng chủ đề tùy thuộc vào nhu cầu ứng dụng. Luận văn chỉ trình bày minh họa một lĩnh vực chủ đề ứng dụng là Công nghệ thông tin và truyền thông (ICT). Lĩnh vực chủ đề về CNTT và truyền thông (ICT) được xây dựng dựa trên hệ thống phân loại ACM(ACM Computer Classification System) của trang web điện tử ACM [25]. Hệ thống phân loại ACM được ứng dụng từ năm 1998, dùng để phân loại các bài báo về lĩnh vực khoa học máy tính. Nền tảng hệ thống gồm 11 thành phần, và mỗi thành phần được phân cấp thành 4 mức và tổng cộng có khoảng 1600 chủ đề. Mỗi chủ đề được đánh chỉ mục duy nhất theo phân cấp, ví dụ chỉ mục B.1.1.2 ứng với chủ đề ‘Microprogrammed logic array’, có thể truy cập theo đường dẫn : Hardware (B)/Control Structures and MicroProgramming(B.1)/Control Design Styles (B.1.1). Hệ thống phân cấp này rất thích hợp cho việc xây dựng ontology vì nó bao trùm tồn bộ lĩnh vực khoa học máy tính. Lĩnh vực chủ đề ICT trong BKOnto sử dụng 3 mức trong hệ thống phân loại

ACM (hình 4.5) và sử dụng thuộc tính rdfs:seeAlso để liên hệ các lớp, thể hiện.

Hình 4.5: Phân cấp lĩnh vực ICT dựa trên ACM

4.3.4. Một kịch bản ứng dụng tìm kiếm tài liệu học tập

Để chứng tỏ tính khả thi của kiến trúc và mơ hình ontology đã xây dựng cho BKEduPortal, luận văn đưa ra một kịch bản tìm kiếm tài liệu học tập thuộc phân hệ ứng dụng Chia sẻ tài liệu học tập. Trong hệ thống BKEduPortal, toàn bộ các ontology được lưu trữ và quản lý bởi Jena. Sử dụng bộ công cụ này, dữ liệu của ontology khi lưu trữ sẽ được quy về các bộ ba của RDF. Khi truy vấn mô tơ suy diễn của Jena sẽ hỗ trợ tìm ra các kết quả (dưới dạng các bộ ba) phù hợp với mô tả tri thức ngầm định của ontology. Ví dụ khi người sử dụng đóng góp, chia sẻ một tài liệu vào hệ thống thì một tập các bộ ba như sau có thể được tạo ra để mơ tả một quyển sách có chủ đề về CSDL (bảng 4.7).

Subject Predicate Object

bkdoc:Book_01 rdf:type http://www.hut.edu.vn/bkdoc/ Book

bkdoc:Book_01 dc:title Oracle Database Management Systems bkdoc:Book_01 dc:description The best book about Oracle

bkdoc:Book_01 dc:creator Grigoris Antoniou bkdoc:Book_01 dc:language English

bkdoc:Book_01 dc:identifier 012-345-06 bkdoc:Book_01 dc:format pdf

bkdoc:Book_01 dc:publisher O’Relly bkdoc:Book_01 dc:date 12/12/2004

bkdoc:Book_01 dc:contributor http://www.hut.edu.vn/bkdoc/People_01

Bảng 4.7: Các bộ ba mô tả tài liệu học tập

Các bộ ba trong bảng trên hình thành một file siêu dữ liệu của tài liệu. Siêu dữ liệu đóng vai trị hỗ trợ tìm kiếm tài liệu. Ví dụ, muốn tìm kiếm các tài liệu có tác giả là “Grigoris Antoniou”, thay vì phải tìm kiếm tên tác giả trong tồn văn tài liệu, chỉ cần tìm trong siêu dữ liệu bộ ba với predicate là dc:creator như trong bảng. File siêu dữ liệu RDF mô tả tài liệu trong bảng có nội dung như sau:

<rdf:RDF

xmlns:rdfs = “http://www.w3.org/2000/01/rdf-schema#” xmlns:dc = “http://purl.org/dc/elements/1.1#”

<rdf:Description about = “http://www.kbs.uni-hannover.de/Database.pdf”> <dc:title> Oracle Database Management Systems </dc:title>

<dc:description> The best book about Oracle </dc:description> <dc:creator> Grigoris Antoniou </dc:creator>

<dc:language> English </dc:language> <dc:identifier> 012-345-06 </dc:identifier>

Một phần của tài liệu trình bày lý thuyết về web có ngữ nghĩa, ontology và các thế hệ phát triển của world wide web (Trang 95 - 132)