Sự khác biệt giữa RDF RDFS và OWL

Mô hình hóa miền với OWL - Phần 1

Sự khác biệt giữa RDF RDFS và OWL
Hồ Bình An · Hồ Bình An 02:00 03/09/2012
3 ngày trước

Web ngữ nghĩa là gì?

Thuật ngữ Web ngữ nghĩađề cập đến một bộ tiêu chuẩn cho việc trình bày kiến ​​thức chính thức trên máy tính. Các hình thức biểu diễn tri thức đã xuất hiện từ khi bắt đầu phần mềm, nhưng mục đích của các sáng kiến ​​Semantic Web là lưu trữ và trao đổi thông tin có thể đọc được bằng máy lan truyền trên Internet. Sự khác biệt chính là tính đến tính chất phân tán, đa dạng và kết thúc mở của web. Ví dụ, một khía cạnh quan trọng trong các tiêu chuẩn đó là việc sử dụng URI một cách phổ biến để xác định bất cứ điều gì đáng để xác định. Ngoài ra, trong khi đại diện tri thức truyền thống có liên quan đến các dự án AI hẹp, thì ở đây, các mục tiêu khiêm tốn hơn về chiều sâu, nhưng tham vọng hơn về chiều rộng. Về bản chất, động lực chính đằng sau Semantic Web có thể được tóm tắt là khả năng tương tác dữ liệu ở quy mô Internet.

Bài viết này là phần đầu tiên trong loạt bài mà tôi dự định sẽ cho bạn thấy Semantic Web, và đặc biệt là Ngôn ngữ web Bản thể học (OWL) có thể được sử dụng như một công cụ mô hình hóa cho công nghệ phần mềm. Ở đây tôi sẽ đặt nền tảng bằng cách giới thiệu các hình thức và công nghệ có liên quan, sau đó lập luận rằng những thứ đó hoàn toàn phù hợp như một công cụ mô hình hóa cho phần mềm. Trong các phần tiếp theo, tôi sẽ nghiên cứu sâu hơn về toán học đằng sau OWL, một trong những công nghệ Semantic Web cốt lõi, và minh họa cả sức mạnh mô hình hóa và các hạn chế của nó thông qua một số ví dụ thực tế. Không có tiếp xúc trước với Semantic Web là cần thiết.

Lịch sử rất ngắn gọn

Các Meta khung Content , ghi là tiền thân của RDF, đã được tạo ra vào giữa-90 giới thiệu hầu hết các khái niệm cốt lõi của tất cả formalisms Semantic Web tương lai: các khía cạnh meta (dữ liệu về dữ liệu), khái niệm về đối tượng được phân loại và liên quan thông qua tài sản. Sau đó, vào năm 1999, phiên bản đầu tiên của Khung mô tả tài nguyên (RDF) nhằm cung cấp một phương pháp tiêu chuẩn để chú thích nội dung web (tức là "tài nguyên") với siêu dữ liệu. Bên cạnh RDF, W3C đã làm việc trên RDFS (Lược đồ RDF) đã thêm những thứ như các lớp, kế thừa và các thuộc tính được gõ vào RDF. Khoảng năm 2000-2001, DARPA đã phát triển một thứ gọi là DAML + OIL, sử dụng RDF làm cơ sở nhưng cũng với ngữ nghĩa phong phú hơn, như RDFS và nó bao gồm khái niệm suy luận. Thuật ngữ Semantic Web đã được đặt ra trong bài báo Khoa học Mỹ này vào năm 2001 bởi người đã phát minh ra Web. Đó có lẽ là sự kiện thu hút sự chú ý quan trọng đã gây tiếng vang lớn. Khi quan tâm đến sức mạnh đại diện tri thức của những nỗ lực đó tăng lên, Ngôn ngữ Web Bản thể học(OWL) nổi lên vào năm 2004 như là tiêu chuẩn để đại diện cho các mô hình có cấu trúc cao, qua đó có thể áp dụng lý luận và suy luận tự động. Kể từ đó, Semantic Web đã chiếm lĩnh thế giới với các chính phủ và các công ty lớn dẫn đầu trong việc tiết lộ dữ liệu có cấu trúc cho mọi người sử dụng và khai thác. Không còn chỉ là một phương tiện để chú thích các tài nguyên web không có cấu trúc khác, RDF được sử dụng như một mô hình thông tin chính thức, với sự hỗ trợ cơ sở dữ liệu rộng rãi để lưu trữ dữ liệu có cấu trúc cao, trong khi OWL đang dần lấy đà làm đại diện cho lý thuyết và biểu diễn tri thức phân tán .

