Tìm kiếm nâng cao

Một phần của tài liệu 28063_1712202001934183LVPhamHuuThang (Trang 70)

8. Bố cục của luận văn

2.7.4.Tìm kiếm nâng cao

Tang ung dung

Nghiencuuvien Tang ung dung Tang Web Ngu nghia

1: Nhap tu khoa

Nghiencuuvien Tang web ngu nghia

2: Query SPARQL

4: Thong bao ket qua

3: Thong bao ket qua

Hình 2.17. Biểu đồ tuần tự tìm kiếm nâng cao

Chức năng tìm kiếm nâng cao này dành cho người dùng gồm: cán bộ quản lý, nghiên cứu viên, quản trị hệ thống và người dùng khách.

Người dùng truy cập vào hệ thống thông tin, sau đó đưa yêu cần tìm kiếm, hệ thống sẽ phân tích yêu cầu của người dùng. Hệ thống sẽ động gửi câu truy vấn SPARQL xuống tầng web ngữ nghĩa. Tầng web ngữ nghĩa sẽ dùng câu truy vấn này để tìm các kết quả tương ứng trong kho tài nguyên. Kết quả sẽ được trả về cho người dùng thông qua tầng ứng dụng.

2.8. KẾT LUẬN CHƯƠNG 2

Chương này tôi tìm hiểu thực trạng công tác nghiên cứu khoa học của Viện từ đó tiến hành phân tích và thiết kế hệ thống.

CHƯƠNG 3

XÂY DỰNG HỆ THỐNG VÀ THỬ NGHIỆM

Chương này tác giả tập trung vào việc thiết kế và xây dựng ontology cụ thể, xây dựng hệ thống hoàn chỉnh và đánh giá khả năng ứng dụng trong công tác quản lý khoa học tại Viện Nghiên cứu Phát triển Kinh tế - Xã hội Đà Nẵng.

3.1. ONTOLOGY ĐƯỢC XÂY DỰNG

3.1.1. Xây dựng các lớp (Class) và các lớp con (subClass)

a) Sơ đồ Class: Tổng quan

Bảng 3.1. Các lớp và phân cấp

Tên Class Nhãn/Lớp mô tả

Think Lớp gốc

LyLich Lý_Lịch

DeTaiKhoaHoc Đề_Tài_Khoa_Học

NguoiDung Người_Dùng

* Danh sách thuộc tính lớp Lý Lịch (Lớp cha: owl:Thing)

Tên Nhãn Doman Kiểu giá trị OWL type

hoten Họ_tên lylich xsd:string Object Property namsinh Năm_sinh lylich xsd:integer Object Property gioitinh Giới_tính lylich xsd:string Object Property diachi Địa_chỉ lylich xsd:string Object Property dienthoai Điện_thoại lylich xsd:string Object Property email Email lylich xsd:string Object Property thanhpho Thành_phố lylich xsd:string Object Property quoctich Quốc_tịch lylich xsd:string Object Property quocgia Quốc_gia lylich xsd:string Object Property anhdaidien Ảnh_đại_diện lylich xsd:string Object Property

* Danh sách thuộc tính lớp Lý Lịch Khoa Học (Lớp cha: Lý Lịch)

Tên Nhãn Doman Kiểu giá

trị

OWL type

linhvucnghiencuu Lĩnh_vực_nghiên_cứu lylich xsd:string Object Property congtrinhnghiencuu Công_trình_nghiên_cứu lylich xsd:integer Object

Property quatrinhcongtac Quá_trình_công_tác lylich xsd:string Object

Property

ngoaingu Ngoại_ngữ lylich xsd:string Object

Property

donvi Đơn_vị lylich xsd:string Object

Property

chucvu Chức_vụ lylich xsd:string Object

* Danh sách thuộc tính lớp Học Vấn (Lớp cha: Lý lịch khoa học)

Tên Nhãn Doman Kiểu giá trị OWL type

hocham Học_hàm lylich xsd:string Object

Property namphong Năm_phong lylich xsd:integer Object

Property

* Danh sách thuộc tính lớp Đề Tài Khoa Học (Lớp cha: owl:Thing)

Tên Nhãn Doman Kiểu giá trị OWL type

