日常应用中的RDF、Triples和语义网

日常应用中的RDF、Triples和语义网,rdf,semantic-web,triples,Rdf,Semantic Web,Triples,含糊不清、不知情的问题: 1:为什么几乎100%的应用程序开发人员、应用程序开发社区和文献(书籍、教程等)都想当然地认为您希望使用关系数据库或键值存储来表示数据 2:为什么不是每个人都使用“三重”数据结构 3:三元组不是适用于关系数据库和键值存储的所有问题吗?三元组不是至少在所有情况下都很容易使用吗 大多数开发人员使用关系数据库和/或键/值存储,因为它们是众所周知的、广泛教授的、容易获得的,并且足以满足大多数开发人员所关心的大部分工作 大多数开发人员几乎看不到(如果有的话)使用三元组的理由,除非

含糊不清、不知情的问题:

1:为什么几乎100%的应用程序开发人员、应用程序开发社区和文献(书籍、教程等)都想当然地认为您希望使用关系数据库或键值存储来表示数据

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

3:三元组不是适用于关系数据库和键值存储的所有问题吗?三元组不是至少在所有情况下都很容易使用吗

  • 大多数开发人员使用关系数据库和/或键/值存储,因为它们是众所周知的、广泛教授的、容易获得的,并且足以满足大多数开发人员所关心的大部分工作
  • 大多数开发人员几乎看不到(如果有的话)使用三元组的理由,除非(可能)出于一些特殊目的(甚至后者也有些不同寻常)
  • 不——当大多数人不理解或不知道如何使用三元组时,三元组并不是特别容易使用。即使那些理解它们的开发人员通常也不关心它们提供了什么

  • 更一般地说,我认为相当多的开发人员很快就会迷失在RDF、OWL、SKOS、本体论、推理引擎等相互纠结的混乱中。对于那些认为“但我只想要用户的订单历史”(或其他什么)的人来说,这一切只是太多了,无法接受、处理等等。

    三元组可以代表任何其他数据结构。但这并不一定能让他们更容易相处。如果您的问题是表形的,那么表数据结构将工作得更好。对于图形数据结构,您需要考虑如何从三元组组成表,这是额外的工作


    解决大多数问题(尤其是数据形状可预测的简单问题)不需要图形数据结构的灵活性。

    我以前也问过自己同样的问题。通常,人们认为问题是复杂的。这确实是一个坏习惯,因为我们离开问题的时间越长,问题就越严重。语义网是一个复杂问题的复杂解决方案。这一点也不容易。我还认为将简单性与RDBMS进行比较是幼稚的。如今,大多数开发人员都熟悉ORM并使用抽象的持久性,有些人从未意识到持久性机制。语义Web的持久性框架(ORDFM)通常不那么复杂或不断发展。话虽如此,许多组织正在远离RDBMS,投资于NoSQL解决方案,在我看来,RDF和SPARQL是最好的选择

    当人们谈论语义网变得复杂时,我总是指出一个很好的案例是Bart van Leeuwen的故事:

    如果一个真正的全职消防员(扑灭真正的火灾)可以使用SPARQL和RDF代替数据库和专有格式来解决真正的问题(紧急服务中的数据可访问性),那么我们其他人就没有理由不这么做。我的观点是,障碍不是技术,而是其他东西