2012-06-19 25 views
9

Tôi đang cố gắng làm quen với hai cách tiếp cận rất khác nhau để chia sẻ dữ liệu: OData và Web ngữ nghĩa/Dữ liệu được liên kết. Có một so sánh tốt về hai? Theo tôi hiểu, OData kết hợp phân phối/CRUD (AtomPub), định dạng tuần tự hóa (XML, JSON), mô hình dữ liệu, ngôn ngữ truy vấn và một số ngữ nghĩa/quy ước quản lý việc sử dụng các công nghệ hiện có đó. Nó chủ yếu dành cho việc phơi bày dữ liệu từ một hệ thống để những người khác có thể tiêu thụ nó.So sánh OData và Web ngữ nghĩa/Dữ liệu được liên kết

Dữ liệu được liên kết là một mô hình dữ liệu, một cam kết chặt chẽ với URI, một định dạng tuần tự (tùy chọn?) (RDF/XML), nhưng (đúng tôi nếu tôi sai) không nói gì về vận chuyển, CRUD, vv Có vẻ như dự định cho phép truyền hình qua rất nhiều khối dữ liệu được rút ra từ nhiều nguồn khác nhau. (Không phải điều quan trọng nào đối với chúng tôi ngay bây giờ - chúng tôi sẽ đồng bộ hóa các mảng dữ liệu lớn giữa một số lượng nhỏ nguồn và muốn duy trì thông tin xuất xứ).

Tôi quan tâm đến công nghệ để chia sẻ dữ liệu giữa các nền tảng quản lý dữ liệu nhất định, một số trong số đó tôi làm việc trực tiếp. OData có vẻ hấp dẫn hơn vì nó rất đơn giản để giải thích cho các nhà phát triển: triển khai API này, tuân theo tiêu chuẩn Atom đó, tuần tự hóa dữ liệu như thế này. Chúng tôi đã làm một cái gì đó rất giống với một nền tảng: chia sẻ dữ liệu tuần tự hóa XML trên nguồn cấp dữ liệu Atom, với các tham số URL được sử dụng để lọc. Ngược lại, những kinh nghiệm trước đây của tôi khi làm việc với RDF đã cho tôi một ấn tượng về các mảng mờ, đục (các mảng lớn RDF/XML), không thể tiếp cận (sử dụng công nghệ SPARQL vs SQL) - nhưng có lẽ tôi đang bối rối kinh nghiệm làm việc với một triplestore như Jena chỉ đơn giản là lộ một cơ sở dữ liệu hiện có thông qua một API dữ liệu được liên kết.

Bất kỳ con trỏ, nhận xét nào về sự khác biệt và tương đồng giữa hai phương pháp này về phạm vi, công nghệ, dễ dàng, tiềm năng trong tương lai, v.v.

+0

Steve - không chắc chắn đây là diễn đàn tốt nhất cho loại câu hỏi này vì nó có thể kéo dài một lúc. Tôi rất muốn thảo luận, mặc dù - bạn sẽ chuyển câu hỏi đến http://programmers.stackexchange.com/ hoặc liên hệ với tôi từ blog mới của tôi (bitwhys.com)? –

+2

Chỉ để giải quyết ngắn gọn một số điểm của bạn về công nghệ dữ liệu liên kết/RDF: "các mảng lớn của RDF/XML" không phải là tiêu chuẩn và âm thanh giống như ứng dụng công nghệ không chính xác. Gọi SPARQL (trái ngược với SQL) 'không thể tiếp cận' là một vấn đề của hương vị tôi đoán. Nhưng không cần phải có SPARQL để áp dụng các nguyên tắc Dữ liệu được Liên kết. Nó chỉ đơn giản là thuận tiện. –

+1

Kể từ tháng 2/2015, Nền tảng Dữ liệu được Liên kết là đề xuất của W3C: https://www.w3.org/TR/ldp/ LDP đề cập đến phần đọc-viết (CRUD trong câu hỏi của bạn) về dữ liệu được liên kết bị thiếu. –

Trả lời

6

Tôi nghĩ rằng thảo luận này sâu không phải là thực sự những gì Stackoverflow có nghĩa là cho, nhưng chỉ để cung cấp cho bạn một số gợi ý để thảo luận thú vị về sự khác biệt và sự chồng chéo:

Một trong những khác biệt chính có vẻ là OData không có phương tiện để liên kết dữ liệu từ các nguồn khác nhau với nhau. Về cơ bản, bạn vẫn bị mắc kẹt trong một silo.

Cũng có thể là điều thú vị để kiểm tra các nỗ lực khác nhau để chuyển đổi dữ liệu giữa hai cách tiếp cận. Xem a.o. http://answers.semanticweb.com/questions/1298/has-anyone-written-a-mapping-from-odata-to-rdf.

+0

Cảm ơn các liên kết - mặc dù imho "bạn vẫn bị mắc kẹt trong một silo" là phóng đại nó imho. (Xem MS trình bày rõ ràng tiêu hủy silo là mục tiêu ở đây: http://blogs.msdn.com/b/astoriateam/archive/2009/11/17/breaking-down-data-silos-the-open-data-protocol- odata.aspx) –

+0

@SteveBennett tốt, những gì họ nhà nước là mục tiêu của họ và những gì họ thực sự cung cấp là không nhất thiết phải giống nhau, tất nhiên. Điểm được khám phá chi tiết hơn trong một số bài viết được đề cập ở trên. Tuy nhiên, tôi không có chuyên gia OData, vì vậy có lẽ tôi đã bỏ qua một cơ chế tiêu chuẩn hóa để liên kết dữ liệu. –

+0

Tôi không nghĩ rằng "thông tin silo" đồng nghĩa với "thông tin không thể liên kết bên ngoài". Nếu bạn có thể lấy thông tin vào và ra khỏi một hệ thống dễ dàng, theo một định dạng chuẩn với ngữ nghĩa chuẩn, thì phần lớn vấn đề của silo-ification biến mất, tôi nghĩ vậy. –

4

OData có thể dễ dàng hơn, nhưng không tốt hơn, bằng mọi cách. SPARQL và RDF (quên RDF/XML, tốt hơn để nhìn vào Rùa) đáp ứng tất cả mọi thứ trong OData cùng với việc cung cấp nhiều tính năng cắt cạnh hơn như:

  • Federation Extensions
  • liên kết dữ liệu
  • suy luận và suy luận (vì sự can đảm hơn)

Tương tự, phần mềm hỗ trợ các tiêu chuẩn thực sự khá phức tạp.Hầu hết mọi người quan tâm đến OData thường đến từ một nền tảng Microsoft, vì vậy hãy xem dotNetRdf

+0

Ok, nhưng đối với một công nghệ phụ thuộc vào hiệu ứng mạng, dễ dàng hơn có thể có nghĩa là tốt hơn, đúng không? Một công nghệ vượt trội với sự hấp thu thấp không đáng giá nhiều trong lĩnh vực này. –

+3

@Steve Bennet, cho rằng Facebook, Google, chính phủ Mỹ và Anh (để đặt tên nhưng một vài người chơi) tạo ra dữ liệu liên kết dựa trên RDF trực tuyến, có vẻ như không được bảo đảm để gọi công nghệ "hấp thu thấp". –

+0

Không thể nói nó tốt hơn Jeen –