madetai Mã_đề_tài detai xsd:string Object Property tendetai Tên_đề_tài detai xsd:string Object Property linhvuc Lĩnh_vực detai xsd:string Object Property congtrinh Công_trình detai xsd:string Object Property donvithuchien Đơn_vị_thực_hiện detai xsd:string Object Property

loai Loại detai xsd:string Object Property

tacgia Tác_giả detai xsd:string Object Property thanhvien Thành_viên detai xsd:string Object Property ngaybatdau Ngày_bắt_đầu detai xsd:string Object Property ngayhoanthanh Ngày_ hoàn_thành detai xsd:string Object Property tailieuthamkhao Tài_liệu_tham_khảo detai xsd:string Object Property trangthai Trạng_thái detai xsd:string Object Property chatluong Chất_lượng detai xsd:string Object Property filenoidung File_nội_dung detai xsd:string Object Property

d) Class Người dùng

* Danh sách thuộc tính lớp Người dùng

Tên Nhãn Doman Kiểu giá

trị OWL type

hoten Học_hàm nguoidung xsd:string Object Property email Năm_phong nguoidung xsd:string Object Property username Username nguoidung xsd:string Object Property password Password nguoidung xsd:string Object Property quyentrycap Quyền_truy_cập nguoidung xsd:string Object Property

3.1.2. Định nghĩa các thuộc tính

a. Các thuộc tính đối tượng (Object Property) của ontology

Thuộc tính đối tượng liên kết hai thực thể với nhau, chúng có miền (domain) và dãy (range). Trong khuôn khổ luận văn này, ontology được xây dựng có các thuộc tính đối tượng sau.

Hình 3.2. Danh sách các thuộc tính đối tượng

b. Các thuộc tính kiểu dữ liệu (Data type Property) của ontology

Trong khi các thuộc tính đối tượng được dùng để thể hiện mối quan hệ giữa hai lớp, thì các thuộc tính kiểu dữ liệu được dùng để lưu giá trị dữ liệu. Sau đây là các thuộc tính kiểu dữ liệu được sử dụng trong luận văn:

c. Mối quan hệ giữa các lớp và các thuộc tính

Nguoi: mô tả các đối tượng là chủ thể của hành động. Lớp cha: owl:Thing

Bảng 3.2. Danh sách các thuộc tính của lớp nguoi

Tên Nhãn Domain Kiểu giá trị OWL

Type

linhvucnghiencuu Lĩnh_vực_nghiên_cứu nguoi xsd:string Object Property cobangcap Có_bằng _cấp nguoi xsd:string Object

Property donvicongtac Đơn_vị_công tác nguoi xsd:string Object

Property gioitinh Giới_tính nguoi xsd:string Datatype Property namhocham Năm_phong_học_hàm nguoi xsd:interger Datatype Property

hocham Học_hàm nguoi xsd:string Datatype

Property

ten Tên nguoi xsd:string Datatype

Property

ho Họ nguoi xsd:string Datatype

Property tendaydu Họ_tên_đầy_đủ nguoi xsd:string Datatype Property

chucvu Chức_vụ nguoi xsd:string Datatype

Property ngaysinh Ngày_sinh nguoi xsd:dateTime Datatype Property diachilienlac Địa_chỉ_liên_lạc nguoi xsd:string Datatype Property telephone Điện_thọai_liên_lạc nguoi xsd:string Datatype Property email Địa_chỉ_email nguoi xsd:string Datatype Property thanhpho Thành_phố nguoi xsd:string Datatype Property quoctich Quốc_tịch nguoi xsd:string Datatype Property quocgia Quốc_gia nguoi xsd:string Datatype Property

Congtrinh: Mô tả các công trình nghiên cứu khoa học của các nhà nghiên cứu (đề tài, dự án, đề án, báo cáo khoa học, bài báo khoa học). Lớp cha: owl:Thing

Bảng 3.3. Danh sách các thuộc tính của lớp congtrinh

Tên Nhãn Domain Kiểu giá

trị

OWL Type

linhvucnghiencuu Lĩnh_vực_nghiên_cứu congtrinh xsd:string Object Property dongtacgia Đồng_tác_giả congtrinh xsd:string Object

Property congtrinhlienquan Công_trình_liên

_quan

congtrinh xsd:string Object Property

tacgia Tác_giả

_chủ_nhiệm _đề_tài

congtrinh xsd:string Datatype Property

code Mã congtrinh xsd:string Datatype

Property

