Thành phần của ontology Ontology cung cấp một bộ từ vựng chung bao gồm các khái niệm, các thuộc tínhquan trọng, các định nghĩa về các khái niệm và các thuộc tính này, và mối quan hệ giữa
Trang 1ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
Trang 2LỜI MỞ ĐẦU
Ngày này, cùng với sự phát triển công nghệ thông tin cũng như sự bùng nổ củainternet làm cho khối lượng thông tin tri thức ngày càng lớn Và để khai thác, biểu diễnlượng thông tin tri thức đó, khái niệm ontology đã ra đời Ontology là một giải pháp biểudiễn tri thức và chia sẻ thông tin mà cả hệ thống và con người có thể hiểu được Ontologychứa những đặc tả rõ ràng của các khái niệm về một lĩnh vực và quan hệ giữa các kháiniệm đó Ontology thường được dùng trong trí tuệ nhân tạo, công nghệ web ngữ nghĩa, các
hệ thống kỹ thuật, sinh tin học và kiến trúc thông tin như là một hình thức biểu diễn trithức về thế giới hoặc một số lĩnh vực cụ thể
Trước hết, em xin gửi lời cảm ơn chân thành tới PGS.TS Đỗ Văn Nhơn Qua nhữngbuổi giảng dạy và hướng dẫn tận tình của thầy trong môn Biểu diễn tri thức và ứng dụng đãgiúp em hiểu biết thêm nhiều kiến thức Qua đó em xin trình bày trong bài thu hoạch nàykhái niệm ontology và các ngôn ngữ biểu diễn ontology Hi vọng bài thu hoạch có thể gópphần nào cung cấp thêm thông tin về ontology cũng như cách biểu diễn thông qua các ngônngữ
Trang 3I KHÁI NIỆM ONTOLOGY
I.1 Thuật ngữ ontology
Từ ontology có nguồn gốc từ tiếng Hy Lạp: ontos nghĩa là “being” (tồn tại, sống,thực sự) và logos nghĩa là “word” (từ) Trong triết học, ontology thuộc một lĩnh vực nhỏcủa triết học, nghiên cứu về sự tồn tại của tự nhiên, chủ yếu xác định những thuật ngữthông dụng nhất, những thứ tồn tại thực sự, và bằng cách nào để mô tả chúng
I.2 Định nghĩa ontology
Trong trí tuệ nhân tạo và trong tin học cũng như trong khoa học máy tính, có rấtnhiều định nghĩa về ontology, một trong những định nghĩa súc tích nhất đó là ontology làmột sự cụ thể hóa hình thức và tường minh của trừu tượng hóa Đối tượng nghiên cứucủa ontology xoay quanh sự tồn tại, sự phân loại và cấu trúc của các đối tượng,các thuộc tính, biến cố, quy trình trình và các quan hệ trong mọi lĩnh vực Trongcấu trúc dữ liệu, việc biểu diễn ontology, các khái niệm và các ràng buộc cần phải đượckhai báo, tường minh và có sử dụng ngôn ngữ hình thức
I.3 Thành phần của ontology
Ontology cung cấp một bộ từ vựng chung bao gồm các khái niệm, các thuộc tínhquan trọng, các định nghĩa về các khái niệm và các thuộc tính này, và mối quan hệ giữachúng Mối quan hệ thường gồm các phân cấp lớp Ngoài ra, ontology còn cung cấp cácràng buộc, và các ràng buộc này có thể được xem như các giả định nền tảng của bộ từvựng và được sử dụng trong một miền nào đó
Cá thể (individual): cá thể có thể là các đối tượng cụ thể như con người, động vật, cáibàn… cũng như các cá thể trừu tượng như các thành viên hay các từ Một ontology có thểkhông chứa cá thể nào
Lớp (class): là một nhóm, tập hợp các đối tượng, có thể chứa các cá thể, các lớp khác.Một lớp có thể chứa các lớp con, có thể là một lớp tổng quát (chứa mọi thứ), hoặc chỉchứa các cá thể riêng lẻ Một lớp có thể xếp gộp hoặc được xếp gộp vào các lớp khác
Thuộc tính (property): dùng để mô tả các đối tượng trong ontology Mỗi một thuộc
Trang 4tính đều có tên và giá trị của thuộc tính đó Thuộc tính dùng để lưu trữ các thông tincủa đối tượng Giá trị của một thuộc tính có thể là các kiểu dữ liệu phức tạp.
Mối liên hệ (relationship): là một thuộc tính của một đối tượng nào đó trongontology Lớp này có thể gộp vào lớp kia tạo nên một kiểu quan hệ xếp gộp, cho biết đốitượng nào là thành viên của lớp nào
I.4 Lý do xây dựng Ontology
Vì ontology cung cấp bộ từ vựng chung chứa những thông tin dữ liệu có cấu trúc
về một miền nào đó, có khả năng biểu diễn ngữ nghĩa cho tài nguyên web, có khả năng
hỗ trợ lập luận, và thông tin dữ liệu của ontology máy có thể hiểu và xử lý được, nghĩa
là ontology cung cấp một kiến trúc quan trọng cho việc chuyển thông tin và dữ liệu sangtri thức, nên cần phải xây dựng ontology để có thể:
• Chia sẻ hiểu biết cấu trúc của thông tin giữa người dùng với nhau hoặc giữa cácứng dụng
• Tái sử dụng miền tri thức nào đó
• Tạo ra miền dữ liệu rõ ràng, đơn giản, dễ nhớ và dễ sử dụng
• Phân tích, rút trích thông tin trong miền tri thức nào đó
I.5 Phương pháp xây dựng ontology
Hiện nay không có phương pháp chuẩn nào cho việc xây dựng một ontology Khixây dựng ontology chúng ta nên dựa vào nhu cầu của ứng dụng sẽ sử dụng nó để thiết kếcho phù hợp
Phát triển một ontology thường là một quy trình lặp lại, thường bắt đầu bằng mộtphiên bản thô rồi sao đó xem xét, chỉnh sửa, lọc lại ontology phiên bản trước và thêm vàocác chi tiết Các bước xây dựng ontology:
Xác định miền và phạm vi của ontology: Đây là bước chúng ta nên làm trước khi muốn
xây dựng một ontology Trong một hệ thống có sử dụng ontology thì các yêu cầu đối với
nó thường là mô tả một lĩnh vực nào đó nhằm cung cấp cơ sở tri thức trong việc giải quyếtnhững mục đích chuyên biệt Để nhận diện chính xác những yêu cầu chúng ta cần phải trảlời một số câu hỏi như:
Ontology cần mô tả lĩnh vực nào ?
Ontology phục vụ cho mục đích chuyên biệt gì?
Cơ sở tri thức trong ontology sẽ trả lời những câu hỏi gì?
Ontology nhằm vục vụ đối tượng nào?
Trang 5 Ai là người sẽ xây dựng, quản trị ontology?
Các câu trả lời có thể thay đổi ở mỗi bước lặp trong quá trình xây dựng ontology tùymục đích của ứng dụng hoặc có những tính năng cần bổ sung lúc đó Trả lời các câu hỏitrên sẽ giúp giới hạn phạm vi thực sự của ontology cần mô tả và dự trù các kỹ thuật sẽ sửdụng trong quá trình phát triển Ví dụ như ontology cần xây dựng có chức năng xử lý ngônngữ tự nhiên, ứng dụng dịch tài liệu tự động thì cần phải có kỹ thuật xác định từ đồngnghĩa
Sau khi đã phát thảo phạm vi ontology dựa trên việc trả lời những câu hỏi trên,chúng ta tiếp tục tinh chỉnh lại bằng cách trả lời các câu hỏi kiểm chứng khả năng:
Ontology đã có đủ thông tin để trả lời cho các câu hỏi được quan tâm trên cơ sở trithức hay khô ng?
Câu trả lời của hệ thống dựa trên cơ sở tri thức đã đáp ứng được mức độ, yêu cầunào của người sử dụng?
Các ràng buộc và quan hệ phức tạp trong miền quan tâm đ ã được biểu diễn hợp lýchưa?
Xem xét việc kế thừa các ontology có sẵn: đây là một công đoạn thường hay sử dụng để
giảm thiểu công sức xây dựng một ontology Bằng cách kế thừa các ontology tương tự cósẵn, người xây dựng có thể thêm hoặc bớt các lớp, quan hệ giữa các lớp, thực thể… để tinhchỉnh tùy theo mục đích của mình Ngoài ra, việc sử dụng lại các ontology có sẵn cũng rấtquan trọng khi cần sự tương tác giữa các ứng dụng khác nhau vì các ứng dụng sẽ cần phảihiểu các lớp, thực thể, quan hệ… của nhau để thuận tiện trong việc trao đổi hoặc thốngnhất thô ng tin
Trang 6Liệt kê các thuật ngữ quan trọng trong ontology: Liệt kê tất cả các thuật ngữ xuất hiện
trong miền quan tâm (có thể đồng nghĩa hoặc chồng nhau) như tên khái niệm, quan hệ,thuộc tính… Thông thường, các thuật ngữ là danh từ sẽ trở thành các lớp, tính từ sẽ trởthành thuộc tính, còn động từ sẽ là quan hệ giữa các lớp
Xây dựng các lớp và cấu trúc lớp phân cấp: Định nghĩa các lớp từ một số thuật ngữ đã
liệt kê, sau đó xây dựng cấu trúc lớp phân cấp theo quan hệ lớp cha-lớp con Lớp ở vị trícàng cao trong cấu trúc này sẽ có mức độ tổng quát càng cao Vị trí đầu tiên thuộc về lớpgốc, tiếp theo là các lớp trung gian, và cuối cùng là lớp lá Lớp lá là lớp không thể triểnkhai được nữa và chỉ được biểu hiện bằng các thực thể
Có nhiều hướng tiếp cận khác nhau cho vấn đề xây dựng cấu trúc lớp phân cấp như:
Hướng xây dựng từ trên x uống (top-down): bắt đầu bằng các lớp có mức độ tổngquát cao nhất, sau đó triển khai dần đến lớp lá
Hướng xây dựng từ dưới lên (bottom-up): Ngược với hướng xây dựng cấu trúc lớpphân cấp từ trên xuống, hướng này bắt đầu bằng việc xác định các lớp được cho là
cụ thể nhất, sau đó tổng quát hó a đến khi được lớp gốc
Cách kết hợp (combination): cách này kết hợp cả hai hướng xây dựng trên Đầu tiênchọn các lớp nổi bật nhất trong miền quan tâm, sau đó tổng quát hóa và cụ thể hó acho đến khi được cấu trúc mong muốn
Định nghĩa các thuộc tính và quan hệ cho lớp: tiếp theo cần định nghĩa thuộc tính của
lớp là các thông tin bên trong của lớp, mô tả một khía cạnh nào đó của lớp và được dùng
để phân biệt với các lớp khác Có hai loại: thuộc tính đơn (simple property) và thuộc tínhphức (complex property) Thuộc tính đơn là các giá trị đơn ví dụ: chuỗi, số,… còn thuộctính phức có thể chứa hoặc tham khảo đến một đối tượng khác Một lớp sẽ kế thừa toàn bộcác thuộc tính của tất cả các lớp cha của nó
Định nghĩa các ràng buộc về thuộc tính và quan hệ của lớp: Các ràng buộc
(restrictions) giới hạn giá trị mà một thuộc tính có thể nhận Hai ràng buộc quan trọng nhấtđối với một thuộc tính là lượng số (cardinality) và kiểu (type) Ràng buộc lượng số quyđịnh số giá trị mà một thuộc tính có thể nhận Hai giá trị thường thấy của ràng buộc này làđơn trị (single) và đa trị (multiple) Ràng buộc thứ hai là về kiểu, các kiểu mà một thuộctính có thể nhận là: chuỗi, số, luận lý (Boolean), liệt kê và kiểu thực thể Riêng kiểu thựcthể có liên quan đến hai khái niệm gọi là: miền (domain) và khoảng (range) Khái niệmmiền được dùng để chỉ lớp (hay các lớp) mà một thuộc tính thuộc về
Trang 8II CÁC NGÔN NGỮ BIỂU DIỄN ONTOLOGY
II.1 RDF và RDF Schema
II.1.1 RDF (Resource Description Framework)
II.1.1.1 Giới thiệu
XML là một siêu ngôn ngữ phổ biến để định nghĩa định dạng Nó cung cấp cúpháp dễ dùng và một bộ công cụ như bộ phân tích cú pháp (parser) để trao đổi dữ liệu vàsiêu dữ liệu (metadata) giữa các ứng dụng nhờ sử dụng XML Schema Tuy nhiên, XMLkhông cung cấp bất kỳ ngữ nghĩa nào của dữ liệu Vì vậy, cần có một mô hình chuẩn nào
đó để biểu diễn Mô hình chuẩn đó là RDF và RDF Schema
Về cơ bản, RDF là một mô hình dữ liệu Đó là mô hình bộ ba đối tượng - thuộctính - giá trị, và được gọi là một phát biểu Mỗi phát biểu được biểu diễn dưới dạng mộtđối tượng, một thuộc tính của nó và một giá trị của thuộc tính
Mô hình RDF chỉ cung cấp một cơ cấu miền độc lập để mô tả các tài nguyên riêng
lẻ Nó không ưu tiên ngữ nghĩa của bất kỳ miền ứng dụng nào, và cũng không tạo ra giảđịnh nào về miền cụ thể nào đó RDF thường dùng để mô tả các thực thể của cácontology, trong khi RDF Schema mã hóa các ontology
II.1.1.2 Cú pháp của RDF
Cú pháp của RDF dựa trên cú pháp của XML Tài liệu RDF gồm một phần tử rdf:RDF,
và nội dung trong đó là các mô tả
Trang 9Thuộc tính “rdf:about” của phần tử “rdf:Description” được dùng để chỉ rằng đối tượng vềphát biểu nào được tạo ra đã được định nghĩa ở nơi khác.
Nội dung của phần tử “rdf:Description” được gọi là các phần tử thuộc tính Ví dụ như,trong mô tả:
<rdf:Description rdf:about="CIT3116">
<uni:courseName>Knowledge Representation</uni:courseName>
<uni:isTaughtBy>Grigoris Antoniou</uni:isTaughtBy>
</rdf:Description>
Các phần tử thuộc tính của mô tả phải được đọc một cách liên tục
Thuộc tính “rdf:resource”: Được sử dụng trong trường hợp có sự trùng tên ngẫu nhiên Ví dụ: Thuộc tính “rdf:resource” dùng để phân biệt các trường hợp có tên giống
nhau nhưng là những người khác nhau
<rdf:Description rdf:about="CIT1111">
<uni:courseName><Discrete Mathematics></uni:courseName>
Trang 10Phần tử chứa (container elements): Các phần tử chứa được dùng để thu thập các tài
nguyên hoặc các thuộc tính mà chúng ta muốn tạo các phát biểu như một tổng thể Có 3loại phần tử chứa có sẵn trong RDF:
“rdf:Bag”: phần tử chứa không có thứ tự, chứa nhiều sự kiện (occurrence)
“rdf:Seq”: phần tử chứa có thứ tự, chứa nhiều sự kiện
“rdf:Alt”: một bộ các lựa chọn (alternative)
Nội dung của các phần tử chứa là những phần tử được đặt tên là “rdf:_1”, “rdf:_2” Ví dụ:
<rdf:RDF
Trang 11xmlns:rdf="http:/ / ww w .w3.org/1 9 99/02 / 22-rd f - s y n tax-n s #"
xmlns:uni="http: / /w w w .m y d o m a in.org / uni- n s#">
<uni:lecturer rdf:about="949352" uni:name="Grigoris Antoniou"
Thay vì rdf:_1, rdf:_2 , có thể viết rdf:li
<uni:course rdf:about="CIT1111" uni:courseName="Discrete Mathematics">
II.1.1.3 Ngữ nghĩa tiên đề cho RDF
Để máy có thể sử dụng được ngữ nghĩa tường minh, cần tạo ra ngữ nghĩa đó, mô
tả ngữ nghĩa của RDF trong ngôn ngữ hình thức giống như logic, và cung cấp một bộlập luận tự động để xử lý các công thức logic
Tất cả các từ mẫu (primitives) trong RDF được biểu diễn bởi các hằng:Resource, Class, Property, subClassOf… Một vài vị từ có sẵn được sử dụng để biểudiễn các mối quan hệ giữa chúng
Hầu hết các tiên đề cung cấp thông tin định kiểu Chẳng hạn như:Type(subClassOf, Property): cho biết ‘subClassOf” là một thuộc tính Các tên biến bắtđầu bằng dấu “?”
Trang 12Tất cả các lớp là những thực thể của Class Với các hằng: Class, Resource, Property,
Literal., các lớp có kiểu Class:
Type(?p, Property) → Type(?p, Resource)
Type(?c, Class) → Type(?c, Resource)
Vị từ trong phát biểu RDF phải là một thuộc tính:
PropVal(?p, ?r, ?v) → Type(?p, Property)
Thuộc tính “type”: Type(type, Property)
Phát biểu này tương đương với PropVal(type, type, Property)
Thuộc tính “FuncProp”: Thuộc tính hàm “FuncProp” liên kết một tài nguyên với một giá trị.
FuncProp biểu diễn tất cả các thuộc tính hàm P là một thuộc tính hàm nếu và chỉnếu nó là một thuộc tính, và không có x, y1, và y2 sao cho P(x, y1), P(x, y2), và y1 ≠ y2Type(?p, FuncProp) ↔ Type(?p, Property) Λ ∀ ?r ∀ ?v1 ∀ ?v2
PropVal(?p, ?r, ?v1) Λ PropVal(?p, ?r, ?v2) → ?v1 = ?v2
Trang 13Các phát biểu cụ thể hoá: Phát biểu “constant” biểu diễn lớp của tất cả các phát biểu cụ
thể hóa Tất cả các phát biểu cụ thể hóa là các tài nguyên, và phát biểu là một thực thểcủa Class:
Type(?s, Statement) →Type(?s, Resource)
Type(Statement, Class)
Một phát biểu cụ thể hóa có thể được phân tách thành 3 phần của bộ ba RDF:
Type(?st, Statement) →∃?p∃?r∃?v (PropVal(Predicate, ?st, ?p) Λ PropVal(Subject, ?st, ?r) Λ PropVal(Object, ?st, ?v))
Chủ thể (subject), vị từ (predicate) và đối tượng (object) là các thuộc tính hàm
Nói cách khác, mỗi phát biểu có chính xác 1 chủ thể, một vị từ và 1 đối tượng:
Type(Subject, FuncProp)
Type(Predicate, FuncProp)
Type(Object, FuncProp)
Thông tin định kiểu của chúng là:
PropVal(Subject, ?st, ?r) → (Type(?st, Statement) Λ Type(?r, Resource))
PropVal(Predicate, ?st, ?p) → (Type(?st, Statement) Λ Type(?p, Property))
PropVal(Object, ?st, ?v) → (Type(?st, Statement) Λ (Type(?v, Resource) V Type(?
v,Literal)))
Tiền đề cuối cùng là nếu đối tượng như thuộc tính trong phát biểu RDF, thì nó phải ápdụng cho một phát biểu cụ thể hóa và có giá trị là một tài nguyên hoặc là một literal
Phần tử container: Tất cả các container là các tài nguyên.
Type(?c, Container) → Type(?c, Resource)
Các container là các danh sách (list):
Type(?c, Container) → list(?c)
Các container là các bag, các sequence hay các alternative:
Type(?c, Container) ↔ (Type(?c, Bag) V Type(?c, Seq) V Type(?c, Alt))
Các bag và sequence là disjoint (tách biệt):
¬(Type(?x, Bag) Λ Type(?x, Seq))
Đối với mỗi số tự nhiên n > 0, có một bộ chọn (selector), sẽ chọn phần tử thứ n của một
Trang 14container Đó là một thuộc tính hàm: Type(_n, FuncProp) và chỉ áp dụng cho cáccontainer:
PropVal(_n, ?c, ?o) → Type(?c, Container)
II.1.2 RDF Schema (Lược đồ RDF)
II.1.2.1 Giới thiệu
RDF là một ngôn ngữ phổ biến, cho phép người dùng mô tả các tài nguyên bằngcách sử dụng bộ từ vựng của chính người dùng RDF không tạo ra các giả định về bất kỳmiền ứng dụng cụ thể nào, cũng không định nghĩa ngữ nghĩa của bất kỳ miền nào RDFSchema sẽ giúp người dùng làm được điều đó
XML Schema bắt buộc tài liệu XML phải có cấu trúc, trong khi RDF Schema địnhnghĩa từ vựng được dùng trong mô hình dữ liệu RDF Trong RDFS, chúng ta có thể địnhnghĩa từ vựng, chỉ rõ các thuộc tính nào áp dụng cho các loại đối tượng nào và giá trịnào mà chúng có thể nhận, chỉ rõ các lớp và mô tả các mối quan hệ giữa các đối tượng,giữa các lớp
II.1.2.2 Những khái niệm cơ bản của Lớp và thuộc tính
Một lớp có thể được xem như một bộ các phần tử Các đối tượng riêng lẻ thuộc
về một lớp được tham chiếu đến như các thực thể của lớp đó Sử dụng rdf:type để địnhnghĩa mối quan hệ giữa các thực thể và các lớp trong RDF
Trong các ngôn ngữ lập trình, việc định kiểu được sử dụng để ngăn ngừa sự vônghĩa được tạo ra Để giới hạn các giá trị của thuộc tính, ta giới hạn range của thuộc tính
Trang 15Để giới hạn các đối tượng của thuộc tính, ta giới hạn domain của thuộc tính.
Các thuộc tính được định nghĩa một cách riêng biệt với các lớp Mỗi thuộc tínhđược mô tả bởi rdfs:domain và rdfs:range, và nó giới hạn sự kết hợp các thuộc tính vớicác lớp Một thuộc tính có thể được định nghĩa để có nhiều lớp
Kế thừa và phân cấp lớp
Khi xác định các lớp, chúng ta cần phân loại, phân nhóm các lớp theo cấp bậc đểthiết lập các mối quan hệ giữa chúng Thông thường, A là một lớp con của B nếu mỗithực thể của A cũng là một thực thể của B
Trong RDF Schema, các lớp không nhất thiết phải liên kết với nhau hình thành nênmột phân cấp nghiêm ngoặc Một lớp có thể có nhiều lớp cha Nếu lớp A là một lớp concủa cả B1 và B2, thì mỗi thực thể của A là thực thể của cả B1 và B2
Lớp (class), sự kế thừa (inheritance) và thuộc tính (property) tuy có những điểmtương đồng, nhưng cũng có những điểm khác nhau Trong lập trình hướng đối tượng, mộtlớp đối tượng xác định các thuộc tính Để thay đổi một lớp, ta thêm các thuộc tính mớivào trong một lớp Trong sự phân cấp lớp, các lớp kế thừa các thuộc tính của tổ tiên
Có thể định nghĩa các thuộc tính mới áp dụng cho một lớp cũ mà không làm thayđổi lớp đó và cũng có thể sử dụng các lớp được định nghĩa bởi các lớp khác, sửachúng lại sao cho phù hợp với các yêu cầu của người dùng thông qua các thuộc tính mới
Phân cấp thuộc tính
Các mối quan hệ phân cấp giữa các lớp có thể được định nghĩa Chẳng hạn như “istaught by” (được dạy bởi) là thuộc tính con của “involves” (có quan hệ): nếu môn học Cđược dạy bởi giảng viên A, thì C cũng có quan hệ với A Sự đảo ngược của thuộc tính cóthể đúng nhưng đôi khi có thể không đúng Thông thường, P là thuộc tính con của Q nếu
Q (x, y) chứa P (x, y)
II.1.2.3 Ngữ nghĩa tiên đề cho RDF Schema
Để tạo ngữ nghĩa tường minh và máy có thể sử dụng được, cần mô tả ngữ nghĩacủa RDFS giống như logic Do đó, cần có sự hỗ trợ của các bộ lập luận (reasoner) tự động
để xử lý các công thức logic
Tất cả các từ mẫu trong RDF Schema được biểu diễn thông qua các hằng:Resource, Class, Property, subClassOf… Một vài vị từ có sẵn được sử dụng như nền
Trang 16tảng để biểu diễn các mối quan hệ giữa các hằng.
Hầu hết các tiên đề cung cấp thông tin định kiểu Chẳng hạn như:Type(subClassOf, Property): cho biết “subClassOf” là một thuộc tính Các tên biến bắtđầu bằng dấu “?”
PropVal(subPropertyOf, ?p, ?p’) ↔ (Type(?p, Property) Λ
Type(?p’, Property) Λ ∀?r ∀?v(PropVal(?p, ?r, ?v) → PropVal(?p’, ?r, ?v)))
Các ràng buộc
Mỗi tài nguyên ràng buộc là một tài nguyên:
PropVal(subClassOf, ConstraintResource, Resource)
Type(?cp,ConstraintProperty) ↔ (Type(?cp,ConstraintResource) Λ Type(?cp, Property))Domain và range là các thuộc tính ràng buộc:
Type(domain, ConstraintProperty)
Trang 17Type(range, ConstraintProperty)
Domain và range lần lượt xác định domain và range của một thuộc tính Domain củathuộc tính P là tập hợp của tất cả các đối tượng mà P áp dụng vào Nếu domain của P là
D, thì với mỗi P(x, y), x Є D
PropVal(domain, ?p, ?d) → ∀?x∀?y(PropVal(?p, ?x, ?y) → Type(?x, ?d))
Range của thuộc tính P là tập hợp của tất cả các giá trị P có thể nhận Nếu range của P là
R, thì với mỗi P(x, y), y Є R
PropVal(range, ?p, ?r) →∀?x∀?y(PropVal(?p, ?x, ?y) → Type(?y, ?r))
Các công thức có thể được suy ra từ ràng buộc trên:
PropVal(domain, range, Property)
PropVal(range, range,Class)
PropVal(domain, domain, Property)
PropVal(range, domain,Class)
II.1.3 Sự khác nhau giữa RDF và RDFS
RDF thường dùng để mô tả các thực thể của các ontology, trong khi RDF Schema
mã hóa các ontology, sử dụng các thành phần Class, subClassOf, Property,subPropertyOf… để chỉ rõ các lớp, các quan hệ giữa các lớp, định nghĩa các thuộc tính vàliên kết chúng với các lớp
Ở hình dưới, các hình khối vuông là các thuộc tính, các hình eclipse nằm trênđường gạch nối nằm ngang là các lớp, và các hình elip nằm dưới đường gạch nối nằmngang là các thực thể