DANH MỤC CHỮ VIẾT TẮT Tên viết tắt Diễn giải tiếng Anh Diễn giải tiếng Việt AL Attributive Language Ngôn ngữ thuộc tính BGP Basic Graph Patterns Các mẫu đồ thị cơ bản DL Description Lo
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC NHA TRANG
PHAN NGỌC BẢO
XÂY DỰNG ỨNG DỤNG QUẢN LÝ CHUỖI CUNG ỨNG
NÔNG SẢN ĐÀ LẠT DỰA TRÊN ONTOLOGY VÀ WEB NGỮ NGHĨA
LUẬN VĂN THẠC SĨ
KHÁNH HÒA - 2020
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC NHA TRANG
PHAN NGỌC BẢO
XÂY DỰNG ỨNG DỤNG QUẢN LÝ CHUỖI CUNG ỨNG
NÔNG SẢN ĐÀ LẠT DỰA TRÊN ONTOLOGY VÀ WEB NGỮ NGHĨA
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan mọi kết quả của đề tài: “Xây dựng ứng dụng quản lý chuỗi
cung ứng nông sản Đà Lạt dựa trên ontology và Web ngữ nghĩa” là công trình
nghiên cứu của cá nhân tôi và chưa từng được công bố trong bất cứ công trình khoa
học nào khác cho tới thời điểm này Kết quả đề tài được thực hiện trên cơ sở nghiên
cứu lý thuyết và sự hướng dẫn khoa học của TS Phạm Thị Thu Thúy
Khánh Hòa, Ngày 16 tháng 03 năm 2020
Tác giả luận văn
Phan Ngọc Bảo
Trang 4LỜI CẢM ƠN
Trong suốt thời gian thực hiện đề tài, tôi đã nhận được sự giúp đỡ của quý phòng ban trường Đại học Nha Trang, quý thầy cô trong Khoa Công nghệ thông tin và Phòng Sau đại học đã tạo điều kiện tốt nhất cho tôi được hoàn thành đề tài Đặc biệt là sự hướng dẫn tận tình của TS Phạm Thị Thu Thúy, cô đã hướng dẫn tận tình dành rất nhiều thời gian, lòng nhiệt huyết và động viên tôi rất nhiều để tôi hoàn thành tốt đề tài Qua đây, tôi xin gửi lời cảm ơn sâu sắc đến sự giúp đỡ này
Mặc dù tôi đã cố gắng hết sức hoàn thiện đề tài, tuy nhiên chắc chắn vẫn còn nhiều thiếu sót do khả năng cùng với kinh nghiệm của bản thân còn hạn chế Tôi rất mong nhận được sự đóng góp quý báu của quý thầy cô và các bạn nhằm giúp tôi bổ sung, hoàn thiện hơn trong quá trình nghiên cứu tiếp theo sau này
Cuối cùng tôi xin gửi lời cảm ơn chân thành đến gia đình và tất cả bạn bè đã giúp
đỡ, động viên tôi trong suốt quá trình học tập và thực hiện đề tài
Tôi xin chân thành cảm ơn!
Tác giả luận văn
Phan Ngọc Bảo
Trang 5MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
MỤC LỤC iii
DANH MỤC CHỮ VIẾT TẮT iv
DANH MỤC HÌNH VẼ v
TRÍCH YẾU LUẬN VĂN vii
LỜI MỞ ĐẦU 1
CHƯƠNG 1: TỔNG QUAN VỀ CÁC VẤN ĐỀ NGHIÊN CỨU 3
1.1 Quản lý chuỗi cung ứng 3
1.2 Các công trình nghiên cứu liên quan 3
1.3 Kết luận 5
CHƯƠNG 2: ONTOLOGY VÀ WEB NGỮ NGHĨA 6
2.1 Giới thiệu 6
2.2 Logic mô tả 6
2.3 Web ngữ nghĩa 7
2.3.1 Kiến trúc của Web ngữ nghĩa 8
2.3.2 Khung mô tả tài nguyên 8
2.3.3 Lược đồ khung mô tả tài nguyên 10
2.3.4 Ngôn ngữ Web bản thể học (OWL) 11
2.3.5 Ngôn ngữ truy vấn RDF 16
2.4 Kết luận 17
CHƯƠNG 3 : PHÂN TÍCH THIẾT KẾ HỆ THỐNG 18
VÀ XÂY DỰNG ONTOLOGY 18
3.1 Phân tích và thiết kế hệ thống quản lý chuỗi cung ứng nông sản 18
3.1.1 Phân tích yêu cầu của hệ thống 18
3.1.2 Mô hình hóa yêu cầu 18
3.2 Xây dựng Ontology về quản lý chuỗi cung ứng nông sản 33
3.3 Kết luận 36
CHƯƠNG 4: XÂY DỰNG VÀ KIỂM THỬ HỆ THỐNG 37
TÀI LIỆU THAM KHẢO 49
Trang 6DANH MỤC CHỮ VIẾT TẮT Tên viết tắt Diễn giải tiếng Anh Diễn giải tiếng Việt
AL Attributive Language Ngôn ngữ thuộc tính
BGP Basic Graph Patterns Các mẫu đồ thị cơ bản
DL Description Logic Logic mô tả
RDF Resource Description
Framework
Khung mô tả tài nguyên
SPARQL SPARQL Protocol and RDF
Query Language
Ngôn ngữ truy vấn RDF
SCM Supply Chain Management Quản lý chuỗi cung ứng OWL Web Ontology Language Ngôn ngữ web Ontology URI Universal Resource Identifier Định danh tài nguyên thống
nhất
Trang 7DANH MỤC HÌNH VẼ
Hình 1.1 Kiến trúc của quản lý chuỗi cung ứng dựa trên Ontology 4
Hình 2.1 Kiến trúc của kiến thức trình diễn dựa trên Description Logic 7
Hình 2.2 Kiến trúc của Web ngữ nghĩa 9
Hình 2.3 RDF code snip 9
Hình 2.4 Một ví dụ về cú pháp theo OWL 13
Hình 2.5 Một ví vụ về cú pháp sameAs 15
Hình 2.6 Một ví dụ của cú pháp All Different 16
Hình 3.1 Biểu đồ người sử dụng 19
Hình 3.2 Chức năng cập nhật thông tin trong Nhà cung cấp 20
Hình 3.3 Chức năng cập nhật loại sản phẩm 21
Hình 3.4 Hình chức năng cập sản phẩm 21
Hình 3.5 Hình chức năng cập nhật nhà cung cấp 22
Hình 3.6 Hình chức năng Cập nhật thông tin trong loại sản phẩm 22
Hình 3.7 Hình chức năng cập nhật trạm 23
Hình 3.8 Hình chức năng tìm kiếm trong hệ thống quản lý chuỗi cung ứng 24
Hình 3.9 Một ví dụ về kết quả tìm kiếm sản phẩm 25
Hình 3.10 Đại lý trong hệ thống quản lý chuỗi cung ứng sản phẩm 25
Hình 3.11 Một ví dụ về thao thác chức năng trong Đại lý trong ứng dụng 26
Hình 3.12 Phân tích mô hình Class phân cấp 26
Hình 3.13 Hình mô tả các Object Properties 27
Hình 3.14 Hình mô tả các thuộc tính Data Properties 28
Hình 3.15 Hình mô tả “is-a” giữa các lớp con với lớp cha 29
Hình 3.16 Hình mô tả “is-a” giữa các lớp con với lớp cha của Cac_hanh_dong, Van_chuyen, Kenh 30
Hình 3.17 Hình mô tả “is-a” giữa các lớp con với lớp cha của Van_chuyen 30
Hình 3.18 Hình mô tả “is-a” giữa các lớp con với lớp cha của Khái niệm nhân tố 31
Hình 3.19 Hình mô tả “is-a” giữa các lớp con với lớp cha của Dai_ly 31
Hình 3.20 Hình phân tích các luật dẫn 32
Hình 3.21 Hình phân tích ontology chuỗi cung ứng nông sản 34
Hình 4.1 Hình kiến trúc tổng thể của hệ thống 37
Hình 4.2 Hình menu chính của hệ thống 38
Hình 4.3 Hình menu Loại sản phẩm 39
Hình 4.4 Hình menu Sản phẩm 39
Trang 8Hình 4.5 Hình menu đại lý 40
Hình 4.6 Hình menu loại đại lý 40
Hình 4.7 Hình menu Đơn hàng nhập 41
Hình 4.8 Hình menu Đơn hàng xuất 41
Hình 4.9 Hình menu Nhà cung cấp 42
Hình 4.10 Hình menu Upload File 42
Hình 4.11 Hình câu lệnh truy vấn và kết quả khi sử dụng máy chủ Jena 43
Hình 4.12 Câu lệnh truy vấn tiếp theo và kết quả 44
khi sử dụng trên máy chủ Jena 44
Hình 4.13 Kết quả khi tìm kiếm theo chủ đề Sản phẩm 44
Hình 4.14 Lựa chọn ngân hàng câu hỏi tìm kiếm 45
Hình 4.15 Kết quả khi tìm kiếm sản phẩm theo tiêu chí trọng lượng 45
Hình 4.16 Kết quả khi tìm kiếm Nhân viên theo trạng thái đơn hàng xuất 46
Hình 4.17 Kết quả khi sắp xếp đơn hàng xuất theo mức chiếu khấu và số lượng giảm dần 46
Hình 4.18 Kết quả hiển thị Subject, Predicate, Object 47
Trang 9TRÍCH YẾU LUẬN VĂN
Luận văn “Xây dựng ứng dụng quản lý chuỗi cung ứng nông sản Đà Lạt dựa
trên ontology và Web ngữ nghĩa” đã nghiên cứu một cách tổng quan về Web ngữ
nghĩa, nghiên cứu Ontology và những lý thuyết có liên quan để xây dựng hệ thống tìm kiếm sản phẩm trong hệ thống quản lý chuỗi cung ứng nông sản Đà Lạt Luận văn đã xây dựng được một Website có tích hợp ontology và Web ngữ nghĩa nhằm tra cứu sản phẩm, tra cứu đại lý, tra cứu nhà cung cấp, tra cứu thông tin sản phẩm trên hệ thống quản lý chuỗi cung ứng
Từ khóa: Web ngữ nghĩa; Ontology; quản lý chuỗi cung ứng nông sản
Trang 10LỜI MỞ ĐẦU
Hiện nay trên địa bàn thành phố Đà Lạt tỉnh Lâm Đồng, các doanh nghiệp sản xuất nông sản vận hành quy trình chuỗi cung ứng chủ yếu dựa trên kinh nghiệm sẵn có của mình, thao tác quản lý vẫn rất thủ công, do vậy việc truy xuất nguồn gốc sản phẩm sau khi sản phẩm được bán ra thị trường hoặc việc tìm kiếm sản phẩm tốn kém rất nhiều thời gian
Xuất phát từ nhu cầu thực tế trên cho nên việc mô hình hóa quy trình Quản lý chuỗi cung ứng theo hệ thống lý luận, sau đó áp dụng Công nghệ Web ngữ nghĩa và Ontology vào việc xây dựng hệ thống là cần thiết
Hơn thế nữa vì có công nghệ Web ngữ nghĩa ra đời nên:
+ Máy tính có thể hiểu được thông tin trên Web: Web ngữ nghĩa định nghĩa các khái niệm và bổ sung quan hệ dưới dạng máy tính có thể hiểu được Do đó, việc tìm kiếm, đánh giá, xử lý, tích hợp thông tin sản phẩm trong nông nghiệp có thể được tiến hành một cách tự động
+ Thông tin được tìm kiếm nhanh chóng và chính xác hơn: Với Web ngữ nghĩa, máy tính có thể xác định một thực thể thuộc lớp hay thuộc tính cụ thể nào dựa trên ngữ cảnh chứa nó Do đó thu hẹp không gian tìm kiếm và cho kết quả nhanh, chính xác hơn
+ Khả năng suy luận thông minh: Dựa vào các luật suy diễn trên cơ sở tri thức về các thực thể, máy tính có khả năng sinh ra những kết luận mới
+ Dữ liệu liên kết động: Thay thế cách liên kết sử dụng hyperlink tĩnh trong Web
cũ, Web ngữ nghĩa liên kết dữ liệu từ nhiều nguồn khác nhau một cách hiệu quả hơn dựa trên định danh của tài nguyên (URI) và quan hệ giữa chúng Cách liên kết này đôi
khi còn được gọi là liên kết bằng siêu dữ liệu (meta data)
Nhận thấy rằng Web ngữ nghĩa có thể giải quyết được các vấn đề trên nên đề tài
“Xây dựng ứng dụng quản lý chuỗi cung ứng nông sản Đà Lạt dựa trên ontology và Web ngữ nghĩa” được triển khai
Mục tiêu nghiên cứu
Trang 11- Hệ thống lý luận của chuỗi cung ứng
- Áp dụng hệ thống lý luận để xây dựng ứng dụng quản lý chuỗi cung ứng cho nông sản Đà Lạt dựa trên Ontology và Web ngữ nghĩa
Đối tượng và phạm vi nghiên cứu
- Công cụ soạn thảo Web ngữ nghĩa: Protégé
- Tạo được ontology về hệ thống quản lý chuỗi cung ứng nông sản trên địa bàn thành phố Đà Lạt
Ý nghĩa khoa học thực tiễn
- Xây dựng được hệ thống quản lý cung ứng nông sản Đà Lạt dựa trên Ontoloy
và Web ngữ nghĩa
Trang 12CHƯƠNG 1: TỔNG QUAN VỀ CÁC VẤN ĐỀ NGHIÊN CỨU
1.1 Quản lý chuỗi cung ứng
Quản lý chuỗi cung ứng (Supply Chain Magement - SCM) là một lĩnh vực rất đa dạng Các hoạt động của quản lý chuỗi cung ứng có thể khác nhau ngay cả giữa những người tham gia vào cùng một chuỗi xử lý Về cơ bản, quản lý chuỗi cung ứng bao gồm các hoạt động liên quan đến dòng chảy và chuyển đổi hàng hóa; từ nguyên liệu đến thành phẩm; và cũng từ khi sản xuất cho đến khi giao hàng cho người dùng cuối SCM cũng có thể được coi là một tập hợp các phương pháp được sử dụng để tích hợp hiệu quả các nhà cung cấp, nhà sản xuất, nhà kho và cửa hàng Vì vậy, hàng hóa được sản xuất và phân phối đúng số lượng, đến đúng địa điểm và đúng thời điểm để giảm thiểu chi phí trên toàn hệ thống trong khi đáp ứng yêu cầu cấp độ dịch vụ
Việc quản lý chuỗi cung ứng có thể xem xét đến chi phí và vai trò liên quan đến việc tạo ra sản phẩm, sau đó giao hàng cho khách hàng
Hơn thế nữa, việc quản lý chuỗi cung ứng có thể xem xét thêm các địa điểm nhà cung cấp, cơ sở sản xuất thông qua các kho và sau đó về việc giao hàng cho các trung tâm phân phối, nhà bán lẻ và cửa hàng
Mục tiêu chung của SCM là hiệu quả và tiết kiệm chi phí trên toàn bộ hệ thống
Nó yêu cầu giảm thiểu tổng chi phí toàn hệ thống bao gồm phân phối hàng tồn kho nguyên liệu, tiến độ hàng hóa, thành phẩm và cuối cùng là vận chuyển
Do đó, sự nhấn mạnh không chỉ đơn giản là giảm thiểu chi phí vận chuyển hoặc giảm hàng tồn kho mà là để giải quyết một cách tiếp cận chính thức cho toàn bộ quản
lý chuỗi cung ứng
1.2 Các công trình nghiên cứu liên quan
a Các công trình nghiên cứu trong nước
Hiện nay, có rất nhiều phần mềm hoặc website về quản trị chuỗi cung ứng sản phẩm ví dụ như Bizapps, sản phẩm của họ tập trung vào quản trị công ty, khảo sát thông tin nhân viên, quản trị sản xuất, quản trị kế toán, quản trị kho hàng Các sản phẩm tương tư như vậy chỉ giải quyết các bài toán quản trị truyền thống
Hơn thế nữa, hiện nay trong nước chưa có hệ thống quản lý chuỗi cung ứng nông sản có kết hợp sử dụng nền tảng của Web ngữ nghĩa
b Các công trình nghiên cứu ngoài nước :
Trang 13Bài báo của 02 tác giả Ureten và Kilter với tựa đề “Supply Chain Management Ontology: Towards on Ontology-Based SCM Model” [16], trong bài báo này tác giả đề cập đến mô hình quản lý chuỗi cung ứng dựa trên bản thể học, dựa trên các mối quan
hệ giữa sản phẩm – trạm – luồng và các hành động Bài báo của tác giả trên làm cơ sở
cho những phát triển liên quan đến phân tích hệ thống quản lý chuỗi cung ứng
Hình 1.1 Kiến trúc của quản lý chuỗi cung ứng dựa trên Ontology
Ngoài ra còn có luận văn “Ontologies and Semantic Web for and evelutive development of logistic applications” của tác giả Heyder Hendi thuộc trường đại học
Thi Qar [08] Trong luận văn này tác giả cũng phân tích kỹ các hoạt động liên quan đến hậu cần, chuỗi cung ứng sản phẩm, việc tối ưu hóa trong hậu cần, và đưa ra một
mô hình khá chuẩn cho các ứng dụng liên quan đến quản lý chuỗi cung ứng
c Các hệ thống tìm kiếm Web ngữ nghĩa:
+ Hệ thống Web Swoogle (search and metadata for the semantic web and indexing and Retrival Engine for the Semantic Web)
Swoogle là kết quả từ một dự án tìm kiếm của nhóm nghiên cứu Ebiquity Đại học Maryland Swoogle là một công cụ tìm kiếm các bản thể luận, tài liệu, thuật ngữ
và dữ liệu được xuất bản trên Web
+ Kho lưu trữ phân phối trực tuyến của SWDS:
Thu thập dữ liệu và khám phá các tài liệu được viết bằng RDF, OWL
Trang 14 Cung cấp dịch vụ cho người dùng thông qua giao diện mạnh hơn và cho các đại lý phần mềm thông qua các dịch vụ web RESTful
Mục tiêu của Swoogle
Ngày càng nhiều SWDS, cả bản thể luận và thể hiện được phân phối vật lý trên tất cả các trang web Cả con người và tác nhân có thể dễ dàng tiến hành tìm kiếm và truy vấn đối với kho lưu trữ này Swoogle có ưu điểm là: tránh được việc tạo bản thể mới, có thể tái sử dụng
Dịch vụ: Tìm kiếm các bản thể luận Semantic Web, tìm kiếm dữ liệu cá thể Web Semantic
Tìm kiếm các thuật ngữ Web ngữ nghĩa, đã được xác định là các lớp và thuộc tính Nó cung cấp siêu dữ liệu của các tài liệu Semantic Web và hỗ trợ duyệt Web Semantic, lưu trữ các phiên bản khác nhau của tài liệu Semantic Web
Người dùng nhập thuật ngữ cụ thể Sau đó Swoogle trả lời với các bản thể luận hiện có cũng sử dụng thuật ngữ đã nhập Theo liên kết và xem liệu bản thể học được cung cấp có đáp ứng nhu cầu hay không
1.3 Kết luận
Như vậy ở chương đầu tiên, tác giả đã thảo luận các vấn đề liên quan đến quản trị chuỗi cung ứng, các công trình nghiên cứu liên quan đến hệ thống quản trị chuỗi cung ứng sản phẩm
Luận văn này đề xuất ứng dụng mới trong việc Quản lý chuỗi cung ứng nông sản dựa vào Ontology và Web ngữ nghĩa
Trang 15CHƯƠNG 2: ONTOLOGY VÀ WEB NGỮ NGHĨA 2.1 Giới thiệu
Ontology (Bản thể học) là đặc tả chính thức của một khái niệm và mối quan hệ của nó giữa các thuật ngữ liên quan khác trong một hệ thống Nó kết nối sự thiếu từ vựng trong các lĩnh vực khác nhau để thiết lập các liên kết chính thức và cho phép chia
sẻ kiến thức
2.2 Logic mô tả
Logic mô tả (DL: Description Logic) là các ngôn ngữ chính thức thường được sử dụng để trình bày kiến thức và lý luận Chúng được chuẩn hóa bởi World Wide Web Consortium (W3C) Chúng bao gồm một họ các ngôn ngữ được sử dụng rộng rãi để xác định các mô hình bản thể học
Các DL đã được sử dụng làm ngôn ngữ mô hình hóa từ giữa những năm 1980 Như tên gọi của nó, Logic mô tả chỉ ra rằng chúng có thể cung cấp ngữ nghĩa dựa trên logic chính thức Đây là một trong những đặc điểm của các ngôn ngữ này
Ngữ nghĩa dựa trên logic chính thức như vậy cho phép con người và các hệ thống
có thể trao đổi kiến thức mà không mơ hồ về ý nghĩa thực sự của nó, đồng thời có thể suy ra thông tin bổ sung từ các sự kiện phụ thuộc nhờ vào suy luận logic trong một bản thể luận
Logic mô tả hỗ trợ các mẫu suy luận trong nhiều ứng dụng của hệ thống thông minh và được con người sử dụng để mô tả các hiểu biết về thế giới thực dưới dạng các khái niệm và thể hiện
Logic mô tả đạt đến đỉnh cao trong việc tiêu chuẩn hóa ngôn ngữ bản thể web OWL bởi World Wide Web Consortium (W3C) và được đưa vào các công cụ để suy luận tự động
Trang 16Hình 2.1 Kiến trúc của kiến thức trình diễn dựa trên Description Logic
Hình 2.1 mô tả kiến trúc của một hệ thống biểu diễn tri thức dựa trên Logic mô
tả Nó cung cấp các phương tiện để thiết lập cơ sở tri thức, để lý giải về nội dung của chúng Cơ sở kiến thức bao gồm ba phần:
Các TBox giới thiệu các thuật ngữ, ví dụ, các khái niệm về một miền ứng dụng, trong khi ABox chứa khẳng định về các cá nhân có tên trong các điều khoản của khái niệm này
Ví dụ, một bản thể luận, mô hình hóa miền của mọi người và các mối quan hệ gia đình của họ có thể sử dụng như sau:
- Các khái niệm, chẳng hạn như Người là Nam hoặc Nữ
- Các cá nhân, chẳng hạn như John là Nam và Juila là Nữ
- Vai trò, chẳng hạn như Hôn nhân để thể hiện mối quan hệ giữa các tập hợp cá nhân tức là, Hôn nhân (John, Juila)
Bản thể học DL không mô tả đầy đủ một tình huống cụ thể Nó bao gồm một tập hợp các câu lệnh gọi là tiên đề, mỗi câu phải đúng trong tình huống được mô tả
2.3 Web ngữ nghĩa
Web ngữ nghĩa có thể được định nghĩa là "phần mở rộng của World Wide Web
sử dụng các công nghệ và tiêu chuẩn mới liên quan đến việc giải thích dữ liệu trao đổi
và cũng tự động suy ra thông tin hữu ích từ những dữ liệu này"
Có một lượng dữ liệu khổng lồ trên web nhưng các máy tính có thể hiểu được hoặc đưa ra bất kỳ quyết định nào với dữ liệu này Web ngữ nghĩa có thể cho phép xử
lý dữ liệu để suy ra ý nghĩa được xác định rõ ràng để giao tiếp tốt hơn giữa máy tính
Trang 17và con người Web ngữ nghĩa làm cho dữ liệu trở thành "Thông minh" Dữ liệu thông minh có nghĩa là thông tin của web trở nên kết nối phong phú đến mức máy tính có thể
dễ dàng suy luận như con người
World Wide Web chứa hàng tỷ trang web được liên kết với nhau thông qua các siêu liên kết Hoạt động hàng ngày của người dùng trên Internet, tìm kiếm các trang web, truy xuất thông tin liên quan đến người dùng trong thời gian ngắn nhất Các công
cụ tìm kiếm dựa trên Web 2.0 có những nhược điểm lớn vì nó thiếu khả năng tương tác giữa các máy và siêu dữ liệu
2.3.1 Kiến trúc của Web ngữ nghĩa
Biểu diễn dữ liệu cốt lõi trong web ngữ nghĩa là Khung mô tả tài nguyên (RDF),
nó dựa trên bộ ba (chủ đề - vị ngữ - đối tượng) và tạo thành một biểu đồ liên quan đến
dữ liệu đã cho ở dạng tương tự
Ngôn ngữ web bản thể học OWL (Web Ontology Language) sử dụng logic mô tả
và cung cấp ngữ nghĩa mạnh SPARQL được sử dụng để thực hiện các truy vấn cho các bản thể luận RDF và OWL
2.3.2 Khung mô tả tài nguyên
RDF là một mô hình dữ liệu dựa trên biểu đồ với các nút và cạnh Nó có liên quan đến các mạng ngữ nghĩa Các câu lệnh RDF có thể bao gồm ba thành phần: Chủ
đề, Vị ngữ và Đối tượng
Trong RDF, tài nguyên có thể là bất cứ thứ gì có thể nhận dạng duy nhất thông qua Mã định danh tài nguyên đồng nhất (URI)
Định danh này là Bộ định vị tài nguyên thống nhất (URL), là trường hợp đặc biệt
của URI Tuy nhiên, URI chung hơn URL Cụ thể, không có yêu cầu rằng URI có thể được sử dụng để định vị tài liệu trên Internet
Trang 18Hình 2.2 Kiến trúc của Web ngữ nghĩa
Câu lệnh vị ngữ xác định loại mối quan hệ, được tổ chức giữa chủ thể và đối tượng Nó có thể được xác định bởi một URI
Tất cả các tài liệu RDF thường có một phần tử gốc, chẳng hạn như rdf: RDF
Việc sử dụng dấu hai chấm trong tên thành phần hoặc thuộc tính cho biết đó là tên đủ điều kiện
Trang 19Tên đủ điều kiện được sử dụng với không gian tên XML để cung cấp các tham
chiếu cho các URI Thuộc tính xmlns:rdf trên dòng thứ hai chỉ định rằng tiền tố "rdf" được sử dụng làm tên viết tắt cho không gian tên "http://www.w3.org/1999/02/22-rdf- syntax-ns"
Thuộc tính xmlns:p định nghĩa p một tiền tố khác có thể được sử dụng để tạo
thành các tên đủ điều kiện
Phần tử rdf:RDF có thể chứa một phần tử phụ rdf:Description được sử dụng để xác định tài nguyên và để mô tả một số thuộc tính của nó Mỗi phần tử rdf:Description
mã hóa một hoặc nhiều câu lệnh RDF Chủ đề của mỗi câu lệnh là tài nguyên được
cung cấp bởi thuộc tính "rdf:about", có URI "http://example.org/ jdoejane" làm giá trị
"http://example.org/jsmithjohn" là đối tượng của câu lệnh Trong trường hợp này, đối
tượng là một URI đầy đủ, nhưng nó có thể cũng là một URI tương đối
Cũng có thể cho các câu lệnh có nghĩa đen là đối tượng Phần tử con thứ hai của
rdf:Description mã hóa một câu lệnh như vậy Tuyên bố tương ứng có vị từ
"http://example.org/pers-schemaname" và đối tượng "Jane Doe" Bằng cách gói văn bản này trong các thẻ bắt đầu và kết thúc <p:name>
Thành phần phụ cuối cùng của rdf:Description là rdf:type Sử dụng khai báo
không gian tên ở đầu tài liệu Chúng tôi có thể xác định rằng điều này đề cập đến loại
vị ngữ "http://www.w3.org/1999/02/22-rdf-syntaxns" Đây là một thuộc tính được định nghĩa trong RDF cho phép một người phân loại tài nguyên Thuộc tính rdf:resource
được sử dụng để chỉ định danh mục; trong trường hợp này
"http://example.org/persschemaPerson" Trong RDF, các loại là tùy chọn và không có
giới hạn đối với số loại mà tài nguyên có thể có
2.3.3 Lược đồ khung mô tả tài nguyên
Trang 20RDF là một mô hình dữ liệu và nó không có khả năng cung cấp ngữ nghĩa quan trọng Tuy nhiên, Lược đồ RDF liên kết một loại ngữ nghĩa với mô hình dữ liệu bằng RDF Lược đồ RDF định nghĩa một số khái niệm như các lớp, thuộc tính và vai trò Vì vậy, định nghĩa trong RDF được gõ bằng phương tiện của các lớp, v.v
Do đó, các từ vựng được cung cấp bởi lược đồ RDF để xác định các lớp và thuộc
tính có thể được bao gồm dưới dạng "rdfs: Class, rdf: property, rdfs: subClassOf, rdfs: subPropertyOf, rdfs: domain, và rdfs: domain " Nó cũng có thể bao gồm các thuộc tính cho tài liệu, bao gồm rdfs:label và rdfs:comment.
2.3.4 Ngôn ngữ Web bản thể học (OWL)
OWL bao gồm ba ngôn ngữ tùy thuộc vào khả năng tăng cường ngữ nghĩa như OWL Lite, OWL DL và OWL đầy đủ (OWL Full)
+ OWL Lite chủ yếu được sử dụng bởi những người dùng cần mô hình đơn giản + OWL DL phù hợp hơn với logic mô tả biểu cảm và nó bao gồm tất cả các tính năng được mô tả trong chương này Cả OWL DL và OWL Lite đều có thể sử dụng mọi tài nguyên cho dù một lớp, thuộc tính đối tượng, thuộc tính kiểu dữ liệu hoặc một thể hiện
+ OWL Full có các tính năng tương tự như OWL DL, nhưng có thể coi một lớp là một thể hiện và không cần phải khai báo rõ ràng loại của từng tài nguyên
Tất cả các ngôn ngữ này cho phép mô tả các lớp, thuộc tính và thể hiện, nhưng các ngôn ngữ yếu hơn có các hạn chế về những gì có thể được nêu hoặc làm thế nào
nó có thể được nêu
OWL chủ yếu liên quan đến các định nghĩa thuật ngữ có thể được sử dụng trong các tài liệu RDF, tức là, các lớp và thuộc tính Hầu hết các ngôn ngữ bản thể học có một số cơ chế để chỉ định phân loại của các lớp Trong OWL, bạn có thể chỉ định các nguyên tắc phân loại cho cả các lớp và thuộc tính
Ví dụ, cú pháp của OWL, như được hiển thị bên dưới trong hình 2.3, coi gốc của
tài liệu OWL là phần tử rdf:RDF Nó cung cấp một số mức độ tương thích giữa hai
tiêu chuẩn
<!DOCTYPE rdf:RDF [
<!ENTITY owl "http://www.w3.org/2002/07/owl">]>
Trang 22</rdf:RDF>
Hình 2.4 Một ví dụ về cú pháp theo OWL
Thẻ gốc rdf: Phần tử RDF chứa các thuộc tính cho từng tiền tố không gian tên được sử dụng trong tài liệu, chẳng hạn như không gian tên của rdf và rdfs
Bằng cách sử dụng chuỗi rỗng làm giá trị cho thuộc tính rdf:about, chúng tôi chỉ
ra rằng URL cơ sở của tài liệu nên được sử dụng làm URI của nó
Các yếu tố OWL phục vụ hai mục đích cơ bản:
1 Xác định tài liệu hiện tại là một bản thể luận
2 Phục vụ như là nơi chứa dữ liệu meta về bản thể luận
Trong ví dụ này, bản thể luận có rdfs:label và rdfs:comment, cả hai đều được
định nghĩa trong Lược đồ RDF Thuộc tính rdfs:nhãn (rdfs:label) cung cấp một tên có thể đọc được cho bản thể luận, trong khi thuộc tính rdfs:comment cung cấp một mô tả
văn bản của bản thể luận Cả hai đều có thể được sử dụng để mô tả bản thể luận trong một thư viện bản thể học
Trong OWL, chúng ta có thể khai báo một tài nguyên là một lớp, bằng cách định
nghĩa rdf:type là Owl:Class Như thể hiện trong hình ở trên, chúng tôi xem xét hai lớp: Người và Con Người
Điều cần thiết là phải nhận ra trong ví dụ rằng rdf:ID được sử dụng để xác định
các lớp Các tên được mở rộng thành một URI đầy đủ bằng cách sử dụng URI cơ sở ontology
Nó được sử dụng cho các lớp tên và cũng cho các thuộc tính, nó được coi là một khía cạnh quan trọng của Semantic Web Ngôn ngữ của con người thường có các thuật ngữ đa nghĩa, nghĩa là các từ có nhiều nghĩa Các ngôn ngữ máy tính cũng có thể biểu thị nhiều hành vi phản ứng với cùng một tên, trong đó khái niệm này được gọi là đa hình
Ý nghĩa của một thuật ngữ phải là một biểu tượng độc đáo Do đó, giải pháp kết hợp vấn đề từ đồng nghĩa, trong đó nói chung các ký hiệu khác nhau có thể được sử dụng với cùng một nghĩa Nếu cùng một tên lớp được sử dụng có nghĩa là cùng một điều trong các bản thể học khác nhau, thì về mặt kỹ thuật các lớp này sẽ có các URI đầy đủ khác nhau
Như được hiển thị, chúng tôi không thể giả sử rằng :Person và my:Person đề cập đến cùng một lớp Tuy nhiên, một khi được phát hiện, các vấn đề như vậy có thể được
Trang 23giải quyết dễ dàng, vì chúng ta có thể sử dụng các tiên đề OWL để liên hệ rõ ràng các lớp như vậy Nếu chúng tôi muốn chỉ định thông tin bổ sung mô tả lớp, thì chúng tôi bao gồm các thuộc tính từ các từ vựng RDFS và / hoặc OWL (được biểu thị bằng các thành phần phụ trong cú pháp XML)
Thuộc tính rdfs: subClassOf có thể được sử dụng để liên kết một lớp với các lớp chung hơn Ta có Con người là một lớp con của Người Một lớp cũng có thể được cho
là có chính xác các thành viên giống như một lớp khác bằng cách sử dụng thuộc tính
Owl:sameAs Điều này thường được sử dụng cho các lớp đồng nghĩa, đặc biệt khi các
lớp bắt nguồn từ các bản thể luận khác nhau, như đã thảo luận trong đoạn trước
Thuộc tính OWL
OWL định nghĩa hai loại thuộc tính
1 Thuộc tính Object xác định mối quan hệ giữa các cặp tài nguyên
2 Thuộc tính kiểu dữ liệu xác định mối quan hệ giữa tài nguyên và giá trị loại dữ liệu
Có một số thuật ngữ OWL và RDF có thể được sử dụng để mô tả các thuộc tính Như
được hiển thị, trong hình 2.4 ở trên, chúng tôi khai báo hasChild và hasDaughter là
thuộc tính đối tượng và cũng khai báo tuổi là thuộc tính kiểu dữ liệu Trong khi các lớp trong RDF và OWL thường được đặt tên bằng chữ in hoa ban đầu và tên thuộc tính thường có chữ cái viết thường ban đầu Tuy nhiên, giống như tên lớp, tên thuộc tính sử dụng chữ hoa hỗn hợp trong tên phức tạp
Nó tương tự như các lớp, chúng ta có thể mô tả các thuộc tính bằng cách bao
gồm các phần tử phụ Có thể sử dụng câu lệnh rdfs:predicate subPropertyOf nói rằng
mọi cặp đối tượng và đối tượng sử dụng thuộc tính chủ thể cũng là một cặp đối tượng / đối tượng hợp lệ sử dụng thuộc tính đối tượng Theo cách này, phân loại tài sản có thể được thiết lập
Như được hiển thị, trong Hình 2.4 ở trên, thuộc tính hasDaughter là một rdfs: subPropertyOf thuộc tính hasChild Sau đó, có thể suy luận rằng nếu Jack có tài sản có con gái Sydney thì Jack hasChild Sydney là đúng owl:equivalentProperty nói rằng
các phần mở rộng thuộc tính của hai thuộc tính là như nhau Do đó, mọi cặp đối tượng
và đối tượng cho một thuộc tính có thể là cặp đối tượng và đối tượng hợp lệ cho thuộc
tính khác Đây là tính chất tương tự của owl:equivalent, và thường được sử dụng để
mô tả các thuộc tính đồng nghĩa
Trang 24Các thuộc tính rdfs:domain và rdfs:range được sử dụng để chỉ định miền và phạm vi của một thuộc tính Các rdfs:domain của một thuộc tính chỉ định rằng chủ thể
của bất kỳ câu lệnh nào sử dụng thuộc tính là một thành viên của lớp mà nó chỉ định
Tương tự, rdfs:range của một thuộc tính xác định rằng đối tượng của bất kỳ câu lệnh
nào sử dụng thuộc tính là một thành viên của lớp hoặc kiểu dữ liệu mà nó chỉ định Ngoài ra, OWL có thể định nghĩa số lượng các hàm tạo xác định ngữ nghĩa cho các thuộc tính sao cho nếu nó được định nghĩa là nghịch đảo của mối quan hệ như
Owl:inverseOf Ví dụ: thuộc tính isParentOf có thể được sử dụng như owl:inverseOf của thuộc tính isChildOf Do đó, nếu A là cha mẹ của B, thì B nhất thiết phải là con
của A Hơn nữa, OWL cũng có thể định nghĩa một số đặc điểm thuộc tính, chẳng hạn
như Owl:TransitiveProperty, Owl:SymmetricProperty, Owl:FunctionalProperty và Owl: InverseFeftalProperty
Như được hiển thị, trong hình 2.4 ở trên, thuộc tính bắc cầu, trong khi isFriendOf
là thuộc tính đối xứng
Các trường hợp OWL
OWL có thể liên kết các thể hiện bằng cách sử dụng thuộc tính Owl:sameAs để nói rằng hai thể hiện này giống hệt nhau Nó rất hữu ích trong các cài đặt phân tán như Web, nơi các thực thể khác nhau có thể sử dụng các mã định danh khác nhau để đề cập đến cùng một thứ
Ví dụ: Nhiều URL có thể đề cập đến cùng một người, như được hiển thị trong hình 2.5 Một người có thể có các URL khác nhau cho các trang web cá nhân và công việc của họ hoặc thậm chí có thể nhiều trang web làm việc khi họ thay đổi công việc
theo thời gian
Hình 2.5 Một ví vụ về cú pháp sameAs
Cũng có thể nói rằng hai trường hợp là những cá thể khác nhau
owl:differentFrom được sử dụng để làm điều này Nó thường được yêu cầu để chỉ ra rằng một tập hợp các cá nhân là cặp đôi khác biệt owl:AllDifferent constructor được
sử dụng cho mục đích này, như thể hiện trong Hình 2.6
<p:Person rdf:about="http://www.cse.lehigh.edu/~heflin/">
<owl:sameAs rdf:resource="http://www.cs.umd.edu/~heflin/" />
</p:Person>
Trang 25Hình 2.6 Một ví dụ của cú pháp All Different 2.3.5 Ngôn ngữ truy vấn RDF
SPARQL (SPARQL Protocol and RDF Query Language) là ngôn ngữ truy vấn được phát triển chủ yếu để thực hiện truy vấn trên biểu đồ RDF SPARQL có thể được
sử dụng để thể hiện các truy vấn trên nhiều dữ liệu khác nhau SPARQL chứa một số khả năng như truy vấn bắt buộc và các mẫu biểu đồ tùy chọn cùng với các liên kết và bất đồng của chúng SPARQL cũng hỗ trợ kiểm tra giá trị mở rộng và ràng buộc các truy vấn bằng biểu đồ RDF nguồn
Kết quả của các truy vấn SPARQL có thể là các tập kết quả hoặc đồ thị RDF Khối xây dựng cho các truy vấn SPARQL là mô hình đồ thị cơ bản (Basic Graph Patterns -BGP)
Một mô hình bộ ba là một bộ ba RDF trong đó không hoặc nhiều biến có thể xuất hiện Các biến được lấy từ biến tập hợp vô hạn, tách rời khỏi các tập đã đề cập ở trên Một giải pháp cho các mẫu SPARQL cho đồ thị RDF nguồn G là ánh xạ từ các biến trong truy vấn sang các thuật ngữ RDF sao cho việc thay thế các biến trong BGP sẽ mang lại một sơ đồ con của G (theo định nghĩa của biểu đồ con phù hợp trong ngữ nghĩa RDF) Các truy vấn SPARQL phức tạp hơn có thể được xây dựng từ BGP bằng
cách sử dụng phép chiếu (toán tử SELECT), nối trái (toán tử OPTIONAL), union (toán
tử UNION) và các ràng buộc (toán tử FILTER) Các ngữ nghĩa cho các hoạt động này
được định nghĩa là các hoạt động đại số trên các giải pháp của BGP
Trang 262.4 Kết luận
Trong chương này, luận văn thảo luận chi tiết về khái niệm bản thể học và công nghệ web ngữ nghĩa Các bản thể luận được định nghĩa và sử dụng để khái niệm hóa từ vựng được chia sẻ của các lĩnh vực khác nhau Nó có thể giúp truy vấn dữ liệu, dựa trên logic mô tả, được viết bằng một số ngôn ngữ chính thức Nó cung cấp phương tiện chính thức để đại diện kiến thức và lý luận
Các kỹ thuật web ngữ nghĩa được sử dụng để phát triển các bản thể luận Các trang web ngữ nghĩa tổ chức thông tin dưới dạng các đơn vị dữ liệu liên kết với nhau,
có thể truy cập thông qua các siêu liên kết Nó giúp xây dựng các trang web động chứa thông tin, kết quả từ các phương pháp tiếp cận dữ liệu thông minh
Các ngôn ngữ khác nhau của web ngữ nghĩa có thể được sử dụng để phát triển và trích xuất kiến thức từ các bản thể luận Khung mô tả tài nguyên nằm ở cốt lõi của công nghệ web ngữ nghĩa
Luận văn sử dụng các ngôn ngữ tiêu chuẩn, như OWL, để xây dựng các kho dữ liệu hợp lệ về mặt cú pháp
Trang 27CHƯƠNG 3 : PHÂN TÍCH THIẾT KẾ HỆ THỐNG
VÀ XÂY DỰNG ONTOLOGY 3.1 Phân tích và thiết kế hệ thống quản lý chuỗi cung ứng nông sản
3.1.1 Phân tích yêu cầu của hệ thống
Yêu cầu chức năng: Xây dựng chương trình quản lý chuỗi cung ứng nông sản Đà Lạt dựa trên ontology và Web ngữ nghĩa
- Cập nhật thông tin liên quan đến chuỗi cung ứng nông sản Đà Lạt
- Hiển thị thông tin liên quan đến quản lý cung ứng nông sản Đà Lạt: thông tin liên quan đến sản phẩm, nhà phân phối, đại lý, loại đại lý, nhân viên, trạm, lưu vết sản phẩm nông sản
- Tìm kiếm các thông tin của sản phẩm trong hệ thống quản lý chuỗi cung ứng
- Cung cấp một giao diện Web đơn giản để người dùng có thể dễ dàng sử dụng
3.1.2 Mô hình hóa yêu cầu
a Xác định các tác nhân
Quản trị hệ thống: Quản trị viên tìm kiếm, kiểm tra thông tin trên hệ thống Sau khi đăng nhập vào hệ thống để xác nhận quyền quản trị, người quản trị sử dụng các chức năng như cấp tài khoản cho người dùng và cập nhật lại các thông tin về tài khoản, cập nhật các thông tin liên quan đến đại lý, loại đại lý, sản phẩm, loại sản phẩm và các nhân tố khác tham gia vào hệ thống quản lý chuỗi cung ứng nông sản Để từ đó cập nhật thông tin trong quản lý chuỗi cung ứng nông sản Đà Lạt
Người dùng nội bộ: Người dùng được quản trị viên cấp tài khoản đăng nhập vào hệ thống Sau khi đăng nhập vào hệ thống của mình, người dùng sử dụng chức năng như đổi mật khẩu, sử dụng các thao tác khác
Người dùng đăng nhập vào Hệ thống quản lý chuỗi cung ứng nông sản để truy vết sản phẩm từ đầu vào đến đầu ra của sản phẩm trên hệ thống quản lý chuỗi cung ứng
Khách: Người sử dụng là khách chỉ có thể vào hệ thống và xem thông tin không được phép cập nhật hay thực hiện các thao tác khác
b Biểu đồ trường hợp sử dụng của hệ thống
Quản trị viên (Administrator)
Trang 28Liệt kê trường hợp sử dụng
+ Đơn hàng nhập, chi tiết đơn hàng nhập
+ Đơn hàng xuất, chi tiết đơn hàng xuất
+ Trạm
+ Lưu vết
Hình 3.1 Biểu đồ người sử dụng
Với biểu đồ trên, ta hiển thị các thông tin như sau:
+ Người sử dụng trong hệ thống đăng nhập vào hệ thống để đổi mật khẩu, xem thông tin và tìm kiếm
+ Trong trường hợp người sử dụng là visistor ta chỉ cho chức năng xem thông tin và tìm kiếm thông tin trong ứng dụng quản lý chuỗi cung ứng nông sản Đà Lạt
Biểu đồ mô tả hoạt động chính của hệ thống:
Trang 29Hình 3.2 Chức năng cập nhật thông tin trong Nhà cung cấp
Đối với chức năng này, sau khi người dùng đăng nhập thành công, hệ thống sẽ cho người dùng cập nhật thông tin nhà cung cấp sản phẩm