Khung mô tả tài nguyên

Chúng tôi sẽ không sử dụng RDF nhiều trong các chuyến du ngoạn của chúng tôi vào mô hình Web ngữ nghĩa, nhưng vì nó rất phổ biến và nền tảng, tôi không nên rời xa bạn mà không có phần giới thiệu ngắn về chủ đề này. RDF định nghĩa một mô hình chính thức rất đơn giản để thể hiện kiến ​​thức về mọi thứ. Như tôi đã nói, ban đầu nó được hình thành để chú thích tài nguyên web với dữ liệu meta, nhưng nó đã phát triển thành một chủ nghĩa hình thức logic chung để thể hiện kiến ​​thức về thế giới thực. Chủ nghĩa hình thức cho phép người ta nêu ra những sự thật đơn giản về các thực thể. Mỗi thực tế có dạng ba:<đối tượng="">. Chủ đề là điều đang được nói đến và nó được đặt tên URI. Nó có thể đại diện cho bất cứ điều gì thực sự (ví dụ như một người, một trang web, một sự kiện, một khái niệm trừu tượng như "màu sắc"). Vị ngữ cũng được đặt tên bằng một URI và thường được coi là một động từ, mặc dù trong thực tế thường xuyên, nó bao gồm toàn bộ cụm động từ. Một số ví dụ về các vị từ được sở hữu, isOlderThan, hasprice.Cuối cùng, đối tượng cũng có thể là một thực thể được xác định thông qua URI hoặc giá trị bằng chữ (ví dụ: chuỗi, số nguyên, boolean, v.v.). Khi đối tượng là một thực thể, vị ngữ có thể được coi là mối quan hệ giữa chủ thể và đối tượng và khi đối tượng là một nghĩa đen, vị ngữ có thể được coi là một thuộc tính. Trong cả hai trường hợp, một tập hợp các bộ ba như vậy có thể được biểu diễn dưới dạng biểu đồ trong đó các nút là các thực thể và nghĩa đen, và các cạnh là các vị từ - một biểu đồ có nhãn được định hướng. Đó là về nó cho RDF. Không thể thực sự đơn giản hơn thế nhiều. Những gì còn lại là đồng ý về các định danh chung (URI) để khi mã hóa kiến ​​thức, chúng ta thực sự đang nói về cùng một điều. Một tập hợp các định danh RDF được xác định rõ được gọi là từ vựng. Nhiều nhóm đã đưa ra những từ vựng như vậy. Bản thân tiêu chuẩn RDF có khoảng một tá trong khi một thứ gọi là Lớp trao đổi liên kết và ánh xạ trên có 25000. Một thứ bạn có thể đã nghe nói là FOAF (bạn của một người bạn). Những từ vựng này thực sự được sử dụng và đạt được mức độ tương tác nhất định. Nhưng trong một từ vựng, mỗi thuật ngữ đứng trong sự cô lập. Để mô tả làm thế nào một nhóm thuật ngữ có liên quan trong một cấu trúc khái niệm, người ta cần một bản thể luận.

Bản thể học là gì?

