Semantic Web Rule Language (SWRL)

Một phần của tài liệu Giám sát và tự động hóa các hợp đồng nghiệp vụ trong một hoặc vài lĩnh vực hẹp ứng dụng blockchain (Trang 22 - 25)

tại cũng như hỗ trợ cho các cơ chế suy luận. DL có tính diễn đạt cao hơn logic mệnh đề, nhưng kém hơn logic ưu tiên thứ tự (First Order Logic - FOL). Theo nghiên cứu [13]

đã trình bày, cấu thành của một DL bao gồm: Concepts, Roles, Individuals, Axioms, Constructors. Trong đó, các thuộc tính (Attributes) là một phần không thể thiếu khi định nghĩa cácConcepts của contract bằng cách mô tả các thuộc tính liên quan tới nó.

Các thuộc tính thường được mô tả bởi quan hệ hasAttribute. Mô tả này được thể hiện trong FOL theo cấu trúc quan hệ ba ngôi sau:

hasAttribute(< concept >, < attrN ame >, < attrV alue >) Hay có thể biểu diễn dưới dạng quan hệ hai ngôi như sau:

hasV alue(a, < attrV alue >) với a ∈hasAttribute(< concept >, < attrN ame >).

Ontology có thể được thể hiện dưới nhiều định dạng khác nhau, trong đó ngôn ngữ phổ biến và được sử dụng rộng rãi nhất là Web Ontology Language (OWL) [17]. OWL được mô hình hoá theo hướng tiếp cận hướng đối tượng, nhằm thể hiện các tri thức dưới dạng lớp và các thuộc tính của nó. OWL cung cấp một tập các từ vựng lớn hơn và thể hiện ngữ nghĩa tốt hơn so với các định dạng nguyên thuỷ như XML, RDF hay RDF Schema. OWL chia làm ba nhánh ngôn ngữ bao gồm: OWL Lite, OWL DL, và OWL Full. Mỗi ngôn ngữ đều có các đặc trưng về cách diễn đạt riêng biệt, việc lựa chọn ngôn ngữ phụ thuộc vào mục đích sử dụng ontology.

3.2 Semantic Web Rule Language (SWRL)

Một trong các điểm hạn chế của OWL đó là khả năng biểu diễn bị giới hạn. Mặc dù OWL cung cấp tập hợp khá đầy đủ các cách xây dựng lớp, nhưng nó không thể biểu diễn mối quan hệ giữa các thuộc tính kết hợp (composite properties), ví dụ liên kết giữa thuộc tính "cha" và "anh trai" với thuộc tính "chú". Hạn chế này đã được chỉ ra trong phiên bản OWL2, ở đó cho phép định nghĩa các chuỗi thuộc tính chỉ khi một thuộc tính kết hợp là thuộc tính con của một trong các thuộc tính kết hợp đó. Semantic Web Rule Language (SWRL) [18] là một ngôn ngữ quy tắc được thiết kế để mở rộng khả năng diễn đạt của OWL. SWRL kết hợp OWL DL hoặc OWL Lite với một tập con của Rule Markup Language [20]. SWRL mang lại khả năng suy diễn mạnh mẽ bằng cách cho phép người dùng viết các luật dạng Horn (Horn-like rules) được xây dựng trên các khái niệm của OWL. Các luật này tương tự như các ngôn ngữ Prolog hay Datalog. SWRL được dựa trên nền tảng miêu tả luận lý giống OWL và có các cơ chế tương tự nhằm đảm bảo tính lý luận và suy diễn. Một luật SWRL bao gồm tiền đề (antecedent) hay còn gọi là body, và kết quả (consequent) hay còn gọi là head. Khi các điều kiện trong body đúng, thì các điều kiện trong head bắt buộc phải đúng. Body và head bao gồm các liên kết dương của các atoms, ví dụ:

atom∧atom∧...→atom∧atom Một atom là biểu thức có dạng:

p(arg1, arg2, ...argn)

3.2 Semantic Web Rule Language (SWRL) 14

Với p là ký hiệu vị ngữ (predicate symbol) và arg1, arg2, ...argn là các tham số của biểu thức p. SWRL hỗ trợ năm dạng vị ngữ: lớp OWL (class), thuộc tính OWL (property), kiểu dữ liệu (data type), phạm vi dữ liệu (data range), và hàm dựng sẵn (built-in). Các tham số có thể là các cá thể OWL, các giá trị dữ liệu hoặc các biến tham chiếu. Tất cả các biến trong OWL dược coi là định lượng, và có giới hạn nhất định theo một quy tắc nào đó [21].

Atom Type Example

Class atom Person(?p), Car(?c)

Individual property atom hasCar(?p, ?c) Data valued property atom hasAge(?p, ?age)

Different individuals atom differentFrom(“Mike”, “John”) Same individuals atom sameAs(“Mike”, “Michael”) Built-in atom swrlb:greaterThan(?age, “18”) Data range atom xsd:int(?x)

Bảng 2: Các loại atom hỗ trợ bởi SWRL và ví dụ

SWRL hỗ trợ bảy dạng atoms khác nhau (bảng 2). P erson, Car là các lớp của OWL, hasCar, hasAgelà thuộc tính đối tượng và thuộc tính giá trị, ...

