RDF XML
Ví dụ về tài liệu RDF
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="https://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:si="https://www.example.com.vn/rdf/">
<rdf:Description rdf:about="https://www.example.com.vn">
<si:title>W3Schools</si:title>
<si:author>Jan Egil Refsnes</si:author>
</rdf:Description>
</rdf:RDF>
RDF là gì?
- RDF là viết tắt của RAMwork mô tả tài nguyên D
- RDF là một framework mô tả các tài nguyên trên web
- RDF được thiết kế để máy tính có thể đọc và hiểu được
- RDF không được thiết kế để hiển thị cho mọi người
- RDF được viết bằng XML
- RDF là một phần của Hoạt động web ngữ nghĩa của W3C
- RDF là Khuyến nghị của W3C từ ngày 10 tháng 2 năm 2004
RDF - Ví dụ về sử dụng
- Mô tả các thuộc tính cho các mặt hàng mua sắm, chẳng hạn như giá cả và tính sẵn có
- Mô tả lịch trình thời gian cho các sự kiện trên web
- Mô tả thông tin về các trang web (nội dung, tác giả, ngày tạo và sửa đổi)
- Mô tả nội dung và đánh giá cho hình ảnh trên web
- Mô tả nội dung cho công cụ tìm kiếm
- Mô tả thư viện điện tử
RDF được thiết kế để máy tính có thể đọc được
RDF được thiết kế để cung cấp một cách phổ biến để mô tả thông tin để các ứng dụng máy tính có thể đọc và hiểu được.
Mô tả RDF không được thiết kế để hiển thị trên web.
RDF được viết bằng XML
Tài liệu RDF được viết bằng XML. Ngôn ngữ XML được RDF sử dụng được gọi là RDF/XML.
Bằng cách sử dụng XML, thông tin RDF có thể dễ dàng được trao đổi giữa các loại máy tính khác nhau bằng cách sử dụng các loại hệ điều hành và ngôn ngữ ứng dụng khác nhau.
RDF và "Web ngữ nghĩa"
Ngôn ngữ RDF là một phần của Hoạt động web ngữ nghĩa của W3C. "Tầm nhìn Web ngữ nghĩa" của W3C là một tương lai trong đó:
- Thông tin web có ý nghĩa chính xác
- Thông tin trên web có thể được máy tính hiểu và xử lý
- Máy tính có thể tích hợp thông tin từ web
RDF sử dụng mã định danh Web (URI) để xác định tài nguyên.
RDF mô tả các tài nguyên có thuộc tính và giá trị thuộc tính.
Giá trị tài nguyên, thuộc tính và thuộc tính RDF
RDF xác định mọi thứ bằng cách sử dụng mã định danh Web (URI) và mô tả các tài nguyên có thuộc tính và giá trị thuộc tính.
Giải thích về Tài nguyên, Tài sản và Giá trị Tài sản:
- Tài nguyên là bất kỳ thứ gì có thể có URI, chẳng hạn như "https://www.example.com.vn/rdf"
- Thuộc tính là Tài nguyên có tên, chẳng hạn như "tác giả" hoặc "trang chủ"
- Giá trị Thuộc tính là giá trị của Thuộc tính, chẳng hạn như "Jan Egil Refsnes" hoặc "https://www.example.com.vn" (lưu ý rằng giá trị thuộc tính có thể là một tài nguyên khác)
Tài liệu RDF sau đây có thể mô tả tài nguyên "https://www.example.com.vn/rdf":
<?xml version="1.0"?>
<RDF>
<Description about="https://www.example.com.vn/rdf">
<author>Jan Egil Refsnes</author>
<homepage>https://www.example.com.vn</homepage>
</Description>
</RDF>
Ví dụ trên được đơn giản hóa. Không gian tên được bỏ qua.
Báo cáo RDF
Sự kết hợp giữa giá trị Tài nguyên, Thuộc tính và Thuộc tính tạo thành một Tuyên bố (được gọi là chủ ngữ, vị ngữ và đối tượng của Tuyên bố).
Chúng ta hãy xem xét một số tuyên bố ví dụ để hiểu rõ hơn:
Tuyên bố: "Tác giả của https://www.example.com.vn/rdf là Jan Egil Refsnes".
- Chủ đề của tuyên bố trên là: https://www.example.com.vn/rdf
- Vị ngữ là: tác giả
- Đối tượng là: Jan Egil Refsnes
Tuyên bố: "Trang chủ của https://www.example.com.vn/rdf là https://www.example.com.vn".
- Chủ đề của tuyên bố trên là: https://www.example.com.vn/rdf
- Vị ngữ là: trang chủ
- Đối tượng là: https://www.example.com.vn
Ví dụ RDF
Đây là hai bản ghi từ danh sách CD:
Title | Artist | Country | Company | Price | Year |
---|---|---|---|---|---|
Empire Burlesque | Bob Dylan | USA | Columbia | 10.90 | 1985 |
Hide your heart | Bonnie Tyler | UK | CBS Records | 9.90 | 1988 |
Dưới đây là một vài dòng từ một tài liệu RDF:
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="https://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="https://www.recshop.fake/cd#">
<rdf:Description
rdf:about="https://www.recshop.fake/cd/Empire Burlesque">
<cd:artist>Bob Dylan</cd:artist>
<cd:country>USA</cd:country>
<cd:company>Columbia</cd:company>
<cd:price>10.90</cd:price>
<cd:year>1985</cd:year>
</rdf:Description>
<rdf:Description
rdf:about="https://www.recshop.fake/cd/Hide your heart">
<cd:artist>Bonnie Tyler</cd:artist>
<cd:country>UK</cd:country>
<cd:company>CBS Records</cd:company>
<cd:price>9.90</cd:price>
<cd:year>1988</cd:year>
</rdf:Description>
.
.
.
</rdf:RDF>
Dòng đầu tiên của tài liệu RDF là khai báo XML. Sau phần khai báo XML là phần tử gốc của tài liệu RDF: <rdf:RDF> .
Không gian tên xmlns:rdf , chỉ định rằng các phần tử có tiền tố rdf là từ không gian tên "https://www.w3.org/1999/02/22-rdf-syntax-ns#".
Không gian tên xmlns:cd chỉ định các phần tử có tiền tố cd là từ không gian tên "https://www.recshop.fake/cd#".
Phần tử <rdf:Description> chứa mô tả về tài nguyên được xác định bởi thuộc tính rdf:about .
Các phần tử: <cd:artist>, <cd:country>, <cd:company>, v.v. là các thuộc tính của tài nguyên.
Trình xác thực trực tuyến RDF
Dịch vụ xác thực RDF của W3C rất hữu ích khi học RDF. Tại đây bạn có thể thử nghiệm với các tệp RDF.
Trình xác thực RDF trực tuyến phân tích tài liệu RDF của bạn, kiểm tra cú pháp của bạn và tạo các dạng xem dạng bảng và đồ họa cho tài liệu RDF của bạn.
Sao chép và dán ví dụ bên dưới vào trình xác nhận RDF của W3C:
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="https://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:si="https://www.example.com.vn/rdf/">
<rdf:Description rdf:about="https://www.example.com.vn">
<si:title>W3Schools.com</si:title>
<si:author>Jan Egil Refsnes</si:author>
</rdf:Description>
</rdf:RDF>
Khi bạn phân tích ví dụ trên, kết quả sẽ giống như thế này .
Phần tử RDF
Các phần tử chính của RDF là phần tử gốc, <RDF>, và phần tử <Description>, xác định một tài nguyên.
Phần tử <rdf:RDF>
<rdf:RDF> là phần tử gốc của tài liệu RDF. Nó định nghĩa tài liệu XML là tài liệu RDF. Nó cũng chứa một tham chiếu đến không gian tên RDF:
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="https://www.w3.org/1999/02/22-rdf-syntax-ns#">
... Description goes here...
</rdf:RDF>
Phần tử <rdf:Description>
Phần tử <rdf:Description> xác định một tài nguyên có thuộc tính about.
Phần tử <rdf:Description> chứa các phần tử mô tả tài nguyên:
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="https://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="https://www.recshop.fake/cd#">
<rdf:Description
rdf:about="https://www.recshop.fake/cd/Empire Burlesque">
<cd:artist>Bob Dylan</cd:artist>
<cd:country>USA</cd:country>
<cd:company>Columbia</cd:company>
<cd:price>10.90</cd:price>
<cd:year>1985</cd:year>
</rdf:Description>
</rdf:RDF>
Các yếu tố, nghệ sĩ, quốc gia, công ty, giá cả và năm được xác định trong không gian tên https://www.recshop.fake/cd#. Không gian tên này nằm ngoài RDF (và không phải là một phần của RDF). RDF chỉ định nghĩa khung. Các yếu tố, nghệ sĩ, quốc gia, công ty, giá cả và năm phải được xác định bởi người khác (công ty, tổ chức, cá nhân, v.v.).
Thuộc tính dưới dạng thuộc tính
Các phần tử thuộc tính cũng có thể được định nghĩa là thuộc tính (thay vì phần tử):
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="https://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="https://www.recshop.fake/cd#">
<rdf:Description
rdf:about="https://www.recshop.fake/cd/Empire Burlesque"
cd:artist="Bob Dylan" cd:country="USA"
cd:company="Columbia" cd:price="10.90"
cd:year="1985" />
</rdf:RDF>
Thuộc tính dưới dạng tài nguyên
Các thành phần thuộc tính cũng có thể được định nghĩa là tài nguyên:
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="https://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="https://www.recshop.fake/cd#">
<rdf:Description
rdf:about="https://www.recshop.fake/cd/Empire Burlesque">
<cd:artist rdf:resource="https://www.recshop.fake/cd/dylan" />
...
...
</rdf:Description>
</rdf:RDF>
Trong ví dụ trên, thuộc tính artist không có giá trị mà là tham chiếu đến tài nguyên chứa thông tin về nghệ sĩ.
Thùng chứa RDF
Các thùng chứa RDF được sử dụng để mô tả nhóm sự vật.
Các phần tử RDF sau đây được sử dụng để mô tả các nhóm: <Bag>, <Seq> và <Alt>.
Phần tử <rdf:Bag>
Phần tử <rdf:Bag> được sử dụng để mô tả danh sách các giá trị không nhất thiết phải theo thứ tự cụ thể.
Phần tử <rdf:Bag> có thể chứa các giá trị trùng lặp.
Ví dụ
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="https://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="https://www.recshop.fake/cd#">
<rdf:Description
rdf:about="https://www.recshop.fake/cd/Beatles">
<cd:artist>
<rdf:Bag>
<rdf:li>John</rdf:li>
<rdf:li>Paul</rdf:li>
<rdf:li>George</rdf:li>
<rdf:li>Ringo</rdf:li>
</rdf:Bag>
</cd:artist>
</rdf:Description>
</rdf:RDF>
Phần tử <rdf:Seq>
Phần tử <rdf:Seq> được sử dụng để mô tả danh sách các giá trị có thứ tự (Ví dụ: theo thứ tự bảng chữ cái).
Phần tử <rdf:Seq> có thể chứa các giá trị trùng lặp.
Ví dụ
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="https://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="https://www.recshop.fake/cd#">
<rdf:Description
rdf:about="https://www.recshop.fake/cd/Beatles">
<cd:artist>
<rdf:Seq>
<rdf:li>George</rdf:li>
<rdf:li>John</rdf:li>
<rdf:li>Paul</rdf:li>
<rdf:li>Ringo</rdf:li>
</rdf:Seq>
</cd:artist>
</rdf:Description>
</rdf:RDF>
Phần tử <rdf:Alt>
Phần tử <rdf:Alt> được sử dụng để mô tả danh sách các giá trị thay thế (người dùng chỉ có thể chọn một trong các giá trị).
Ví dụ
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="https://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="https://www.recshop.fake/cd#">
<rdf:Description
rdf:about="https://www.recshop.fake/cd/Beatles">
<cd:format>
<rdf:Alt>
<rdf:li>CD</rdf:li>
<rdf:li>Record</rdf:li>
<rdf:li>Tape</rdf:li>
</rdf:Alt>
</cd:format>
</rdf:Description>
</rdf:RDF>
Điều khoản RDF
Trong các ví dụ trên, chúng ta đã nói về "danh sách các giá trị" khi mô tả các phần tử vùng chứa. Trong RDF những "danh sách giá trị" này được gọi là thành viên.
Vì vậy, chúng tôi có những điều sau đây:
- Một thùng chứa là một tài nguyên chứa những thứ
- Những thứ được chứa được gọi là thành viên (không phải danh sách giá trị)
Bộ sưu tập RDF
Bộ sưu tập RDF mô tả các nhóm CHỈ có thể chứa các thành viên được chỉ định.
Thuộc tính rdf:parseType="Collection"
Như đã thấy ở chương trước, vùng chứa nói rằng tài nguyên chứa là thành viên - nó không nói rằng các thành viên khác không được phép.
Bộ sưu tập RDF được sử dụng để mô tả các nhóm CHỈ có thể chứa các thành viên được chỉ định.
Một bộ sưu tập được mô tả bằng thuộc tính rdf:parseType="Collection".
Ví dụ
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="https://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="https://recshop.fake/cd#">
<rdf:Description
rdf:about="https://recshop.fake/cd/Beatles">
<cd:artist rdf:parseType="Collection">
<rdf:Description rdf:about="https://recshop.fake/cd/Beatles/George"/>
<rdf:Description rdf:about="https://recshop.fake/cd/Beatles/John"/>
<rdf:Description rdf:about="https://recshop.fake/cd/Beatles/Paul"/>
<rdf:Description rdf:about="https://recshop.fake/cd/Beatles/Ringo"/>
</cd:artist>
</rdf:Description>
</rdf:RDF>
Lược đồ RDF và các lớp ứng dụng
Lược đồ RDF (RDFS) là một phần mở rộng của RDF.
RDF mô tả tài nguyên với các lớp, thuộc tính và giá trị.
Ngoài ra, RDF cũng cần một cách để xác định các lớp và thuộc tính dành riêng cho ứng dụng. Các lớp và thuộc tính dành riêng cho ứng dụng phải được xác định bằng cách sử dụng các phần mở rộng cho RDF.
Một phần mở rộng như vậy là Lược đồ RDF.
Lược đồ RDF (RDFS)
Lược đồ RDF không cung cấp các lớp và thuộc tính dành riêng cho ứng dụng thực tế.
Thay vào đó, Lược đồ RDF cung cấp khung để mô tả các lớp và thuộc tính dành riêng cho ứng dụng.
Các lớp trong Lược đồ RDF rất giống các lớp trong ngôn ngữ lập trình hướng đối tượng. Điều này cho phép các tài nguyên được định nghĩa là các thể hiện của các lớp và các lớp con của các lớp.
Ví dụ RDFS
Ví dụ sau đây minh họa một số cơ sở RDFS:
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="https://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="https://www.w3.org/2000/01/rdf-schema#"
xml:base="https://www.animals.fake/animals#">
<rdf:Description rdf:ID="animal">
<rdf:type
rdf:resource="https://www.w3.org/2000/01/rdf-schema#Class"/>
</rdf:Description>
<rdf:Description rdf:ID="horse">
<rdf:type
rdf:resource="https://www.w3.org/2000/01/rdf-schema#Class"/>
<rdfs:subClassOf rdf:resource="#animal"/>
</rdf:Description>
</rdf:RDF>
Trong ví dụ trên, tài nguyên "ngựa" là lớp con của lớp "động vật".
Ví dụ viết tắt
Vì lớp RDFS là tài nguyên RDF nên chúng ta có thể viết tắt ví dụ trên bằng cách sử dụng rdfs:Class thay vì rdf:Description và bỏ thông tin rdf:type:
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="https://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="https://www.w3.org/2000/01/rdf-schema#"
xml:base="https://www.animals.fake/animals#">
<rdfs:Class rdf:ID="animal" />
<rdfs:Class rdf:ID="horse">
<rdfs:subClassOf rdf:resource="#animal"/>
</rdfs:Class>
</rdf:RDF>
Đó là nó!
Cốt lõi Dublin
Sáng kiến siêu dữ liệu cốt lõi Dublin (DCMI) đã tạo ra một số thuộc tính được xác định trước để mô tả tài liệu.
RDF là siêu dữ liệu (dữ liệu về dữ liệu). RDF được sử dụng để mô tả các nguồn thông tin.
Dublin Core là một tập hợp các thuộc tính được xác định trước để mô tả tài liệu.
Các thuộc tính Dublin Core đầu tiên được xác định tại Hội thảo Siêu dữ liệu ở Dublin, Ohio vào năm 1995 và hiện được duy trì bởi Sáng kiến Siêu dữ liệu Dublin Core .
Property | Definition |
---|---|
Contributor | An entity responsible for making contributions to the content of the resource |
Coverage | The extent or scope of the content of the resource |
Creator | An entity primarily responsible for making the content of the resource |
Format | The physical or digital manifestation of the resource |
Date | A date of an event in the lifecycle of the resource |
Description | An account of the content of the resource |
Identifier | An unambiguous reference to the resource within a given context |
Language | A language of the intellectual content of the resource |
Publisher | An entity responsible for making the resource available |
Relation | A reference to a related resource |
Rights | Information about rights held in and over the resource |
Source | A Reference to a resource from which the present resource is derived |
Subject | A topic of the content of the resource |
Title | A name given to the resource |
Type | The nature or genre of the content of the resource |
Nhìn nhanh vào bảng trên cho thấy RDF là giải pháp lý tưởng để biểu diễn thông tin Dublin Core.
Ví dụ RDF
Ví dụ sau minh họa việc sử dụng một số thuộc tính Dublin Core trong tài liệu RDF:
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="https://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc= "https://purl.org/dc/elements/1.1/">
<rdf:Description rdf:about="https://www.example.com.vn">
<dc:description>Example.com.vn - Free tutorials</dc:description>
<dc:publisher>Refsnes Data as</dc:publisher>
<dc:date>2008-09-01</dc:date>
<dc:type>Web Development</dc:type>
<dc:format>text/html</dc:format>
<dc:language>en</dc:language>
</rdf:Description>
</rdf:RDF>
Tham khảo RDF
Không gian tên RDF (xmlns:rdf) là: https://www.w3.org/1999/02/22-rdf-syntax-ns#
Không gian tên RDFS (xmlns:rdfs ) là: https://www.w3.org/2000/01/rdf-schema#
Phần mở rộng tệp được đề xuất cho tệp RDF là .rdf . Tuy nhiên, phần mở rộng .xml thường được sử dụng để cung cấp khả năng tương thích với các trình phân tích cú pháp xml cũ.
Loại MIME phải là "application/rdf+xml" .
Các lớp RDFS/RDF
Element | Class of | Subclass of |
---|---|---|
rdfs:Class | All classes | |
rdfs:Datatype | Data types | Class |
rdfs:Resource | All resources | Class |
rdfs:Container | Containers | Resource |
rdfs:Literal | Literal values (text and numbers) | Resource |
rdf:List | Lists | Resource |
rdf:Property | Properties | Resource |
rdf:Statement | Statements | Resource |
rdf:Alt | Containers of alternatives | Container |
rdf:Bag | Unordered containers | Container |
rdf:Seq | Ordered containers | Container |
rdfs:ContainerMembershipProperty | Container membership properties | Property |
rdf:XMLLiteral | XML literal values | Literal |
Thuộc tính RDFS / RDF
Element | Domain | Range | Description |
---|---|---|---|
rdfs:domain | Property | Class | The domain of the resource |
rdfs:range | Property | Class | The range of the resource |
rdfs:subPropertyOf | Property | Property | The property is a sub property of a property |
rdfs:subClassOf | Class | Class | The resource is a subclass of a class |
rdfs:comment | Resource | Literal | The human readable description of the resource |
rdfs:label | Resource | Literal | The human readable label (name) of the resource |
rdfs:isDefinedBy | Resource | Resource | The definition of the resource |
rdfs:seeAlso | Resource | Resource | The additional information about the resource |
rdfs:member | Resource | Resource | The member of the resource |
rdf:first | List | Resource | |
rdf:rest | List | List | |
rdf:subject | Statement | Resource | The subject of the resource in an RDF Statement |
rdf:predicate | Statement | Resource | The predicate of the resource in an RDF Statement |
rdf:object | Statement | Resource | The object of the resource in an RDF Statement |
rdf:value | Resource | Resource | The property used for values |
rdf:type | Resource | Class | The resource is an instance of a class |
Thuộc tính RDF
Attribute | Description |
---|---|
rdf:about | Defines the resource being described |
rdf:Description | Container for the description of a resource |
rdf:resource | Defines a resource to identify a property |
rdf:datatype | Defines the data type of an element |
rdf:ID | Defines the ID of an element |
rdf:li | Defines a list |
rdf:_ n | Defines a node |
rdf:nodeID | Defines the ID of an element node |
rdf:parseType | Defines how an element should be parsed |
rdf:RDF | The root of an RDF document |
xml:base | Defines the XML base |
xml:lang | Defines the language of the element content |