5.2Hệ thống luật [tham khảo CDT]
Ta sẽ xây dựng tập luật theo định dạng XML.
Dạng chung của mỗi luật trong hệ thống luật như sau:
“Nếu [điều kiện] thì [hành động]”
Trong đó, vế điều kiện có những đặc điểm sau:
-
Có ràng buộc về tên lớp, giá trị chuỗi ban đầu và kiểu thực thể.
-
Có thể xét nhiều quan hệ đồng thời trong cùng một luật.
Phần hành động có những đặc tính sau:
-
Có thể thay đổi tên lớp, thay đổi định của danh thực thể và xác định loại quan hệ.
-
Xóa thực thể hoặc quan hệ khỏi buffer.
Các phần sau trình bày cấu trúc của tập luật dùng để ánh xạ bộ ba quan hệ thành quan hệ ngữ nghĩa.
5.2.1Cấu trúc của hệ thống luật
Hệ thống luật được định nghĩa trong một tập tin XML, và mô tả theo định dạng DTD (Document Type Definition) như sau:
Thành phần gốc (root element) của tập tin là TransformRules, mỗi TransformRules chứa nhiều thành phần (element) rule.
name CDATA #REQUIRED
priority CDATA #IMPLIED>
|
[hình tham khảo HA]
Trong ví dụ trên, từ khóa ELEMENT được dùng để khai báo cấu trúc của một thành phần; từ khóa ATTLIST được dùng để mô tả các thuộc tính của một thành phần; CDATA mô tả kiểu dữ liệu chuỗi cho thuộc tính; #REQUIRED dùng mô tả tính chất bắt buộc của thuộc tính; #IMPLIED dùng mô tả tính chất không bắt buộc của thuộc tính. DTD dùng các ký hiệu “*”, “+” và “?” dùng để chỉ số lượng của một thành phần con trong thành phần cha của nó. Ý nghĩa của mỗi ký hiệu như sau:
-
Dấu “*”: xuất hiện từ 0 đến n
-
Dấu “+”: xuất hiện từ 1 đến n
-
Dấu “?”: xuất hiện 0 hoặc 1
Theo định nghĩa trên, TransformRules có thể chứa nhiều thành phần rule, mỗi rule chứa hai thành phần là premiselist và consequentlist. Ngoài ra, thành phần rule còn có thuộc tính là name và priority, lần lượt để mô tả tên luật và độ ưu tiên của luật. Cấu trúc các thành phần con trong thành phần rule sẽ được mô tả rõ hơn theo sau đây.
5.2.2Cấu trúc thành phần điều kiện của luật
Như đã được nhắc đến ở đầu chương này, mỗi luật bao gồm hai phần: điều kiện và hành động. Phần điều kiện của luật được mô tả bằng thành phần premiselist, là con của thành phần rule. Mỗi premiselist bao gồm một hay nhiều thành phần premise, hình dưới mô tả cấu trúc của một thành phần premise. Mỗi premise gồm có 3 thành phần con là subject, relation và object tương ứng với một bộ ba mà ta đã thảo luận ở phần trên. Ý nghĩa của các thuộc tính trong các thành phần này được thể hiện trong hình dưới:
var CDATA #REQUIRED
value CDATA #IMPLIED
className CDATA #IMPLIED
classType CDATA #IMPLIED>
var CDATA #REQUIRED
value CDATA #IMPLIED>
var CDATA #REQUIRED
value CDATA #IMPLIED
className CDATA #IMPLIED
classType CDATA #IMPLIED>
|
[hình tham khảo HA]
Tên thuộc tính
|
Đặc tả
|
var
|
Thuộc tính này dùng để đặt tên biến cho các thành phần, nhằm phân biệt các thành phần
|
value
|
Giá trị chuỗi ban đầu của thực thể. Ta có thể liệt kê tập các giá trị trong đó các thành phần cách nhau bằng dấu phẩy.
|
className
|
Thuộc tính ràng buộc tên lớp thực thể
|
classType
|
Thuộc tính dùng để ràng buộc kiểu thực thể như UE, IE
|
5.2.3Cấu trúc thành phần hành động của luật
Nếu một bộ ba nào đó thỏa mãn thành phần điều kiện, thì phần hành động consequent sẽ được áp dụng cho bộ ba đó. Cấu trúc của thành phần hành động được mô tả như dưới.
Các thuộc tính của thành phần hành động cũng giống như phần tử điều kiện đã được mô tả trong bảng ở phần 5.2.2. Ngoài ra, thành phần hành động còn có hai thuộc tính mới là quantifier và delete, thuộc tính quantifier dùng để gán giá trị định danh cho lớp, thuộc tính delete dùng để yêu cầu xóa thành phần đó.
var CDATA #REQUIRED
value CDATA #IMPLIED
className CDATA #IMPLIED
classType CDATA #IMPLIED
quantifier CDATA #IMPLIED
delete CDATA #IMPLIED>
var CDATA #REQUIRED
value CDATA #IMPLIED
delete CDATA #IMPLIED>
var CDATA #REQUIRED
value CDATA #IMPLIED
className CDATA #IMPLIED
classType CDATA #IMPLIED
quantifier CDATA #IMPLIED
delete CDATA #IMPLIED>
|
[hình tham khảo HA]
Hình sau đây là ví dụ minh họa đặc tả một luật hoàn chỉnh:
[hình tham khảo HA]
5.2.4Xây dựng một số luật đặc biệt
Ngoài ra, ta sẽ cần một số luật đặc biệt, các luật này được dùng cho bước gom các thực thể có cùng ngữ nghĩa trong câu truy vấn. Ví dụ câu truy vấn “Who was the president of Vichy France?”, các từ who và president đều biểu diễn cho thực thể không tên thuộc lớp PERSON, và chúng cách nhau bởi từ quan hệ was. Do đó who và president được gom lại thành một thực thể duy nhất. Luật đặc biệt cũng có cấu trúc như luật thường nhưng nó có độ ưu tiên là -1.
Chia sẻ với bạn bè của bạn: |