2012-06-19 2 views
9

Я пытаюсь разобраться в двух очень разных подходах к обмену данными: OData и Semantic Web/Linked Data. Есть ли хорошее сравнение этих двух?Сравнение OData и Semantic Web/Связанные данные

Как я понимаю, OData объединяет синдикаты/CRUD (AtomPub), форматы сериализации (XML, JSON), модель данных, язык запросов и некоторые семантики/соглашения, регулирующие использование этих существующих технологий. Это в первую очередь предназначено для отображения данных из одной системы, чтобы другие могли ее использовать.

Связанные данные - это модель данных, строгая приверженность URI, (необязательный?) Формат сериализации (RDF/XML), но (исправьте меня, если я ошибаюсь) ничего не говорит о транспорте, CRUD, и т. д. Представляется, что это позволяет сделать вывод о множестве небольших фрагментов данных, полученных из самых разных источников. (Не важно для нас сейчас самое важное - мы будем синхронизировать большие слябы данных между небольшим количеством источников и желать сохранить информацию о происхождении).

Меня интересуют технологии обмена данными между определенными платформами управления данными, некоторые из которых я работаю напрямую. OData выглядит более привлекательным, поскольку разработчикам очень просто объяснить: реализовать этот API, следовать этому стандарту Atom, сериализовать данные, подобные этому. Мы уже делаем что-то очень похожее для одной платформы: разделяем XML-сериализованные данные на фиде Atom, с параметрами URL, которые используются для фильтрации.

Напротив, мои прошлые опыты, связанные с RDF, дали мне впечатление хрупких, непрозрачных (массивные плиты RDF/XML), недоступных (с использованием технологии SPARQL и SQL), но, возможно, я запутываю опыт работы с трипестрером, таким как Jena, просто выставляя существующую базу данных через связанный API данных.

Любые указатели, комментарии и т. Д. О различиях и сходствах между этими двумя подходами с точки зрения объема, технологий, легкости, будущего потенциала и т. Д. Были бы замечательными.

+0

Steve - не уверен, что это лучший форум для этого типа вопросов, поскольку он может затянуться на некоторое время. Я бы с удовольствием обсудил, хотя бы вы переместили вопрос на http://programmers.stackexchange.com/ или дошли до меня из моего нового блога (bitwhys.com)? –

+2

Просто кратко рассмотрим некоторые ваши соображения о технологии RDF/связанных данных: «массивные плиты RDF/XML» не являются нормой и больше напоминают неправильное применение технологии. Вызов SPARQL (в отличие от SQL) «недоступный» - это вопрос вкуса, я думаю. Но SPARQL не требуется для применения принципов связанных данных. Это просто удобно. –

+1

По состоянию на февраль/2015 г. платформа Linked Data Platform является рекомендацией W3C: https://www.w3.org/TR/ldp/ LDP обращается к части данных чтения-записи (CRUD в вашем вопросе) связанных данных, которые отсутствовали. –

ответ

6

Я думаю, что обсуждать это в глубину не совсем то, что Stackoverflow предназначен для, но только, чтобы дать вам некоторые указатели на интересные дискуссии о различиях и перекрытием:

Одним из ключевых отличий является то, что OData не имеет возможности связывать данные из разных источников друг с другом. По сути, вы все еще застряли в бункере.

Также может быть интересно проверить различные попытки преобразования данных между двумя подходами. См. A.o. http://answers.semanticweb.com/questions/1298/has-anyone-written-a-mapping-from-odata-to-rdf.

+0

Спасибо за ссылки - хотя имхо «ты все еще застрял в бункере» преувеличивает его имхо. (См. MS, в котором явно указано уничтожение силоса как цель здесь: http://blogs.msdn.com/b/astoriateam/archive/2009/11/17/breaking-down-data-silos-the-open-data-protocol- odata.aspx) –

+0

@SteveBennett хорошо, что они заявляют о своей цели и что они на самом деле предоставляют, конечно, не обязательно одинаково. Этот вопрос более подробно рассматривается в некоторых из упомянутых выше статей. Однако я не эксперт по OData, поэтому, возможно, я упустил стандартизованный механизм связывания данных. –

+0

Я не думаю, что «информационный силос» является синонимом «информации, которая не может ссылаться извне». Если вы можете легко получить информацию в системе и из нее, в стандартном формате со стандартной семантикой, то большая часть проблемы силосификации уходит, я думаю. –

4

OData может быть проще, но это не лучше, любыми средствами. SPARQL и RDF (забыли RDF/XML, лучше смотреть на черепахе) удовлетворяет все в OData наряду с предоставлением много более ультрасовременных функций, такие как:

  • Федерация Расширение
  • Linked Data
  • Рассуждения и Умозаключение (для более смелых)

В равной степени программное обеспечение, поддерживающее стандарты, на самом деле довольно сложное.Большинство людей, заинтересованных в OData обычно приходят от фона Microsoft, поэтому обратите внимание на dotNetRdf

+0

Хорошо, но для технологии, которая зависит от сетевого эффекта, проще может означать лучше, не так ли? Превосходная технология с низким поглощением в этой области не стоит особого труда. –

+3

@Steve Bennet, учитывая, что Facebook, Google, правительства США и Великобритании (чтобы назвать лишь несколько игроков) создают связанные данные на основе RDF онлайн-данных, кажется необоснованным назвать технологию «низким поглощением». –

+0

Не мог бы сказать лучше Jeen –

 Смежные вопросы

  • Нет связанных вопросов^_^