9

我试图了解两种非常不同的数据共享方法:OData 和语义 Web/链接数据。两者有很好的比较吗?

据我了解,OData 结合了联合/CRUD (AtomPub)、序列化格式(XML、JSON)、数据模型、查询语言以及一些管理这些现有技术使用的语义/约定。它主要用于公开来自一个系统的数据,以便其他人可以使用它。

Linked Data 是一种数据模型,对 URI 的严格承诺,一种(可选?)序列化格式(RDF/XML),但是(如果我错了,请纠正我)并没有说明任何关于传输、CRUD 等的内容。看起来旨在允许对来自各种来源的大量小数据块进行推断。(现在对我们来说不是什么重要的事情——我们将在少数来源之间同步大量数据,并希望保留出处信息)。

我对在某些数据管理平台之间共享数据的技术感兴趣,其中一些是我直接从事的。OData 似乎更有吸引力,因为它向开发人员解释起来非常简单:实现这个 API,遵循 Atom 标准,像这样序列化数据。我们已经在一个平台上做了非常相似的事情:在 Atom 提要上共享 XML 序列化数据,并使用 URL 参数进行过滤。

相比之下,我过去使用 RDF 的经验给我的印象是脆弱、不透明(大量的 RDF/XML 板)、不可访问(使用 SPARQL 与 SQL)技术——但也许我对使用三元存储的经验感到困惑,比如Jena 只需通过链接数据 API 公开现有数据库。

关于这两种方法在范围、技术、易用性、未来潜力等方面的差异和相似之处的任何指示、评论等都会很棒。

4

3 回答 3

7

我认为深入讨论这一点并不是 Stackoverflow 的真正目的,而只是为您提供一些关于差异和重叠的有趣讨论的指针:

主要区别之一似乎是 OData 无法将来自不同来源的数据相互链接。从本质上讲,您仍然被困在一个孤岛中。

检查在两种方法之间转换数据的各种尝试也可能很有趣。请参阅http://answers.semanticweb.com/questions/1298/has-anyone-written-a-mapping-from-odata-to-rdf

于 2012-06-19T22:01:51.767 回答
4

OData 可能更容易,但无论如何都不是更好。SPARQL 和 RDF(忘记 RDF/XML,最好看看 Turtle)满足 OData 中的所有内容,并提供更多尖端功能,例如:

  • 联合扩展
  • 关联数据
  • 推理和推理(对于更勇敢的人)

同样,支持这些标准的软件实际上也相当复杂。大多数对 OData 感兴趣的人通常来自微软背景,所以看看dotNetRdf

于 2012-06-21T10:50:03.800 回答
3

这是一个比较矩阵:

http://uoccou.wordpress.com/2011/02/17/linked-data-odata-gdata-datarss-comparison-matrix/

不幸的是,表格格式非常糟糕,但内容很有用。

于 2012-06-21T23:47:07.920 回答