Trong siêu hình học, bản thể học (nghĩa đen là "nghiên cứu về bản thể") là nghiên cứu về bản chất của sự tồn tại. Nó kiểm tra các câu hỏi như làm thế nào các thực thể được nhóm lại với nhau, chúng liên quan với nhau như thế nào, điều gì tạo nên bản sắc của chúng. Trong khoa học máy tính, thuật ngữ này đề cập đến một khái niệm chính thức về một miền kiến ​​thức thông qua một số tập hợp các khái niệm / lớp, trường hợp, quan hệ, thuộc tính / thuộc tính và có thể quy tắc suy luận. Người ta có thể dễ dàng thấy tại sao thuật ngữ đó được thông qua từ triết học. Hóa ra khi xây dựng các hệ thống thực tiễn, nghiên cứu AI đã tham gia phân tích rất giống với những gì các nhà triết học cổ đại đã làm trong việc mổ xẻ bản chất của các thực thể trong thế giới thực và các mối quan hệ của họ. Các lập trình viên hướng đối tượng cũng muộn hơn một chút - hầu hết những thứ đó là về một mối quan hệ, lớp học, Siêu hình học . Khi các nhà triết học tuyên bố các lý thuyết về thế giới, họ cho rằng một số thứ tồn tại và những thứ này có liên quan theo một cách nhất định - đó là cách họ thiết lập điểm chung cho một cuộc thảo luận. Những giả định đó được gọi là cam kết bản thể học. Tương tự, một chương trình máy tính (tức là "tác nhân tự động") đưa ra các giả định nhất định về thế giới và hoạt động dựa trên các giả định đó. Nói cách khác, phần mềm cũng đưa ra các cam kết về bản thể học. Tất cả được giải thích rất rõ trong một bài viết hay năm 1993 của Thomas R. Gruber (người mới tạo ra Siri). Trong bài báo đó, ông Gruber nói:

Một bản thể luận là một đặc điểm kỹ thuật rõ ràng của một khái niệm.
....
Chúng tôi sử dụng các bản thể luận chung để mô tả các cam kết bản thể học cho một tập hợp các tác nhân
để chúng có thể giao tiếp về một lĩnh vực diễn ngôn mà không nhất thiết phải hoạt động
trên một lý thuyết được chia sẻ toàn cầu. Chúng tôi nói rằng một tác nhân cam kết với một bản thể luận nếu các hành động quan sát được của nó
phù hợp với các định nghĩa trong bản thể luận.

Câu hỏi đặt ra là "đặc tả của khái niệm hóa" được thực hiện như thế nào? Đó là nơi ngôn ngữ bản thể học xuất hiện. Về cơ bản, nó là một mô hình meta xác định cấu trúc nào bạn có thể sử dụng để tạo mô hình miền ("khái niệm hóa") để bạn có thể viết các chương trình sử dụng thuật ngữ được mô tả trong các mô hình miền đó một cách nhất quán. Một ngôn ngữ bản thể học có thể hoặc không bao gồm chính nó bao gồm một số phương tiện để suy luận logic, nhưng nói chung nó đủ giàu về chất để những điều thú vị có thể được suy ra từ một mô hình mà không được nêu rõ ràng. Sự khác biệt chính giữa thứ gì đó đủ điều kiện là ngôn ngữ bản thể học và RDF là cái trước đây sẽ cung cấp phương tiện để thể hiện các khái niệm phong phú hơn về mặt ngữ nghĩa như sự phân biệt giữa các khái niệm và thực thể, phân loại, là tài sản của,

Mặc dù nói về biểu diễn tri thức và bản thể học thường bị giới hạn trong các hệ thống AI, tôi sẽ cho rằng điều này không nên như vậy. Khi bạn viết chương trình OO bằng Java, C # hoặc bất cứ điều gì, bạn đang tạo một mô hình của một phần của thế giới và bạn đang thực hiện một số trong những điều này được gọi là các cam kết bản thể. Bạn đang thực sự tạo ra một bản thể luận. Ngoại trừ trong lập trình, chúng tôi không gọi kỹ thuật kiến ​​thức này, chúng tôi gọi nó là thiết kế hướng đối tượng. Và ngôn ngữ bản thể học thông thường được lựa chọn (ví dụ mô hình meta) được gọi là UML. Bây giờ, UML là một ngôn ngữ bản thể học kỳ lạ vì nó thực sự được trừu tượng hóa từ các cấu trúc và thực tiễn phần mềm phổ biến và do đó nó được tạo ra để mô hình hóa phần mềm, nhưng thực sự được sử dụng để mô hình hóa thế giới để phần mềm có thể được viết.

