Tôi đang cố gắng nắm bắt khái niệm Semantic Web. Tôi thấy thật khó để hiểu chính xác sự khác biệt giữa RDF và OWL là gì. OWL là một phần mở rộng của RDF hay hai công nghệ này hoàn toàn khác nhau?
Tôi đang cố gắng nắm bắt khái niệm Semantic Web. Tôi thấy thật khó để hiểu chính xác sự khác biệt giữa RDF và OWL là gì. OWL là một phần mở rộng của RDF hay hai công nghệ này hoàn toàn khác nhau?
Câu trả lời:
Các web ngữ nghĩa đến trong lớp. Đây là một bản tóm tắt nhanh chóng về những cái tôi nghĩ rằng bạn quan tâm.
Cập nhật : Xin lưu ý rằng RDFS được sử dụng để xác định cấu trúc của dữ liệu, không phải OWL. OWL mô tả các mối quan hệ ngữ nghĩa mà lập trình bình thường, chẳng hạn như cấu trúc C, không bị xáo trộn và gần với lý thuyết nghiên cứu & thiết lập AI hơn.
Bộ ba & URI
Subject - Predicate - Object
Những điều này mô tả một thực tế duy nhất. Nói chung, URI được sử dụng cho chủ đề và vị ngữ. Đối tượng là một URI khác hoặc bằng chữ, chẳng hạn như một số hoặc chuỗi. Chữ có thể có một loại (cũng là một URI) và chúng cũng có thể có một ngôn ngữ. Vâng, điều này có nghĩa là bộ ba có thể có tới 5 bit dữ liệu!
Ví dụ, một bộ ba có thể mô tả thực tế rằng Charles là cha của Harry.
<http://example.com/person/harry> <http://familyontology.net/1.0#hasFather> <http://example.com/person/charles> .
Bộ ba là chuẩn hóa cơ sở dữ liệu được đưa đến một cực kỳ logic. Chúng có lợi thế là bạn có thể tải bộ ba từ nhiều nguồn vào một cơ sở dữ liệu mà không cần cấu hình lại.
RDF và RDFS
Lớp tiếp theo là RDF - Khung mô tả tài nguyên. RDF định nghĩa một số cấu trúc bổ sung cho bộ ba. Điều quan trọng nhất mà RDF định nghĩa là một vị từ gọi là "rdf: type". Điều này được sử dụng để nói rằng mọi thứ là một số loại. Mọi người đều sử dụng rdf: type khiến nó rất hữu ích.
RDFS (Lược đồ RDF) định nghĩa một số lớp đại diện cho khái niệm về chủ thể, đối tượng, vị ngữ, v.v. Điều này có nghĩa là bạn có thể bắt đầu đưa ra tuyên bố về các lớp của sự vật và các loại mối quan hệ. Ở cấp độ đơn giản nhất, bạn có thể nêu những điều như http: // f Familyontology.net/1.0#hasFather là mối quan hệ giữa một người và một người. Nó cũng cho phép bạn mô tả trong văn bản có thể đọc được của con người về ý nghĩa của một mối quan hệ hoặc một lớp. Đây là một lược đồ. Nó cho bạn biết sử dụng hợp pháp của các lớp và mối quan hệ khác nhau. Nó cũng được sử dụng để chỉ ra rằng một lớp hoặc thuộc tính là một kiểu con của một loại tổng quát hơn. Ví dụ: "HumanParent" là một lớp con của "Người". "Yêu" là một lớp con của "Biết".
Nối tiếp RDF
RDF có thể được xuất ra ở một số định dạng tệp. Phổ biến nhất là RDF + XML nhưng điều này có một số điểm yếu.
N3 là định dạng không phải XML dễ đọc hơn và có một số tập hợp con (Rùa và N-Triples) chặt chẽ hơn.
Điều quan trọng cần biết là RDF là cách làm việc với bộ ba, KHÔNG phải là định dạng tệp.
XSD
XSD là một không gian tên được sử dụng chủ yếu để mô tả các loại thuộc tính, như ngày, số nguyên, v.v. Nó thường được thấy trong dữ liệu RDF xác định loại cụ thể của một nghĩa đen. Nó cũng được sử dụng trong các lược đồ XML, một loại cá hơi khác một chút.
SỞ HỮU
OWL thêm ngữ nghĩa vào lược đồ. Nó cho phép bạn chỉ định nhiều hơn về các thuộc tính và các lớp. Nó cũng được thể hiện trong ba lần. Ví dụ: nó có thể chỉ ra rằng "Nếu A isMarriedTo B" thì điều này có nghĩa là "B isMarriedTo A". Hoặc nếu " C isAncestorOf D " và " D isAncestorOf E " thì " C isAncestorOf E ". Một điều hữu ích khác mà cú cho biết thêm là khả năng nói hai điều giống nhau, điều này rất hữu ích cho việc kết hợp dữ liệu được thể hiện trong các lược đồ khác nhau. Bạn có thể nói rằng mối quan hệ" được gieo "trong một lược đồ là cú: sameAs" cha " Một số lược đồ khác. Bạn cũng có thể sử dụng nó để nói hai điều giống nhau, chẳng hạn như "Elvis Presley" trên wikipedia giống như trên BBC. Điều này rất thú vị vì nó có nghĩa là bạn có thể bắt đầu tham gia dữ liệu từ nhiều trang web (đây là "Dữ liệu được liên kết").
Bạn cũng có thể sử dụng OWL để suy ra các sự kiện ngầm, chẳng hạn như " C isAncestorOf E ".
Nói ngắn gọn:
Như poster trước đã viết, RDF là một đặc tả cho bạn biết cách xác định ba lần.
Vấn đề là RDF cho phép bạn xác định mọi thứ, vì vậy bạn có thể soạn một khai báo như thế này:
| subject | predicate | object |
|---------|-----------|--------|
| Alex | Eats | Apples |
| Apples | Eats | Apples |
| Apples | Apples | Apples |
Những bộ ba này tạo thành các tài liệu RDF hợp lệ.
Nhưng, về mặt ngữ nghĩa, bạn hiểu rằng những tuyên bố này không chính xác và RDF có thể giúp bạn xác thực những gì bạn đã viết.
Đây không phải là một bản thể học hợp lệ.
Đặc tả OWL định nghĩa chính xác những gì bạn có thể viết với RDF để có bản thể luận hợp lệ.
Bản thể có thể có một số thuộc tính.
Đó là lý do tại sao OWL (ver 1) định nghĩa một số phiên bản như OWL DL, OWL Lite, OWL Full.
RDF, RDFS và OWL là phương tiện để thể hiện thông tin hoặc kiến thức ngày càng phức tạp. Tất cả chúng có thể được tuần tự hóa theo cú pháp RDF / XML (hoặc bất kỳ cú pháp tuần tự hóa RDF nào khác như Rùa hoặc N3 chẳng hạn).
Các công nghệ này có liên quan và được cho là có thể tương tác với nhau, tuy nhiên chúng có nguồn gốc khác nhau có thể là lý do tại sao mối quan hệ giữa chúng rất phức tạp để nắm bắt. Sự lựa chọn cái này hay cái khác phụ thuộc vào mức độ phức tạp của tình huống mà bạn đang lập mô hình yêu cầu.
Tóm tắt biểu cảm
RDF : Biểu diễn đơn giản, tập trung vào các thể hiện và ánh xạ tới các kiểu của chúng ( rdf:type
). Có thể xác định các thuộc tính tùy chỉnh để liên kết dữ liệu và tạo bộ ba. Dữ liệu RDF được truy vấn với SPARQL. Ví dụ về RDF được tuần tự hóa trong Rùa:
@prefix : <http://www.example.org/> .
:john rdf:type :Man .
:john :livesIn "New-York" .
:livesIn rdf:type rdf:Property .
RDFS: Một số tình huống không dễ dàng được mô hình hóa bởi RDF, đôi khi thật thú vị khi biểu diễn các mối quan hệ phức tạp hơn như các lớp con ( loại của một loại ) chẳng hạn. RDFS cung cấp các phương tiện đặc biệt để biểu diễn các trường hợp như vậy, với các cấu trúc như rdfs:subClassOf
, rdfs:range
hoặc rdfs:domain
. Lý tưởng nhất, một lý do có thể hiểu ngữ nghĩa RDFS và mở rộng số lượng bộ ba dựa trên các mối quan hệ: Ví dụ: nếu bạn có bộ ba John a Man
và Man rdfs:subClassOf
Human
sau đó bạn cũng nên tạo bộ ba John a Human
. Lưu ý rằng điều này không thể thực hiện được với RDF một mình. Dữ liệu RDFS được truy vấn bằng SPARQL. Ví dụ về RDFS được tuần tự hóa trong Rùa:
@prefix : <http://www.example.org/> .
:john rdf:type :Man .
:Man rdfs:subClassOf :Human .
:john :livesIn "New-York" .
:livesIn rdf:type rdf:Property .
# After reasoning
:john rdf:type :Human .
OWL: Mức độ biểu cảm cao nhất. Mối quan hệ giữa các lớp có thể được mô hình hóa chính thức dựa trên logic mô tả (lý thuyết toán học). OWL phụ thuộc rất nhiều vào lý do, có thể biểu thị các cấu trúc phức tạp như các thuộc tính chuỗi chẳng hạn hoặc hạn chế giữa các lớp. OWL phục vụ để xây dựng các bản thể luận hoặc lược đồ trên đầu bộ dữ liệu RDF. Vì OWL có thể được tuần tự hóa dưới dạng RDF / XML, về mặt lý thuyết có thể truy vấn nó thông qua SPARQL, tuy nhiên việc truy vấn một bản thể luận OWL bằng một truy vấn DL (thường là biểu thức lớp OWL tiêu chuẩn). Ví dụ về các cấu trúc OWL được tuần tự hóa trong Rùa.
@prefix : <http://www.example.org/> .
:livesIn rdf:type owl:DatatypeProperty .
:Human rdf:type owl:Class .
:Man rdf:type owl:Class .
:Man rdfs:subClassOf :Human .
:John rdf:type :Man .
:John rdf:type owl:NamedIndividual .
Đầu tiên, như đã được chỉ ra trước đó, cú có thể được tuần tự hóa trong RDF.
Thứ hai, OWL bổ sung khả năng bản thể cho RDF (bản thân nó chỉ cung cấp khả năng cực kỳ hạn chế cho biểu diễn kiến thức chính thức), bằng cách cung cấp cho bộ máy xác định các thành phần của bộ ba bằng cách sử dụng logic mô tả thứ tự tính toán chính thức. Đó là những gì áp phích ở đây có nghĩa là khi họ nói về "sự phong phú về ngữ nghĩa".
Thứ ba, điều quan trọng là phải nhận ra rằng trong OWL-Full (đối với OWL 1) rdfs: class và Owl: class là tương đương và trong OWL-DL, Owl: class là một lớp con của rdfs: class. Trên thực tế, điều này có nghĩa là bạn có thể sử dụng một bản thể luận OWL làm lược đồ cho RDF (không chính thức yêu cầu schemata).
Tôi hy vọng điều đó sẽ giúp làm rõ hơn.
Khi bạn đang sử dụng thuật ngữ RDF, bạn phải phân biệt hai điều:
Bạn có thể coi RDF là một khái niệm :
Một cách để mô tả sự vật / logic / bất cứ điều gì bằng cách sử dụng bộ sưu tập của bộ ba.
Thí dụ:
"Anna có táo." "Táo khỏe mạnh."
Ở trên bạn có hai bộ ba mô tả hai tài nguyên "Anna" và "táo". Khái niệm về RDF (Khung mô tả tài nguyên) là bạn có thể mô tả tài nguyên (mọi thứ) với các bộ chỉ có 3 từ (thuật ngữ). Ở cấp độ này, bạn không quan tâm đến cách bạn lưu trữ thông tin, cho dù bạn có một chuỗi 3 từ, hoặc một bức tranh trên tường, hoặc một bảng có 3 cột, v.v.
Ở cấp độ khái niệm này, điều duy nhất quan trọng là bạn có thể đại diện cho bất cứ điều gì bạn muốn bằng cách sử dụng ba câu lệnh.
Bạn có thể tham khảo RDF như một từ vựng
Một từ vựng chỉ là một tập hợp các định nghĩa thuật ngữ được lưu trữ trong một tập tin hoặc một nơi nào đó. Các thuật ngữ được xác định này có mục đích thường được sử dụng lại trong các mô tả khác để mọi người có thể mô tả dữ liệu (tài nguyên) dễ dàng hơn và theo cách chuẩn.
Trên trang web, bạn có thể tìm thấy một số từ vựng tiêu chuẩn như:
RDF ( https://www.w3.org/1999/02/22-rdf-syntax-ns )
RDFS ( https://www.w3.org/2000/01/rdf-schema# )
SỞ HỮU ( https://www.w3.org/2002/07/owl )
Từ vựng RDF định nghĩa các thuật ngữ giúp bạn mô tả (ở mức cơ bản nhất có thể) các cá nhân / thể hiện của các lớp. Ví dụ: rdf: loại, rdf: Tài sản.
Với rdf: type bạn có thể mô tả rằng một số tài nguyên là một thể hiện của một lớp:
<http://foo.com/anna> rdf:type <http://foo.com/teacher>
Vì vậy, từ vựng RDF có các thuật ngữ nhắm mục tiêu mô tả cơ bản về các thể hiện của lớp và một số mô tả khác (như định nghĩa ba câu lệnh hoặc định nghĩa vị ngữ ... nói chung là những gì được đưa vào khái niệm RDF).
Từ vựng RDFS có các định nghĩa thuật ngữ giúp bạn mô tả các lớp và mối quan hệ giữa chúng. Từ vựng RDFS không quan tâm đến các thể hiện của các lớp (cá nhân) như từ vựng RDF. Ví dụ: thuộc tính rdfs: subClassOf mà bạn có thể sử dụng để mô tả rằng một lớp A là lớp con của lớp B.
Các từ vựng RDF và RDFS phụ thuộc lẫn nhau. RDF định nghĩa các thuật ngữ của nó bằng RDFS và RDFS sử dụng RDF để xác định các thuật ngữ riêng của nó.
Các từ vựng RDF / RDFS cung cấp các thuật ngữ có thể được sử dụng để tạo các mô tả tài nguyên rất cơ bản. Nếu bạn muốn có những mô tả phức tạp và chính xác hơn, bạn phải sử dụng từ vựng OWL.
Từ vựng OWL đi kèm với một tập hợp các thuật ngữ mới nhắm mục tiêu mô tả chi tiết hơn. Các thuật ngữ này được định nghĩa bằng cách sử dụng các thuật ngữ từ các từ vựng RDF / RDFS.
owl:ObjectProperty a rdfs:Class ;
rdfs:label "ObjectProperty" ;
rdfs:comment "The class of object properties." ;
rdfs:isDefinedBy <http://www.w3.org/2002/07/owl#> ;
rdfs:subClassOf rdf:Property .
owl:DatatypeProperty a rdfs:Class ;
rdfs:label "DatatypeProperty" ;
rdfs:comment "The class of data properties." ;
rdfs:isDefinedBy <http://www.w3.org/2002/07/owl#> ;
rdfs:subClassOf rdf:Property .
owl:TransitiveProperty a rdfs:Class ;
rdfs:label "TransitiveProperty" ;
rdfs:comment "The class of transitive properties." ;
rdfs:isDefinedBy <http://www.w3.org/2002/07/owl#> ;
rdfs:subClassOf owl:ObjectProperty .
Như bạn có thể thấy ở trên, từ vựng OWL mở rộng khái niệm rdf: Thuộc tính bằng cách tạo các loại Thuộc tính mới ít trừu tượng hơn và có thể cung cấp các mô tả chính xác hơn về tài nguyên.
Kết luận:
RDF là một cách để xác định bộ ba 'chủ đề', 'vị ngữ', 'giá trị' . Ví dụ, nếu tôi muốn nói,
"tôi tên là Pierre"
tôi sẽ viết
<mail:me@where.com> <foaf:name> "Pierre"
Thấy <foaf:name>
không? nó là một phần của bản thể học FOAF . Một bản thể luận là một cách chính thức để mô tả các thuộc tính, các lớp của một chủ đề nhất định và OWL là một cách (RDF) để định nghĩa một bản thể luận.
Bạn sử dụng C ++, Java, v.v ... để xác định Lớp, lớp con, trường, v.v ...
class Person
{
String email_as_id;
String name;
}
RDF sử dụng OWL để định nghĩa các loại câu lệnh này.
Một nơi khác để hỏi loại câu hỏi này: http://www.semanticoverflow.com/
Tôi đang cố gắng nắm bắt khái niệm Semantic Web. Tôi thấy thật khó để hiểu chính xác sự khác biệt giữa RDF và OWL là gì. OWL là một phần mở rộng của RDF hay hai công nghệ này hoàn toàn khác nhau?
Nói tóm lại, vâng, bạn có thể nói rằng OWL là một phần mở rộng của RDF.
Chi tiết hơn, với RDF, bạn có thể mô tả biểu đồ có hướng bằng cách xác định bộ ba đối tượng-vị ngữ-đối tượng. Chủ thể và đối tượng là các nút, vị ngữ là cạnh hoặc nói cách khác, vị ngữ mô tả mối quan hệ giữa chủ thể và đối tượng. Ví dụ :Tolkien :wrote :LordOfTheRings
hay:LordOfTheRings :author :Tolkien
, v.v ... Các hệ thống dữ liệu được liên kết sử dụng các bộ ba này để mô tả các biểu đồ tri thức và chúng cung cấp các cách để lưu trữ chúng, truy vấn chúng. Bây giờ đây là những hệ thống khổng lồ, nhưng bạn có thể sử dụng RDF bởi các dự án nhỏ hơn. Mỗi ứng dụng có một ngôn ngữ cụ thể miền (hoặc theo thuật ngữ DDD phổ biến ở mọi nơi). Bạn có thể mô tả ngôn ngữ đó trong bản thể luận / từ vựng của bạn, vì vậy bạn có thể mô tả mô hình miền của ứng dụng của mình bằng một biểu đồ, bạn có thể hình dung hiển thị nó cho doanh nghiệp ppl, nói về các quyết định kinh doanh dựa trên mô hình và xây dựng ứng dụng trên đầu trang điều đó Bạn có thể liên kết các từ vựng của ứng dụng của bạn với dữ liệu mà nó trả về và với một từ vựng được các công cụ tìm kiếm biết đến, như microdata(ví dụ: bạn có thể sử dụng HTML với RDFA để thực hiện việc này) và vì vậy các công cụ tìm kiếm có thể dễ dàng tìm thấy các ứng dụng của bạn, bởi vì kiến thức về những gì nó sẽ có thể xử lý được bằng máy. Đây là cách web ngữ nghĩa hoạt động. (Ít nhất đây là cách tôi tưởng tượng nó.)
Bây giờ để mô tả các ứng dụng hướng đối tượng, bạn cần các kiểu, lớp, thuộc tính, thể hiện, v.v ... Với RDF, bạn chỉ có thể mô tả các đối tượng. RDFS (lược đồ RDF) giúp bạn mô tả các lớp, kế thừa (dựa trên các đối tượng ofc.), Nhưng nó quá rộng. Để xác định các ràng buộc (ví dụ một đứa trẻ trong một gia đình Trung Quốc), bạn cần một vocab khác. OWL (ngôn ngữ bản thể học web) thực hiện công việc này. OWL là một bản thể luận mà bạn có thể sử dụng để mô tả các ứng dụng web. Nó tích hợp các đơn giản XSD.
Vì vậy, RDF -> RDFS -> OWL -> MyWebApp
thứ tự để mô tả ứng dụng web của bạn theo một cách ngày càng cụ thể hơn.
personA friendsWith personB
), rằng (2) RDFS mở rộng điều này bằng cách cung cấp khả năng chỉ định mối quan hệ giữa object classes
- tức là class Person <has 'friendsWith' relationship> Person
. Điều đó cho phép bạn sau đó cụm từ RDF thông qua lớp : A:typeof:person friendsWith B:<typeof:person>
. Và (3), OWL sau đó cho phép bạn chỉ định các ràng buộc của các mối quan hệ?
RDFS cho phép bạn thể hiện mối quan hệ giữa các thứ bằng cách tiêu chuẩn hóa theo định dạng linh hoạt, dựa trên ba lần và sau đó cung cấp từ vựng ("từ khóa" như rdf:type
hoặcrdfs:subClassOf
) có thể được sử dụng để nói.
OWL tương tự, nhưng lớn hơn, tốt hơn và xấu hơn. OWL cho phép bạn nói nhiều hơn về mô hình dữ liệu của mình, nó cho bạn thấy cách làm việc hiệu quả với các truy vấn cơ sở dữ liệu và lý do tự động và nó cung cấp các chú thích hữu ích để đưa các mô hình dữ liệu của bạn vào thế giới thực.
Về sự khác biệt giữa RDFS và OWL, điều quan trọng nhất là OWL cung cấp vốn từ vựng lớn hơn rất nhiều mà bạn có thể sử dụng để nói .
Ví dụ, OWL bao gồm tất cả những người bạn cũ của bạn từ RDFS như rdfs:type
, rdfs:domain
, và rdfs:subPropertyOf
. Tuy nhiên, OWL cũng mang đến cho bạn những người bạn mới và tốt hơn! Ví dụ: OWL cho phép bạn mô tả dữ liệu của mình theo các thao tác đã đặt:
Example:Mother owl:unionOf (Example:Parent, Example:Woman)
Nó cho phép bạn xác định tương đương trên các cơ sở dữ liệu:
AcmeCompany:JohnSmith owl:sameAs PersonalDatabase:JohnQSmith
Nó cho phép bạn hạn chế các giá trị tài sản:
Example:MyState owl:allValuesFrom (State:NewYork, State:California, …)
trong thực tế, OWL cung cấp rất nhiều từ vựng mới, tinh vi để sử dụng trong mô hình hóa dữ liệu và lý luận có được bài học của riêng mình!
Một điểm khác biệt lớn nữa là không giống như RDFS, OWL không chỉ cho bạn biết cách bạn có thể sử dụng một số từ vựng nhất định, nó thực sự cho bạn biết làm thế nào bạn không thể sử dụng nó. Ngược lại, RDFS cung cấp cho bạn mọi thứ đi vào thế giới mà bạn có thể thêm khá nhiều bất kỳ bộ ba nào bạn muốn.
Ví dụ, trong RDFS, bất cứ điều gì bạn cảm thấy có thể là một thể hiện của rdfs:Class
. Bạn có thể quyết định nói rằng Beagle là một rdfs:Class
và sau đó nói rằng Fido là một ví dụ của Beagle :
Example: Beagle rdf:Type rdfs:Class
Example:Fido rdf:Type Example: Beagle
Tiếp theo, bạn có thể quyết định rằng bạn muốn nói những điều về beagles, có lẽ bạn muốn nói rằng Beagle là một ví dụ về những con chó được lai tạo ở Anh :
Example:Beagle rdf:Type Example:BreedsBredInEngland
Example: BreedsBredInEngland rdf:Type rdfs:Class
Điều thú vị trong ví dụ này là nó Example:Beagle
đang được sử dụng như là một lớp và một thể hiện . Beagle là một lớp học mà Fido là thành viên, nhưng Beagle là thành viên của một lớp khác: Things Bred ở Anh.
Trong RDFS, tất cả điều này là hoàn toàn hợp pháp vì RDFS không thực sự ràng buộc câu lệnh nào bạn có thể và không thể chèn. Ngược lại, trong OWL, hoặc ít nhất là trong một số hương vị của OWL, các tuyên bố trên thực sự không hợp pháp: bạn chỉ đơn giản là không được phép nói rằng một cái gì đó có thể là cả một lớp và một thể hiện.
Đây là một sự khác biệt lớn thứ hai giữa RDFS và OWL. RDFS cho phép miễn phí cho tất cả , mọi thứ diễn ra như thế giới đầy miền Tây hoang dã, Nói chuyện dễ dàng và Salvador Dali. Thế giới của OWL áp đặt một cấu trúc cứng nhắc hơn nhiều.
Giả sử rằng bạn đã dành một giờ cuối cùng để xây dựng một bản thể luận mô tả doanh nghiệp sản xuất radio của bạn. Trong bữa trưa, nhiệm vụ của bạn là xây dựng một bản thể luận cho doanh nghiệp sản xuất đồng hồ của bạn. Chiều nay, sau một tách cà phê đẹp, sếp của bạn bây giờ nói với bạn rằng bạn sẽ phải xây dựng một bản thể luận cho việc kinh doanh đồng hồ radio có lợi nhuận cao của bạn. Có cách nào để dễ dàng sử dụng lại công việc buổi sáng không?
OWL làm cho những việc như thế này rất, rất dễ dàng. Owl:Import
là những gì bạn sẽ sử dụng trong tình hình đồng hồ radio, nhưng OWL cũng mang đến cho bạn một phong phú đa dạng của các chú thích như owl:versionInfo
, owl:backwardsCompatibleWith
, vàowl:deprecatedProperty
, có thể dễ dàng được sử dụng mô hình liên kết dữ liệu lại với nhau thành một tổng thể lẫn nhau chặt chẽ.
Không giống như RDFS, OWL chắc chắn sẽ đáp ứng tất cả các nhu cầu mô hình hóa siêu dữ liệu của bạn.
OWL cung cấp cho bạn vốn từ vựng lớn hơn nhiều để chơi, điều này giúp bạn dễ dàng nói bất cứ điều gì bạn muốn nói về mô hình dữ liệu của mình. Nó thậm chí còn cho phép bạn điều chỉnh những gì bạn nói dựa trên thực tế tính toán của các máy tính ngày nay và để tối ưu hóa cho các ứng dụng cụ thể (ví dụ: cho các truy vấn tìm kiếm.) Ngoài ra, OWL cho phép bạn dễ dàng thể hiện mối quan hệ giữa các ontology khác nhau bằng cách sử dụng khung chú thích tiêu chuẩn .
Tất cả đều là những lợi thế so với RDFS và thường đáng để nỗ lực thêm để làm quen với chúng.
Nguồn: RDFS so với OWL
Trong mô hình đối tượng tài liệu WC3, tài liệu là một thứ trừu tượng: một yếu tố có văn bản, nhận xét, thuộc tính và các yếu tố khác được lồng trong nó.
Trong web ngữ nghĩa, chúng tôi xử lý một bộ "bộ ba". Mỗi bộ ba là:
OWL là vào web ngữ nghĩa như các lược đồ cho mô hình đối tượng tài liệu W3C. Nó ghi lại ý nghĩa của các URI khác nhau và chỉ định cách chúng được sử dụng theo cách chính thức có thể được kiểm tra bằng máy. Một web ngữ nghĩa có thể có hoặc không hợp lệ đối với OWL áp dụng cho nó, giống như một tài liệu có thể hoặc không thể hợp lệ đối với lược đồ.
RDF dành cho web ngữ nghĩa như XML đối với DOM - đó là sự tuần tự hóa của một bộ ba.
Tất nhiên, RDF thường được tuần tự hóa dưới dạng tài liệu XML ... nhưng điều quan trọng là phải hiểu rằng RDF không giống với "tuần tự hóa XML của RDF".
Tương tự, OWL có thể được tuần tự hóa bằng OWL / XML hoặc (xin lỗi về điều này) nó có thể được biểu thị dưới dạng RDF, bản thân nó thường được tuần tự hóa dưới dạng XML.
Ngăn xếp ngữ nghĩa cơ bản đã được giải thích rất nhiều trong chủ đề này. Tôi muốn tập trung vào câu hỏi ban đầu và so sánh RDF với OWL.
Sử dụng OWL là điều cần thiết để có thêm ý nghĩa (lý luận & suy luận) bằng cách chỉ cần biết một vài sự kiện. Thông tin "được tạo động" này có thể được sử dụng thêm cho các truy vấn phù hợp như trong SPARQL.
Một số ví dụ sẽ cho thấy rằng thực sự hoạt động với OWL - những điều này đã được lấy từ bài nói chuyện của tôi về những điều cơ bản của web ngữ nghĩa tại TYPO3camp Mallorca, Tây Ban Nha vào năm 2015.
Spaniard: Person and (inhabitantOf some SpanishCity)
Điều này có nghĩa là Spaniard
phải là một Person
(và do đó thừa hưởng tất cả các thuộc tính trong phần suy luận) và phải sống trong ít nhất một (hoặc nhiều hơn)SpanishCity
.
<Palma isPartOf Mallorca>
<Mallorca contains Palma>
Ví dụ cho thấy kết quả của việc áp dụng inverseOf
cho các thuộc tính isPartOf
và contains
.
<:hasParent owl:cardinality “2“^^xsd:integer>
Điều này xác định rằng mỗi Thing
(trong kịch bản này rất có thể là a Human
) có chính xác hai cha mẹ - tính chính xác được gán cho hasParent
tài sản.
Một bức tranh nói một ngàn chữ! Sơ đồ dưới đây sẽ củng cố những gì Christopher Gutteridge đã nói trong câu trả lời này rằng web ngữ nghĩa là một "kiến trúc phân lớp".
Nguồn: https://www.obitko.com/tutorials/ontology-semantic-web/semantic-web-arch architecture.html
Các Resource Description Framework (RDF) là một hình thức ngôn ngữ biểu diễn tri thức mạnh mẽ và một tiêu chuẩn cơ bản của Semantic Web. Nó có từ vựng riêng xác định các khái niệm và quan hệ cốt lõi (ví dụ: rdf: type tương ứng với mối quan hệ isA) và một mô hình dữ liệu cho phép các câu lệnh có thể hiểu được bằng máy dưới dạng đối tượng-vị ngữ-đối tượng (tài nguyên-giá trị) bộ ba, được gọi là bộ ba RDF, chẳng hạn như hình ảnh mô tả-cuốn sách. Việc mở rộng vốn từ vựng RDF với các khái niệm cần thiết để tạo ra các từ vựng và bản thể học cơ bản được gọi là Lược đồ RDF hoặc Ngôn ngữ mô tả từ vựng RDF (RDFS). RDFS cho phép viết các tuyên bố về các lớp và tài nguyên và thể hiện các cấu trúc phân loại, chẳng hạn như thông qua các mối quan hệ lớp siêu lớp.
Các miền kiến thức phức tạp đòi hỏi nhiều khả năng hơn những gì có sẵn trong RDFS, dẫn đến sự ra đời của OWL . OWL hỗ trợ các mối quan hệ giữa các lớp (liên minh, giao nhau, phân biệt, tương đương), các ràng buộc về số lượng tài sản (tối thiểu, tối đa, số chính xác, ví dụ: mỗi người có chính xác một cha), nhập các thuộc tính phong phú, đặc tính của các thuộc tính và đặc tính (chuyển tiếp, đối xứng, chức năng, chức năng nghịch đảo, ví dụ: A ex: hasAncestor B và B ex: hasAncestor C ngụ ý rằng A ex: hasAncestor C), chỉ định rằng một thuộc tính nhất định là một khóa duy nhất cho các trường hợp của một lớp cụ thể và các giới hạn miền và phạm vi cụ thể cho các thuộc tính.