Đầu tiên các trang web thuộc về một website được tải về, loại bỏ những thẻ không phù hợp và được lưu trữ dưới dạng chuẩn hóa (David, Ling, &Calton, 2001) và mơ tả tóm tắt sử dụng những từ khố ở bước chuẩn bị. Bước biến đổi thực hiện việc tinh chỉnh trang web bằng cách loại bỏ các thành phần lặp và xử lý các đường dẫn.
Tiếp theo mỗi trang web được biểu diễn bằng một vector đại diện thể hiện đặc trưng nội dung của trang web đó, gọi là vector đặc trưng. Các trang web này sau đó được gom cụm dựa trên độ tương đồng giữa các vector đặc trưng của chúng ở bước
đặc trưng cụm của cụm đó thơng qua q trình nhận diện. Ở bước liên kết, mối quan hệ giữa các cụm được gán và tinh chỉnh dựa trên các đường dẫn giữa các trang web trong cụm. Cuối cùng, việc tinh chỉnh ontology được thực hiện bởi một chuyên gia xử lý ontology ở bước tinh chỉnh.
2.7. CÔNG CỤ, MÔI TRƯỜNG, THƯ VIỆN VÀ NGÔN NGỮ
2.7.1 Cơng cụ xây dựng ontology - Protégé
Hiện nay có rất nhiều phần mềm hỗ trợ xây dựng ontology. Một trong những phần mềm được sử dụng nhiều nhất là Protégé-OWL.
2.7.1.1. Đặc điểm của Protégé
Đây là phần mềm miễn phí dùng để tạo ra các mơ hình và các ứng dụng bằng cách sử dụng các ontology. Protégé được phát triển bởi trường Đại học Stanford và Mark Musen. Chức năng nổi bật nhất của phần mềm này là cho phép người dùng sử dụng tạo ra các ontology để phát triển web ngữ nghĩa theo đúng chuẩn của ngơn ngữ W3C OWL.
Protégé có hai phiên bản OWL và API. Phiên bản trước của Protégé-OWL là Protégé-API mà nội dung có nền tảng từ OKBC (Open Knowledge Base Connectivity). OKBC là một ứng dụng lập trình giao tiếp thực hiện truy xuất dữ liệu thơng minh. [5]
Phiên bản Protégé-OWL phát triển dựa trên những gì đã có của phiên bản trước và nó mở rộng hơn rất nhiều so với phiên bản trước đây là chỉ cho phép xây dựng các lớp. Protégé-OWL được phát triển dựa trên hai yêu cầu chính. Đầu tiên là yêu cầu định nghĩa các đối tượng và quan hệ tồn tại giữa chúng. Sau đó là yêu cầu xây dựng các đặc điểm kỹ thuật phục vụ ý tưởng chia sẻ thông tin.
Các đối tượng xây dựng chính của Protégé là :
- Classes – tổ chức các quan hệ tham chiếu và các kiểu thực thi - Axioms – mơ hình câu lệnh đúng
- Instances – các thể hiện, các thành phần của đối tượng - Domain – giới hạn của ontology
- Vocabulary – các lớp và khai báo
2.7.1.2. Protégé sử dụng giao diện đồ họa
Ngay từ phiên bản Protégé API, thì phần mềm Protégé đã khơng chỉ cho phép tạo mơ hình bằng cách thủ cơng (nhập bằng văn bản) mà nó cịn cho phép người sử
dụng giao diện đồ họa để phát triển. Một trong những cơ sở của việc lập trình bằng giao diện đồ họa với Protégé là cơ chế tạo lớp, nó cho phép người lập trình giao tiếp rõ ràng với những sự kiện thay đổi.
2.7.1.3. Protégé phát triển để tích hợp các cơng cụ
Mục đích của Protégé là hỗ trợ người phát triễn tạo ra được các ontology một cách dễ dàng nhất. Ban đầu đó là vấn đề giao diện đồ họa, tiếp nữa đó là những cơng cụ thêm vào để tạo ra các chức năng đặc biệt khác. Protégé cung cấp một số điểm mở rộng nơi các nhà phát triển có thể chủ động thêm các thành phần mà ta thường gọi là plug-ins. Những plug-ins sau thường được các nhà phát triển semantic web sử dụng : Tab widget plug-ins, Slot widget plug-ins, Project plug-in, Resource
action plug-in, Resource display plug-ins, ontology test plug-ins, Result panel plug- ins, Conditions widget extension plug-ins...
2.7.2. Thư viện SemWeb
SemWeb lần đầu tiên được phát hành vào tháng sáu năm 2005 và đã được thử nghiệm gần đây hơn với những bộ lưu trữ hơn một tỉ bộ ba. Các tính năng cốt lõi như đọc ghi dữ liệu XML với bộ ba RDF, liên tục lưu trữ dữ liệu với nền tảng SQL và các truy vấn SPARQL cơ bản đã được kiểm nghiệm nhiều lần. Các chức năng bên ngoài như hoạt động RDFS hoặc hoạt động của backware-chaining đã làm việc nhưng ít được thử nghiệm và khơng hồn chỉnh. Thư viện khơng có cơng cụ đặc biệt đối với OWL schema và nó hoạt động ở mức bộ ba của RDF.
2.7.2.1. Giấy phép
SemWeb được bản quyền hoá theo giấy phép GNU GPL. Tuy nhiên trong thư viện của SemWeb cịn sử dụng một số thư viện bên ngồi như SPARQL nên phải tuân thủ theo giấy phép của những phần này.
2.7.2.2. Đặc điểm của SemWeb
- SemWeb rất dễ triển khai. SemWeb cung cấp mã nguồn mở và thư viện đã được dịch ra DLL. Người dùng có thể hiệu chỉnh mã nguồn để sử dụng.
- RDF / XML : Đọc và viết RDF/XML (bao gồm cả XMP). Máy đọc theo luồng, có nghĩa là tồn bộ tài liệu khơng bao giờ cần phải được nạp vào bộ nhớ. Việc phân tích cú pháp đáp ứng được tất cả các tiêu chuẩn của W3C.
- Bộ ba : Đọc và viết NTriples, Turtle, và hầu hết các ký hiệu bộ ba (trong tất cả các dòng vào khoảng 20.000 bảngiây). Xác Nhận của IRIS và XSD trong việc định dạng kiểu dữ liệu đơn giản trong file đọc (hoặc khi có yêu cầu).
- Dữ liệu được lưu trữ một cách liên tục theo nền tảng của SQL DB như SQL Server, MySQL, SQLite, và PostgreSQL. Việc lưu trữ MySQL có thể đạt mức một tỉ bộ ba.
- Hỗ trợ lưu trữ liên tục như một hoạt động mở rộng để truy vấn với nhiều điều cơng việc cùng một lúc thì sẽ nhanh hơn nhiều so với thực hiện một truy vấn đến từng vấn đề riêng.
- 4-Tuples : Khai báo là bộ bốn, khơng phải ba. Trường meta thứ tư có thể được sử dụng cho mục đích ứng dụng cụ thể, như nguồn gốc lưu trữ, nhóm báo cáo, hoặc lưu trữ các công thức của bộ ba.
- Truy vấn : Mơ hình kế thừa đơn giản, kiểm tra và truy vấn SPARQL ở bất kỳ nguồn dữ liệu nào bằng việc dịch các truy vấn thành SQL khi có yêu cầu. Với một nguồn dữ liệu từ xa thì SPARQL cũng có thể truy vấn thơng qua giao thức của máy chủ ASP.NET SPARQL
- Thêm truy vấn : Truy vấn dữ liệu trên một nguồn riêng nào đó bằng cách chạy bất kỳ truy vấn trên một dữ liệu ban đầu và cho phép thêm những nguồn dữ liệu mới bằng AddSource.
- Khả năng mở rộng : Thực hiện lưu trữ dữ liệu mới liên tục hoặc bằng câu lệnh cũng đơn giản như triển khai thực hiện một giao diện. Ví dụ sau tạo ra một vài câu lệnh RDF và thêm chúng vào bộ nhớ máy tính. Sau đó, nó viết ra câu lệnh theo định dạng XML/RDF đến cửa sổ hiển thị.
using System; using SemWeb;
public class Example {
const string RDF = "http:www.w3.org19990222-rdf-syntax-ns#"; public static void Main() {
MemoryStore store = new MemoryStore();
Entity says = "http:example.orgsays"; Entity wants = "http:example.orgwants"; Entity desire = new BNode();
Entity description = new Entity("http:example.orgdescription"); store.Add(new Statement(computer, says, (Literal)"Hello world!"));
store.Add(new Statement(computer, says, (Literal)"This is my demo Semweb!"));
store.Add(new Statement(computer, wants, desire));
store.Add(new Statement(desire, description, (Literal)"to be human")); store.Add(new Statement(desire, RDF+"type",
(Entity)"http:example.orgDesire"));
using (RdfWriter writer = new RdfXmlWriter(Console.Out)) { writer.Namespaces.AddNamespace("http:example.org", "ex"); writer.Write(store);
} }}
2.7.3 Giao diện lập trình ứng dụng OwlDotNetApi
OwlDotNetApi là một giao diện lập trình ứng dụng với bộ phân tích cú pháp viết bằng C# theo công nghệ .NET dựa trên phân tích cú pháp RDF Drive. Hồn tồn phù hợp với đặc điểm kỹ thuật của W3C.
2.7.3.1. Phiên bản
20.05.2005 – Phiên bản đầu tiên của bộ phân tích cú pháp OWL. 17.06.2005 – Thêm vào một bộ phát sinh ở phần này.
25.03.2006 – Xây dựng trang web để giới thiệu công cụ này.
2.7.3.2. Chức năng
Mục tiêu của OwlDotNetApi là đọc ghi dữ liệu của XML dựa trên đồ thị với các cạnh tương ứng với thuộc tính liên kết và các đỉnh tương ứng với các nút hay còn gọi là các lớp. 51 1 1 22 3 3 Các đỉnh tương ứng với các lớp Các cạnh tương ứng với