Vì vậy, những gì tôi muốn làm là đưa hoạt động của kỹ thuật tri thức vào trung tâm thiết kế ứng dụng phần mềm để những cam kết bản thể đó được mã hóa rõ ràng và chính thức trong một ngôn ngữ được hỗ trợ bởi nhiều thập kỷ nghiên cứu vững chắc, một ngôn ngữ đang nổi lên như là tiêu chuẩn đối với sự phát triển bản thể học ngang bằng với RDF, theo quan điểm của tôi đã vượt qua điểm bùng phát. Kết quả là, người ta sẽ hy vọng các mô hình có thể dễ dàng thay đổi hơn, có thể tái sử dụng nhiều hơn khi tự tạo tác và tạo ra nhiều niềm vui hơn để thực sự tạo ra.


SỞ HỮU

Ngôn ngữ web bản thể học (OWL) được thiết kế với một số mục tiêu mâu thuẫn: (1) là một tập hợp siêu RDF sao cho mọi đồ thị RDF hợp lệ đều có cách hiểu có ý nghĩa trong OWL (2) gần với truyền thống dựa trên kiến ​​thức đại diện được tiên phong bởi Marvin Minsky , về cơ bản là những gì chúng ta biết đến như là thiết kế OO và quen thuộc với hầu hết mọi người, và (3) có một cách giải thích logic dễ hiểu. Vì những điều đó là không thể hòa giải, ủy ban W3C đã kết thúc với hai phiên bản chính: OWL Full và OWL DL, trong đó DL là viết tắt của Mô tả Logic . Hãy để tôi nói một vài từ về cách so sánh.