mota Mô_tả congtrinh xsd:string Datatype

Property tieudetapchi Tiêu_đề_tạp_chí congtrinh xsd:string Datatype Property

nam Năm congtrinh xsd:interger Datatype

Property

Baocao: Mô tả một báo cáo nghiên cứu, là lớp con của lớp congtrinh, ngoài các thuộc tính kế thừa từ lớp congtrinh, nó còn có những thuộc tính sau:

Bảng 3.4. Danh sách các thuộc tính của lớp baocao

Tên Nhãn Domain Kiểu giá trị OWL Type

tieude Tiêu_báo_cáo baocao xsd:string Datatype Property

so Số baocao xsd:string Datatype

Property

tap Tập baocao xsd:string Datatype

Baibao: Mô tả một bài báo khoa học, là lớp con của lớp congtrinh, ngoài các thuộc tính kế thừa từ lớp congtrinh, nó còn có những thuộc tính sau:

Bảng 3.5. Danh sách các thuộc tính của lớp baibao

Tên Nhãn Domain Kiểu giá trị OWL Type

issn Số ISSN baibao xsd:string Datatype

Property

isbn Số ISBN baibao xsd:string Datatype

Property tieude Tiêu_đề_bài_báo baibao xsd:string Datatype Property

so Số baibao xsd:string Datatype

Property

tap Tập baibao xsd:string Datatype

Property

Detai: Mô tả về đề tài hoặc dự án nghiên cứu, là lớp con của lớp congtrinh, ngoài các thuộc tính kế thừa từ lớp congtrinh, nó còn có những thuộc tính sau:

Bảng 3.6. Danh sách các thuộc tính của lớp detai

Tên Nhãn Domain Kiểu giá trị OWL Type

cappheduyet Cấp_phê_duyệt detai xds:string Datatype Property ngaybatdau Ngày_bắt_đầu detai xsd:dateTime Datatype Property ngayketthuc Ngày_kết_thúc detai xsd:dateTime Datatype Property nambatdau Năm_bắt_đầu detai xsd:interger Datatype Property chatluong Chất_lượng detai xsd:interger Datatype Property

Duan: Mô tả về đề tài hoặc dự án nghiên cứu, là lớp con của lớp congtrinh, ngoài các thuộc tính kế thừa từ lớp congtrinh, nó còn có những thuộc tính sau:

Tên Nhãn Domain Kiểu giá trị OWL Type cappheduyet Cấp_phê_duyệt duan xds:string Datatype

Property ngaybatdau Ngày_bắt_đầu duan xsd:dateTime Datatype Property ngayketthuc Ngày_kết_thúc duan xsd:dateTime Datatype Property nambatdau Năm_bắt_đầu duan xsd:interger Datatype Property chatluong Chất_lượng duan xsd:interger Datatype Property

Dean: Mô tả về đề án nghiên cứu, là lớp con của lớp congtrinh, ngoài các thuộc tính kế thừa từ lớp congtrinh, nó còn có những thuộc tính sau:

Bảng 3.8. Danh sách các thuộc tính của lớp dean

Tên Nhãn Domain Kiểu giá trị OWL Type

cappheduyet Cấp_phê_duyệt dean xds:string Datatype Property ngaybatdau Ngày_bắt_đầu dean xsd:dateTime Datatype Property ngayketthuc Ngày_kết_thúc detai xsd:dateTime Datatype Property nambatdau Năm_bắt_đầu detai xsd:interger Datatype Property

Tailieunghiencuu: Mô tả tài liệu nghiên cứu gồm sách nghiên cứu, tài liệu chuyên môn, số liệu nghiên cứu…là lớp con của lớp congtrinh, ngoài các thuộc tính kế thừa từ lớp congtrinh, nó còn có những thuộc tính sau:

Bảng 3.9. Danh sách các thuộc tính của lớp tailieunghiencuu

Tên Nhãn Domain Kiểu giá trị OWL

Type

isbn Số ISBN tailieunghiencuu xds:string Datatype Property nhaxuatban Nhà_xuất_bản tailieunghiencuu donvitochuc Object

Property

Linhvuc: Mô tả các lĩnh vực nghiên cứu. Lớp cha: owl:Thing

Bảng 3.10. Danh sách các thuộc tính của lớp linhvuc

Tên Nhãn Domain Kiểu giá

trị

OWL Type

