2012-10-19 25 views
7

Hãy tưởng tượng tôi bắt đầu sử dụng bản thể luận vì nó cung cấp một số từ vựng hữu ích để mô tả một đối tượng mà tôi quan tâm, ví dụ: FOAF để mô tả một người (tôi). Tôi ngay lập tức gặp phải hai vấn đề. Tôi bắt gặp một bản thể luận khác cũng có từ vựng mô tả một Người.Làm cách nào để kết hợp các ontology mô tả cùng một đối tượng (sử dụng rdfa?)

Issue 1: Một số các điều khoản này là chức năng tương đương hoặc liên quan, nhưng tôi không muốn bị làm phiền gói cả bản thể xung quanh cùng một đối tượng,

<span property="foaf:name"><span property="dc:creator">Carl Boettiger</span></span> 

Bởi vì đó là cồng kềnh và dường như bỏ qua toàn bộ ý tưởng của được liên kết với dữ liệu, có lẽ là đủ thông minh để biết rằng dc:creator cũng là một foaf:person. Vì vậy, cách chính xác để làm điều này là gì? Làm thế nào tôi có thể xác nhận mối quan hệ giữa các đối tượng này (ví dụ có lẽ không phải là tất cả foaf:person phải là dc:creator. Có phải nó được nói ở đâu đó trên Web ngữ nghĩa là dc:creator là một tập hợp con của foaf:person? Tôi có cần liên kết đến câu lệnh đó không? đến đâu?

Số phát hành 2: Từ vựng trong một bản thể luận không đủ cho mục đích của tôi, vì vậy tôi cần sử dụng từ vựng từ một mục đích khác. Ví dụ, FOAF, theo hiểu biết của tôi, không cung cấp cho tôi một cách để nêu rõ tổ chức, vị trí hoặc vai trò của tôi (mà GoogleSnippets dường như nghĩ là các trường bắt buộc phải là một người hợp lệ) .Tôi tìm và tìm bản thể luận hữu ích, nói rằng Google gợi ý, http://rdf.data-vocabulary.org, có các thuật ngữ này. Bây giờ một lần nữa tôi có liên quan chặt chẽ d vấn đề đảm bảo rằng hai bản thể đồng ý về những gì một người là:

<div typeof="foaf:Person"> 
    <span property="foaf:name">Carl Boettiger</span> is a <span property="v:role"> graduate student </span> 
</div> 

v:role có nó là ý tưởng riêng của những gì nó thuộc về, một typeof="v:Person. Tôi có cần phải thêm tuyên bố này typeof nữa không? Sau đó tôi có cần phải làm điều gì đó để nói rằng nó giống như foaf:Person, và thực sự rằng v:rolefoaf:name đều mô tả cùng một điều (tôi)?

Rất cám ơn vì đã làm rõ sự lúng túng của tôi.

Trả lời

6

Lưu ý rằng foaf: Person là một loại hoặc lớp trong RDFa được thể hiện thông qua thuộc tính @typeof. Mặt khác, vai trò: vai trò, người tạo, foaf: name, v: là các thuộc tính được đặt trong thuộc tính @property trong RDFa. Thông thường, bạn bắt đầu bằng cách nhập đối tượng của mình vào HTML (ví dụ: một Người) và sau đó bạn cung cấp các thuộc tính của nó như tên hoặc vai trò thông qua các thuộc tính. Các loại thường bắt đầu với một upercase (foaf: Person), trong khi các thuộc tính bắt đầu bằng chữ thường (foaf: name).

Issue 1: thay vì thêm một phần tử span mới cho mỗi thuộc tính mới, bạn có thể đặt tất cả các thuộc tính bên trong sở hữu cùng một thuộc tính riêng biệt với không gian:

<span property="foaf:name dc:creator">Carl Boettiger</span> 

Có nói ở đâu đó trên Semantic Web mà dc: creator là một tập con của foaf: person?

Trước tiên, ví dụ này không thực sự phù hợp, dc: người tạo là tài sản và foaf: Kiểu người, nhưng hãy tưởng tượng chúng ta đang nói về foaf: Tác nhân và foaf: Người, đặc tả foaf nói rằng foaf : Người là lớp con của foaf: Đại lý: http://xmlns.com/foaf/spec/#term_Person - Từ vựng có thể xác định các mối quan hệ như vậy. Ngoài ra còn có các ánh xạ từ vựng chéo mà đôi khi xác định mối quan hệ giữa các lớp và các thuộc tính từ các từ vựng khác nhau.

Tôi có cần liên kết đến tuyên bố như vậy không?

không, bạn thường không phải làm điều đó.

Vấn đề 2: lưu ý rằng http://rdf.data-vocabulary.org được phản đối ủng hộ từ vựng schema.org: http://schema.org/docs/full.htmlhttp://schema.rdfs.org/

Tôi có cần phải thêm tuyên bố typeof này là tốt? Sau đó tôi có cần phải làm điều gì đó để nói rằng nó giống như foaf: Người, và thực sự là v: vai trò và foaf: tên cả hai mô tả cùng một điều (tôi)?

Nói chung khi xuất bản dữ liệu bằng HTML, bạn không cố gắng nêu tương đương giữa các từ vựng, thay vào đó bạn xuất bản với tất cả các thuật ngữ từ vựng mà bạn nghĩ sẽ hữu ích cho các ứng dụng làm như vậy trong RDFa vì bạn có thể nhúng nhiều loại và thuộc tính bên trong thuộc tính @typeof hoặc @property đã cho.

<div typeof="foaf:Person v:Person"> 
    <span property="foaf:name v:name">Carl Boettiger</span> is a <span property="v:role"> graduate student </span> 
</div> 

Lưu ý rằng bạn có thể kiểm tra đánh dấu RDFa tại http://rdfa.info/play/

+0

Cảm ơn đã giải thích và một câu trả lời tuyệt vời. Xin lỗi vì sự nhầm lẫn của tôi giữa '@ property' và' typeOf', đó là một sự phân biệt rõ ràng. Nhưng để giải quyết đúng vấn đề 1, cách chính xác để hiển thị kết nối giữa chúng là gì; có nghĩa là, để nói rằng điều dc: người tạo ra cũng sẽ là foaf: Người có foaf: tên "Carl Boettiger"? – cboettig

+0

Liệt kê cả hai từ vựng chắc chắn có vẻ là giải pháp đúng để phát hành 2, nhưng nó vẫn đặt ra câu hỏi trong vấn đề 1: tại sao tôi cần liệt kê cả hai thuộc tính? Không phải là nó nói một nơi nào đó trên web mà 'foaf: name' và' v: name' là các ngôn ngữ khác nhau có nghĩa là cùng một điều? Phải dịch một cách rõ ràng từ "tên" vào mọi bản thể luận tôi muốn hỗ trợ cảm thấy như nó đánh bại hoàn toàn mục đích của web ngữ nghĩa. – cboettig

+1

Tôi nghĩ cả hai câu hỏi bổ sung của tôi đều được trả lời ở đây: http://answers.semanticweb.com/questions/19275 – cboettig

Các vấn đề liên quan