OWL Full là phiên bản tương thích với ngữ nghĩa của RDF và nó sẽ là một phiên bản dễ hiểu đối với hầu hết các nhà phát triển kể từ khi chúng ta nói về các lớp và thuộc tính trong OWL Full, những gì được hiểu ít nhiều là các khái niệm quen thuộc từ lập trình OO. Ví dụ, khi mô hình hóa một lớp, trong OWL Full, chúng ta thực sự có thể nói bất kỳ sự thật nào về lớp đó mà chúng ta muốn. Và một lớp có thể được xem như một bản thiết kế với các thuộc tính (một khung có các khe) trong đó các thể hiện được tạo ra. Điều này không đúng với OWL DL, nó tách biệt nghiêm ngặt mô hình khái niệm (các lớp và thuộc tính) khỏi mô hình dữ liệu (các thể hiện và các mối quan hệ của chúng). OWL DL tương ứng với một phiên bản của Logic mô tả, một hình thức toán học có lịch sử nghiên cứu lâu dài đã được chọn cho các thuộc tính tính toán hữu ích của nó. Logic mô tả là một tập hợp con của logic thứ nhất không chỉ có thể quyết định được mà còn có các thuật toán hiệu quả cho hầu hết các vấn đề gặp phải trong thực tế. Tôi sẽ có nhiều hơn để nói về nó sau này. Điều quan trọng (và khó hiểu!) Cần lưu ý ở đây là cả hai đều có cú pháp giống hệt nhau, nhưng ngữ nghĩa hoàn toàn khác nhau! Điều đó có nghĩa là, các khái niệm được sử dụng trong cả hai biến thể Full và DL đều giống nhau về mặt trực giác, nhưng việc giải thích các cấu trúc khác nhau và một số câu lệnh bị cấm trong OWL DL. Điều này làm cho âm thanh như thể OWL DL sẽ ít quan trọng hơn, nhưng thực tế lại ngược lại. Phiên bản mới nhất OWL 2.0 hầu như chỉ tập trung vào việc tinh chỉnh OWL DL. Công cụ phổ biến nhất để làm việc với OWL, Tôi sẽ có nhiều hơn để nói về nó sau này. Điều quan trọng (và khó hiểu!) Cần lưu ý ở đây là cả hai đều có cú pháp giống hệt nhau, nhưng ngữ nghĩa hoàn toàn khác nhau! Điều đó có nghĩa là, các khái niệm được sử dụng trong cả hai biến thể Full và DL đều giống nhau về mặt trực giác, nhưng việc giải thích các cấu trúc khác nhau và một số câu lệnh bị cấm trong OWL DL. Điều này làm cho âm thanh như thể OWL DL sẽ ít quan trọng hơn, nhưng thực tế lại ngược lại. Phiên bản mới nhất OWL 2.0 hầu như chỉ tập trung vào việc tinh chỉnh OWL DL. Công cụ phổ biến nhất để làm việc với OWL, Tôi sẽ có nhiều hơn để nói về nó sau này. Điều quan trọng (và khó hiểu!) Cần lưu ý ở đây là cả hai đều có cú pháp giống hệt nhau, nhưng ngữ nghĩa hoàn toàn khác nhau! Điều đó có nghĩa là, các khái niệm được sử dụng trong cả hai biến thể Full và DL đều giống nhau về mặt trực giác, nhưng việc giải thích các cấu trúc khác nhau và một số câu lệnh bị cấm trong OWL DL. Điều này làm cho âm thanh như thể OWL DL sẽ ít quan trọng hơn, nhưng thực tế lại ngược lại. Phiên bản mới nhất OWL 2.0 hầu như chỉ tập trung vào việc tinh chỉnh OWL DL. Công cụ phổ biến nhất để làm việc với OWL, nhưng việc giải thích các cấu trúc khác nhau và một số câu lệnh bị cấm trong OWL DL. Điều này làm cho âm thanh như thể OWL DL sẽ ít quan trọng hơn, nhưng thực tế lại ngược lại. Phiên bản mới nhất OWL 2.0 hầu như chỉ tập trung vào việc tinh chỉnh OWL DL. Công cụ phổ biến nhất để làm việc với OWL, nhưng việc giải thích các cấu trúc khác nhau và một số câu lệnh bị cấm trong OWL DL. Điều này làm cho âm thanh như thể OWL DL sẽ ít quan trọng hơn, nhưng thực tế lại ngược lại. Phiên bản mới nhất OWL 2.0 hầu như chỉ tập trung vào việc tinh chỉnh OWL DL. Công cụ phổ biến nhất để làm việc với OWL, Protege có tất cả trừ bỏ OWL Full, trong khi API chính thức để làm việc với OWL, OWLAPI chỉ dựa trên DL. Vì vậy, để tôi cung cấp cho bạn một cái nhìn tổng quan về những điều bạn có thể nói trong OWL 2.0 từ góc độ mô hình hóa thuần túy để bạn có thể chơi với nó một chút. Và tôi khuyên bạn nên cài đặt Protege 4+ , nó sẽ có ích nếu bạn theo dõi loạt bài này. Cú pháp mặc định cho RDF và OWL là XML trong đó mọi thứ được tham chiếu bằng URI, có thể có tiền tố không gian tên. Tuy nhiên, tôi sẽ sử dụng một cú pháp thay thế, cũng sử dụng các URI tiền tố không gian tên, nhưng nó ngắn gọn và dễ đọc hơn - cú pháp chức năng của OWL.

Trong OWL, bạn có thể khai báo các thực thể là một phần của mô hình của bạn và sau đó đưa ra tuyên bố về chúng. Các thực thể là lớp, thuộc tính hoặc cá nhân. Và có hai loại thuộc tính - thuộc tính đối tượng trong đó các giá trị là các cá nhân hoặc thuộc tính dữ liệu trong đó các giá trị là các ký tự dữ liệu được nhập bởi một số loại dữ liệu Lược đồ XML.