ten Tên linhvuc xds:string Datatype

Property linhvuccon Lĩnh_vực_con linhvuc xsd:string Object

Property linhvuclienquan Lĩnh_vực_liên_quan linhvuc xsd:string Object

Property

code Mã linhvuc xsd:string Datatype

Property

Bangcap: mô tả đối tượng bằng cấp. Lớp cha: Owl:Thing

Bảng 3.11. Danh sách các thuộc tính của lớp bangcap

Tên Nhãn Domain Kiểu giá trị OWL

Type

linhvucnghiencuu Lĩnh_vực_ nghiên_cứu

bangcap xsd:string Object Property congtrinhlienquan Công_trình_liên

_quan

bangcap xsd:string Object Property capboi Cấp_bởi bangcap xsd:string Object

Property

ten Tên bangcap xsd:string Datatype

Property

nam Năm bangcap xsd:interger Datatype

3.1.3. Danh sách một số các thực thể (Individuals)

Trong phạm vi luận văn này, tác giả đã tạo một số thực thể đặc trưng của các lớp theo các bảng như sau:

Bảng 3.12. Thực thể: “Chatluong”, mô tả về chất lượng công trình nghiên cứu khoa học đạt kết quả

Tên Nhãn Domain Kiểu giá trị OWL Type

chatluong1 Đạt_loại_xuất_sắc chatluong xsd:string Individual chatluong2 Đạt_loại_tốt chatluong xsd:string Individual chatluong3 Đạt_loại_khá chatluong xsd:string Individual chatluong4 Đạt chatluong xsd:string Individual chatluong4 Không_đạt chatluong xsd:string Individual

Bảng 3.13. Thực thể: “Congtrinh”, mô tả tên một số công trình nghiên cứu khoa học đã được nghiệm thu và công bố của Viện

Tên Nhãn Domain Kiểu giá

trị

OWL Type

congtrinh1 Đề tài: Nghiên cứu luận cứ khoa học và kinh tế xã hội làm cơ sở xây dựng đề án phát triển triển đội ngũ trí thức thành phố Đà Nẵng giai đoạn 2011- 2020" congtrinh nghiencuu xsd:string Individual

congtrinh2 Đề tài: "Xây dựng chính sách nhà ở cho hộ thu nhập thấp trên địa bàn thành phố Đà Nẵng" congtrinh nghiencuu xsd:string Individual

congtrinh3 Đề án: Xây dựng bộ tiêu chí Thành phố đáng sống cho thành phố Đà Nẵng đến năm 2020 congtrinh nghiencuu xsd:string Individual

congtrinh4 Báo cáo: "Khảo sát mức độ hài lòng của các tổ chức, cá nhân đối với dịch vụ công trên địa bàn thành phố Đà Nẵng năm 2012"

congtrinh nghiencuu

xsd:string Individual

congtrinh5 Báo cáo "Xây dựng Đà Nẵng trở thành Thành phố đáng sống"

congtrinh nghiencuu

Hình 3.5. Hình minh họa một thực thể được nghiên cứu là về tiêu chí đáng sống tại thành phố Đà Nẵng

Bảng 3.14. Thực thể: “Bangcap”, mô tả về tên một số tính chất chuyên ngành nghề nghiệp theo bằng cấp tốt nghiệp Đại học

Tên Nhãn Domain Kiểu giá trị OWL Type

bangcap1 Kiến_trúc_sư bangcap xsd:string Individual bangcap2 Kỹ_sư bangcap xsd:string Individual

bangcap3 Bác_sỹ bangcap xsd:string Individual

bangcap4 Dược_sỹ bangcap xsd:string Individual bangcap5 Cử_nhân bangcap xsd:string Individual

Hình 3.6. Hình minh họa về một thực thể được quan tâm là đa phần nhân sự đang làm việc tại Viện có bằng đại học là cử nhân

3.1.4. Ontology tổng thể

Hình 3.7. Hình minh họa ontology tổng thể của hệ thống

3.2. LUẬT SUY DIỄN NGỮ NGHĨA

Các luật suy diễn thể hiện các tri thức mang tính phổ quát trên các khái niệm và các loại sự kiện khác nhau. Mỗi luật cho ta một quy tắc suy luận để đi đến một sự kiện mới từ những sự kiện nào đó.

- Suy diễn về loại của lớp (type)