• Class Atom bao gồm một lớp OWL hoặc biểu thức lớp và một đối số duy nhất đại diện cho một cá thể OWL. Ví dụ P erson(?p), M an(F red). Ở đây, P erson vàM an là các lớp OWL ,?p là một biến đại diện cho một cá thể OWL vàF red là tên của một cá thể OWL. Một quy tắc ví dụ đơn giản sử dụng các class atom để chỉ rằng tất cả các cá thể thuộc loại M an cũng hoặc loại P erson được biểu diễn:

M an(?p)→P erson(?p)

• Individual Property Atom bao gồm một thuộc tính đối tượng OWL và hai tham số đại diện cho các cá thể OWL. Ví dụhasBrother(?x,?y),hasSibling(F red,?y).

Ở đây, hasBrother và hasSibling là các thuộc tính đối tượng OWL , ?x và ?y là các biến đại diện cho các cá thể OWL và F red là tên của một cá thể OWL.

Một quy tắc SWRL ví dụ một người có anh chị em có anh trai, do đó sẽ yêu cầu nắm bắt các khái niệm về người, nữ, anh chị em và anh trai trong OWL. Theo trực giác, khái niệm người và con trai có thể được nắm bắt bằng cách sử dụng lớp OWL có tên là P erson với một lớp phụ M an; mối quan hệ anh chị em và anh trai có thể được thể hiện bằng cách sử dụng các thuộc tính đối tượng OWL hasSibling và hasBrother với một miền và phạm vi của P erson. Luật trong SWRL được thể hiện:

P erson(?p)∧hasSibling(?p,?s)∧M an(?s)→hasBrother(?p,?s)

• Data Valued Property Atom bao gồm một thuộc tính dữ liệu OWL và hai tham số, với tham số đầu tiên đại diện cho một cá thể OWL và tham số thứ hai là một giá trị dữ liệu. Ví dụ hasAge(?x,?age), hasHeight(F red,?h), hasAge(?x,232),

3.2 Semantic Web Rule Language (SWRL) 15

hasN ame(?x,”F red”). Ở đây, hasHeight, hasAge và hasN ame là các thuộc tính dữ liệu của OWL , ?x là một biến đại diện cho một cá thể OWL, F red là tên của một cá thể OWL và ?h và ?age là các biến đại diện cho các giá trị dữ liệu. Sử dụng một thuộc tính có giá trị dữ liệu boolean, một luật khẳng định rằng tất cả những người sở hữu một chiếc xe nên được phân loại là người lái xe sau đó có thể được viết là:

P erson(?p)∧hasCar(?p, true)→Driver(?p)

Các cá thể được đặt tên trong ontology cũng có thể được gọi trực tiếp. Ví dụ, có thể viết lại luật trên để phân loại một cá thể tên Fred làm tài xế như sau:

P erson(F red)∧hasCar(F red, true)→Driver(F red)

Cần lưu ý là luật này chỉ đúng với một cá thể biết trước tên là F red. Không thể tạo một cá thể mới bằng cách sử dụng các luật của hình thức này.

• Different Individuals Atom bao gồm các ký hiệudif f erentF romvà hai tham số đại diện cho hai cá thể OWL. Ví dụ dif f erentF rom(?x,?y) và

dif f erentF rom(F red, J oe), ở đây ?x,?y là hai biến đại diện cho hai cá thể còn F red, J oe là tên của các cá thể.

• Same Individual Atom tương tự như Different Individuals Atom nhưng mang ý nghĩa đối nghịch, được biểu diễn bởi ký hiệusameAs. Ví dụ sameAs(?x,?y) và sameAs(F red, J oe).

• Data Range Atom bao gồm một tên kiểu dữ liệu hoặc một tập hợp các giá trị (literal) và một tham số duy nhất biểu thị một giá trị dữ liệu. Ví dụ xsd : int(?x),[3,4,5](?x), ở đây ?x đại diện cho một giá trị dữ liệu.

• Built-In Atom: Một trong những tính năng mạnh mẽ nhất của SWRL là khả năng hỗ trợ các built-in do người dùng định nghĩa. Một built-in là một vị từ nhận một hoặc nhiều tham số và có giá trịtrue nếu các tham số số thỏa mãn vị ngữ. Ví dụ, built-in equal nhận vào hai tham số x, y và trả về giá trị true nếu hai tham số này bằng nhau. Một ví dụ sử dụng built-in để biểu diễn ràng buộc kiểm tra một người có phải là vị thành niên không như sau:

P erson(?p)∧hasAge(?p,?age)∧swrlb:greaterT han(?age,17)→Adult(?p) Theo quy ước, các built-in của SWRL sẽ có tiền tố là swrlb. Khi thực thi, luật trên sẽ phân loại các cá thể thuộc lớp P erson có giá trị của thuộc tính hasAge lớn hơn 17 sẽ được xếp vào lớpAdult.

Một luật dùng built-in xử lý chuỗi dùng để xác định số điện thoại của một người có bắt đầu bằng mã ký tự quốc tế "x" hay không có thể thể hiện như sau:

P erson(?p)∧hasN umber(?p,?number)∧swrlb:startsW ith(?number,” + ”)

→hasInternationalN umber(?p, true)

Một phần của tài liệu Giám sát và tự động hóa các hợp đồng nghiệp vụ trong một hoặc vài lĩnh vực hẹp ứng dụng blockchain (Trang 22 - 25)

Tải bản đầy đủ (PDF)

(56 trang)