Một lớp có thể được khai báo là một lớp con của một lớp khác và có một con cú lớp cấp cao nhất : Điều đó là siêu lớp của tất cả. Người ta cũng có thể tuyên bố các cá nhân và tuyên bố họ thuộc về lớp nào. Lưu ý rằng thuật ngữ cá nhân được sử dụng trong OWL 2.0 thay vì , ví dụ,và điều này một lần nữa là kết quả của sự nhấn mạnh vào Logic Mô tả. Chúng tôi không thực sự nói về việc "khởi tạo" một cá nhân dựa trên mẫu lớp. Thay vào đó, sự tồn tại của các cá nhân được tuyên bố bằng cách nói về họ, ví dụ bằng cách khẳng định rằng họ thuộc về một lớp hoặc họ có các thuộc tính nhất định. Vì vậy, đây là một hệ thống phân cấp nhỏ của xe hơi cùng với một số xe thực tế:Declaration(Class(cars:Car)) Declaration(Class(cars:Ford)) SubClassOf(cars:Ford cars:Car) Declaration(Class(cars:Honda)) SubClassOf(cars:Honda cars:Car) Declaration(Class(cars:Hybrid)) Declaration(Class(cars:Lada)) SubClassOf(cars:Lada cars:Car) Declaration(NamedIndividual(cars:F100)) ClassAssertion(cars:Ford cars:F100) Declaration(NamedIndividual(cars:H100)) ClassAssertion(cars:Honda cars:H100)Mỗi dòng trên đây đại diện cho một tiên đề - một tuyên bố logic riêng lẻ. Một bản thể luận của OWL không gì khác hơn là một bộ tiên đề. Ở đây chúng tôi đang sử dụng những chiếc xe: không gian tên cho bản thể luận ví dụ của chúng tôi. Có một số tiên đề Tuyên bố chỉ nêu sự tồn tại và loại thực thể, vì vậy chúng tôi đang khai báo một vài lớp và một vài cá nhân (NamedInn trái ngược với các cá nhân ẩn danh gần giống với các nút trống RDF).