IF (c2, subClassOf, c1) AND (x, type, c2) THEN (x, type, c1)

- Suy diễn về thuộc tính của lớp (Property)

IF (p2, subPropertyOf, p1) AND (x, p2, y)

THEN (x, p1, y)

- Suy diễn về lớp con của lớp (subclassOf)

IF (c2, subClassOf, c1) AND (c3, subClassOf, c2) THEN (c3, subClassOf, c1)

- Suy diễn về thuộc tính con của thuộc tính (subPropertyOf)

IF (p2, subPropertyOf, p1) AND (p3, subPropertyOf, p2) THEN (p3, subPropertyOf, p1) - Suy diễn trong miền (domain)

IF (p1, domain, c1) AND (x, p1, y) THEN (x, type, c1)

- Suy diễn trong dãy giới hạn (range)

IF (p1, range, c1) AND (x, p1, y) THEN (y, type, c1)

Một số luật suy diễn trong chương trình:

- Nếu a là lĩnh vực con của b, b là lĩnh vực con của c thì a là lĩnh vực con của c: (a, linhvuccon, b), (b, linhvuccon, c) -> (a, linhvuccon, c)

- Nếu a là lĩnh vực tương đương với b, b là lĩnh vực tương đương với c, thì a là lĩnh vực tương đương với c:

(a, linhvuctuongduong, b), (b,linhvuctuongduong,c) -> (a, linhvuctuongduong, c) - Nếu a là lĩnh vực con của b thì b là lĩnh vực cha của a:

(a, linhvuccon, b) -> (b, linhvuccha, a). - Lĩnh vực liên quan:

Nếu lĩnh vực a liên quan với lĩnh vực b (a, linhvuclienquan, b) hoặc a là lĩnh vực con của b và không quá 3 cấp (a, linhvuclienquan{0,3}, b) thì lĩnh vực a liên quan đến lĩnh vực b (a, linhvuclienquan, b).

- Chuyên gia trong lĩnh vực:

Nhà khoa học a là chuyên gia trong lĩnh vực b (a, chuyengia, b) nếu a có công trình khoa học có lĩnh vực liên quan với b và a có bằng Thạc sỹ trong lĩnh vực cha của b. như vậy trong tùy điều kiện thực tế, có thay đổi số công trình hoặc yêu cầu bằng cấp thấp hoặc cao hơn.

- Tìm phản biện:

Nhà khoa học a có thể phản biện đề tài b (a, phanbiendetai, b) nếu a là chuyên gia trong lĩnh vực của đề tài b và a không tham gia hay hướng dẫn đề tài b.

3.3. MỘT SỐ CÂU TRUY VẤN SPARQL TRA CỨU THÔNG TIN

Sau đây là một số truy vấn SPARQL liên quan đến việc tra cứu, tìm kiếm thông tin - chức năng quan trọng của hệ thống.

Query 1 được dùng để tìm kiếm lĩnh vực nghiên cứu liên quan đến một lĩnh vực cho trước. Đầu vào là tên của lĩnh vực A. Đầu ra là các lĩnh vực liên quan đến A. Query 1 được dùng trong quá trình thực hiện việc tìm kiếm nhà khoa học hoặc các công trình nghiên cứu thuộc lĩnh vực A.

SELECT ?linhvuc WHERE

