RDF、三元组和语义Web在日常应用中的作用

7

模糊、不明确的问题:

1:为什么几乎所有的应用程序开发者、应用程序开发社区和文献(书籍、教程等)都默认你要使用关系型数据库或键值存储来表达数据?

2:为什么不是每个人都在使用“三元”数据结构?

3:三元组是否适用于关系型数据库和键值存储解决的每个问题,而在每种情况下,三元组至少与其同样易于使用?

3个回答

9
三元组可以代表任何其他数据结构。但这并不一定使它们更易于使用。如果您的问题是表格形状的,则表格数据结构将更有效。对于图形数据结构,您需要考虑如何从三元组中组成表格,这需要额外的工作。
解决大多数问题(特别是数据形状可预测的简单问题)不需要图形数据结构的灵活性。

3
  1. 大多数开发者使用关系型数据库和/或键值存储,因为它们广为人知、易于获取、适用于大多数开发者关心的任务。
  2. 大多数开发者认为没有理由使用三元组,除非是为了一些特殊目的(即使是这种情况也相对较少)。
  3. 不,当大多数人不理解三元组或如何使用它们时,三元组并不特别容易使用。即使是那些理解三元组的开发者通常也不关心它们提供的内容。

更普遍地说,我认为相当多的开发者很快就会在RDF、OWL、SKOS、本体论、推理引擎等纷繁复杂的概念中迷失。对于那些想要“只是想要用户的订单历史记录”(或其他类似需求)的人来说,这一切都太难以理解和处理了。


2
我以前也问过自己完全相同的问题。通常人们会将复杂性作为问题所在。这真是一个糟糕的习惯,因为我们越长时间拖延问题,它就会变得越糟糕。语义网是解决复杂问题的复杂方案。这并不容易。我认为,将简单性与关系型数据库进行比较是幼稚的。大多数开发人员现在都熟悉ORM并使用抽象的持久性,有些人甚至不知道持久性机制。语义Web的持久性框架(ORDFM)通常不太复杂或成熟。话虽如此,很多组织正在远离关系型数据库,投资于NoSQL解决方案,其中RDF和SPARQL是我认为最佳候选者。

每当人们谈论语义Web过于复杂时,我总是指出Bart van Leeuwen的案例研究:

http://semtechbizsf2012.semanticweb.com/sessionPop.cfm?confid=65&proposalid=4590

如果一位真正的全职消防员(负责扑灭真正的火灾)可以使用SPARQL和RDF来解决一个真正的问题(紧急服务中的数据可访问性),那么我们其他人就没有理由不这样做。我的观点是,技术并不是障碍,还有其他因素。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接