Bạn cũng có thể thấy một vài tiên đề SubClassOf nói rằng đối số thứ nhất là một lớp con của thứ hai. Và một vài ClassAssertstiên đề tuyên bố rằng một cá nhân (ví dụ: ô tô: F100) thuộc về một loại nhất định (ô tô: Ford). Sẽ ổn khi nói xe hơi: F100 là một ví dụ của xe hơi: Ford. Ý nghĩa không chính thức là như nhau. Nhưng chính thức, sẽ chính xác hơn khi nói rằng ô tô: F100 đang được phân loại là ô tô: Ford. Điều này là do, như tôi đã nói, không có quá trình khởi tạo thực sự. Tương tự, các thuộc tính không được coi là thuộc về một lớp. Thay vào đó, chúng được coi là các vị từ RDF, các mối quan hệ liên kết các cá nhân với các cá nhân khác (trong trường hợp thuộc tính đối tượng) hoặc với nghĩa đen (trong trường hợp thuộc tính dữ liệu). Những gì liên kết thuộc tính với các lớp là các hạn chế được đặt trên miền và phạm vi của chúng. Ví dụ, thay vì nói rằng xe hạng có giá tài sản kiểu float, ai nói rằng các tài sản dữ liệu giá có một miền xe và một loạt xsd: float . Đây là vẻ ngoài:Declaration(DataProperty(cars:price)) DataPropertyDomain(cars:price cars:Car) DataPropertyRange(cars:price xsd:float)Đừng lo lắng quá nhiều về tính dài dòng của cú pháp. Bạn thực sự sẽ sử dụng một công cụ (ví dụ Protege) hoặc thư viện lập trình để thao tác các bản thể luận của OWL. Các thuộc tính dữ liệu khác với các thuộc tính đối tượng ở chỗ đối số thứ 2 (phạm vi của chúng) được dự kiến ​​là một nghĩa đen chứ không phải là một cá nhân khác. Đây là cách các thuộc tính được gán cho các cá nhân:DataPropertyAssertion(cars:price cars:H100 "2500") ObjectPropertyAssertion(cars:owns cars:Eve cars:H100)Dòng đầu tiên ở trên xác nhận một thuộc tính dữ liệu và dòng thứ hai xác nhận một thuộc tính đối tượng. Lưu ý rằng thuộc tính dữ liệu vẫn được viết dưới dạng chuỗi ký tự ngay cả khi loại dự kiến ​​là float. Tính đúng đắn của giá trị thực tế là điều mà các nhà lý luận có nghĩa vụ phải thi hành. Một khía cạnh khác mà các lý luận có thể giúp đỡ là các thuộc tính cần thiết. Mặc dù bạn không thể nói rõ rằng một thuộc tính thuộc về một lớp, bạn có thể nói rằng tất cả các cá nhân của một lớp phải có một thuộc tính nhất định. Bạn làm điều này thông qua một cái gì đó gọi là biểu thức lớp. Một biểu thức lớp mô tảmột tập hợp các cá nhân và đó là nơi thuật ngữ Mô tả logic xuất phát. Nhưng chúng ta sẽ nói nhiều hơn về lý luận và vai trò của họ sau này. Cũng lưu ý rằng tôi đã không tuyên bố cả những chiếc xe: sở hữu tài sản cũng không phải những chiếc xe: cá nhân đêm giao thừa. Tôi đã bỏ qua những phần đó cho ngắn gọn, nhưng một phần để minh họa rằng những tuyên bố đó thực sự không cần thiết. Đề cập đến một thực thể ở một nơi mà một loại nào đó được mong đợi sẽ tự động đưa thứ đó tồn tại trong bản thể luận. Một tuyên bố trong và bản thân nó không có kết quả logic trong OWL. Do đó, trong một ObjectPropertyAssertsđối số đầu tiên của tiên đề được dự kiến ​​là một thuộc tính đối tượng và đối số thứ hai được dự kiến ​​là một cá nhân, vì vậy chúng tôi không phải khai báo chúng trước. Khi bạn đang tạo một bản thể luận với Protege, trước tiên bạn có thể sẽ khai báo mọi thứ để bạn có thể duyệt chúng trong UI, nhưng khi bạn đang viết một chương trình, bỏ qua các khai báo sẽ giúp bạn tiết kiệm được một vài dòng mã.
Điểm trừ của cái nhìn thoáng qua này về OWL là chủ nghĩa hình thức cung cấp các yếu tố thiết yếu của mô hình hướng đối tượng, nhưng với một sự thay đổi hợp lý. Vòng xoắn đó đòi hỏi những lợi ích của một nền tảng toán học vững chắc cũng như một số nhược điểm đối với lập trình viên OO vì các khái niệm cốt lõi của nó chỉ quen thuộc bề ngoài. Sự khởi đầu từ quan niệm thông thường của các lớp là bản thiết kế, vì các nhà máy sản xuất nguyên tử các vật thể với một loạt các thuộc tính có vẻ như được đặt lại. Tuy nhiên, một bài tập về mô hình hóa miền ứng dụng trong OWL sẽ tạo ra một nền tảng kiến ​​thức thực sự mà bạn có thể đưa ra những suy luận không tầm thường và bạn có thể sử dụng như một mô hình khả thi có thể truy cập được trong thời gian chạy, một mô hình mà người ta có thể thao tác như một (meta) cơ sở dữ liệu theo chương trình. Hiện nay,

Săp diên ra

Trong cột tiếp theo, tôi sẽ giới thiệu tính hình thức toán học của Mô tả logic và giải thích cách nó được thực hiện trong tiêu chuẩn OWL 2.0. Tôi sẽ giới thiệu các giả định quan trọng về Thế giới mở và Tên không độc đáo và xem một vài ví dụ về hậu quả của chúng.

Tiếp tục đến Phần 2

  • web dev
8 hữu ích 0 bình luận 7.9k xem chia sẻ