{ {

?linhvuc rdf:type ll:linhvuc ; ll: ten ?ten .

} UNION {

?linhvuc rdf:type ll:linhvuc ; ll: linhvuclienquan ?linhvuc. ?linhvuc ll:ten ?ten .

} UNION {

?linhvuc rdf:type ll:linhvuc ; ll:linhvuccon{0,3} ?linhvuc. ?linhvuc ll:ten ?ten;

FILTER(regex(?ten, "từ khóa", "i") }

GROUP BY ?linhvuc

Query 2 là truy vấn tìm kiếm cơ bản, được dùng để tìm kiếm nhà khoa học có tên giống từ khóa.

SELECT ?nguoi {

?class rdfs:subClassOf* ll:nguoi . ?object rdf:type ?class ;

ll:tendaydu ?tendaydu .

FILTER(regex(?tendaydu, "từ khóa", "i")) }

Query 3 là truy vấn tìm kiếm cơ bản, được dùng để tìm kiếm các công trình có tiêu đề, hoặc tên lĩnh vực, hoặc tên lĩnh vực liên quan, hoặc mô tả giống từ khóa.

SELECT * WHERE

{

?class rdfs:subClassOf* ll:congtrinh . ?congtrinh rdf:type ?class ;

ll:tieude ?tieude ; ll:tacgia ?tacgia .

OPTIONAL { ?congtrinh ll:mota ?mota . } {

FILTER (

regex(?tieude, "từ khóa", "i") || regex(?tacgia, "từ khóa", "i") || regex(?mota, "từ khóa", "i") }

} UNION {

?congtrinh ll:linhvucnghiencuu ?linhvuc .

{ /* câu lệnh tìm lĩnh vực nghiên cứu liên quan */ } }

}

Query 4 được dùng để tìm kiếm phản biện. Đầu vào là từ khoá lĩnh vực, tên chủ nhiệm đề tài. Đầu ra là tên và trọng số ưu tiên thể hiện số lượng công trình nghiên cứu liên quan đến lĩnh vực của những người có thể có thể tham gia phản biện đề tài.

SELECT ?nguoi ?ten (count(?congtrinh) as ?total) WHERE

{

?class rdfs:subClassOf* ll:congtrinh . ?congtrinh rdf:type ?class;

ll:linhvucnghiencuu ?linhvuc; ll:thanhvien ?tv.

?tv ll:nguoi ?ng .

?nguoi ll:tendaydu ?ten .

{ /* câu lệnh tìm lĩnh vực nghiên cứu liên quan */ }

FILTER(!regex(?ten, "tên đầy đủ của tác giả", "i")) }

GROUP BY ?nguoi ?ten

ORDER BY DESC(?total)

Ví dụ: Thực hiện việc tìm kiếm các công trình khoa học có tiêu đề liên quan đến "ontology" được lưu hành vào năm "2012".

Query 5

prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> prefix owl: <http://www.w3.org/2002/07/owl#>

prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> prefix

ll:htttp://semanticweb.org/administrator/ontologies/2017/5/quanlykhoahoc#>

SELECT ?congtrinh ?tieude ?nam ?tacgia ?mota

WHERE {

?congtrinhClass rdfs:subClassOf* ll:congtrinh . ?congtrinh rdf:type ?congtrinhClass ; ll:tieude ?tieude ; ll:linhvucnghiencuu ?linhvuc ; ll:year ?year ; ll:tacgia ?tacgia .

OPTIONAL { ?congtrinh ll:mota ?mota . } ?nguoi rdf:type ?class .

?nguoi ll:tendaydu ?tendaydu . FILTER(?year = 2012)

FILTER(regex(?tieude, "ontology", "i")) }

GROUP BY ?congtrinh ?tieude ?year ?tacgia ?mota

3.4. THUẬT TOÁN TÌM KIẾM

3.4.1. Thuật toán tìm kiếm cơ bản

Bước 1: Xác định các miền kết quả tìm kiếm G. Bước 2: Với mỗi miền tìm kiếm.

- Xác định các thuộc tính O liên quan đến miền tìm kiếm. - Xét mỗi đối tượng Ii trong miền tìm kiếm.

+ Với mỗi thuộc tính Oj liên quan

Nếu từ khóa tìm kiếm phù hợp với giá trị của thuộc tính, thì Ii là một kết quả cần tìm kiếm.

Bước 3: Kết quả tìm kiểm là hợp của các kết quả tìm kiếm của các miền G.

3.4.2. Thuật toán tìm kiếm nâng cao

Bước 1: Xác định miền kết quả cần tìm kiếm G Bước 2: Xác định các thuộc tính O cần tìm kiếm Bước 3: Với mỗi thuộc đối tượng Ii trong G - Ứng với mỗi Oj

- Nếu từ khóa tìm kiếm của Oj không phù hợp với giá trị của Oj thì Ii không phải là kết quả tìm kiếm, xét đối tượng Ii+1 tiếp theo

- Mọi Oj đều thõa mãn, Ii là kết quả tìm kiếm Bước 4: Trả kết quả tìm kiếm

3.5. KẾT QUẢ CÀI ĐẶT VÀ THỬ NGHIỆM 3.5.1. Giao diện cài đặt Portal Plone.zope 4.3.1

Một phần của tài liệu 28063_1712202001934183LVPhamHuuThang (Trang 70)