Database 为什么Janus Graph不被称为框架,而Apache TInkerPop被称为框架?

Database 为什么Janus Graph不被称为框架,而Apache TInkerPop被称为框架?,database,frameworks,tinkerpop,janusgraph,Database,Frameworks,Tinkerpop,Janusgraph,这可能是一个幼稚的问题,但我是这个领域的新手 为什么Janus Graph不被称为框架(根据第一个文档页面上的定义),而Apache TinkerPop却被称为框架?就其本身而言,核心Apache TinkerPop接口实际上什么都不做——您无法用它们构建应用程序。它们所做的只是在任何图形数据库和任何图形处理模型上提供一个通用层。因此,我们将TinkerPop称为“框架” JanusGraph和其他支持TinkerPop的图形系统是TinkerPop框架的“实现”。它们不是“构建在顶部”的,因此

这可能是一个幼稚的问题,但我是这个领域的新手


为什么Janus Graph不被称为框架(根据第一个文档页面上的定义),而Apache TinkerPop却被称为框架?

就其本身而言,核心Apache TinkerPop接口实际上什么都不做——您无法用它们构建应用程序。它们所做的只是在任何图形数据库和任何图形处理模型上提供一个通用层。因此,我们将TinkerPop称为“框架”


JanusGraph和其他支持TinkerPop的图形系统是TinkerPop框架的“实现”。它们不是“构建在顶部”的,因此不是对作为框架公开的通用接口的扩展。它们插入到框架中,这样您对这些接口(即Gremlin)的使用就得到了获取/存储数据的支持

核心Apache TinkerPop接口本身实际上什么都不做——您无法用它们构建应用程序。它们所做的只是在任何图形数据库和任何图形处理模型上提供一个通用层。因此,我们将TinkerPop称为“框架”


JanusGraph和其他支持TinkerPop的图形系统是TinkerPop框架的“实现”。它们不是“构建在顶部”的,因此不是对作为框架公开的通用接口的扩展。它们插入到框架中,这样您对这些接口(即Gremlin)的使用就得到了获取/存储数据的支持

这是一个数据库。HBase或Cassandra(支持系统)有自己的框架。框架通常只是一个框架library@cricket_007但Janus Graph是建立在ApacheTinkerpop之上的,所以呢?它不是一个框架,因为它是一个数据库。不能将JanusGraph作为导入的库在其他应用程序中运行,因为它是数据库。HBase或Cassandra(支持系统)有自己的框架。框架通常只是一个框架library@cricket_007但Janus Graph是建立在ApacheTinkerpop之上的,所以呢?它不是一个框架,因为它是一个数据库。你不能像导入的库一样在其他应用程序中运行JanusGraph。你能解释一下“它们所做的只是在任何图形数据库(这不是Janus graph)和任何图形处理模型上提供一个通用层。”不知道我还能怎么说。TinkerPop是图形数据库/处理器的抽象层,就像JDBC是连接不同关系数据库的抽象层一样。作为开发人员,您通过抽象层构建应用程序-对于TinkerPop,这意味着编写Gremlin,对于JDBC,这意味着SQL。在这两种情况下,通过使用抽象层,您可以在抽象的实现之间切换-对于TinkerPop,这意味着,您为Neo4j编写的小精灵通常也适用于JanusGraph,而JanusGraph通常也适用于DSE Graph等(任何TinkerPop兼容系统)对于JDBC,这意味着您为MS SQL Server编写的SQL通常适用于Oracle,而Oracle通常适用于任何符合JDBC的数据库。您不能只使用JDBC编写应用程序,对吗?这是一种“框架”(使用这个术语有点松散)——你必须选择一个数据库来配合它。小叮当也是一样。我不知道你为什么要写“(这不是给Janus graph的)”作为对我引文的修正。JanusGraph是一个图形数据库,TinkerPop在其上提供了一个通用的抽象层。也就是说,JanusGraph是TinkerPop的本机实现,它使用TinkerPop接口作为自己的接口。一些支持TinkerPop的图形系统做到了这一点,而一些则没有。也许这就是你困惑的根源。你能再解释一下“他们所做的只是在任何图形数据库(这不是针对Janus graph)和任何图形处理模型上提供一个通用层。”我不知道我还能怎么说。TinkerPop是图形数据库/处理器的抽象层,就像JDBC是连接不同关系数据库的抽象层一样。作为开发人员,您通过抽象层构建应用程序-对于TinkerPop,这意味着编写Gremlin,对于JDBC,这意味着SQL。在这两种情况下,通过使用抽象层,您可以在抽象的实现之间切换-对于TinkerPop,这意味着,您为Neo4j编写的小精灵通常也适用于JanusGraph,而JanusGraph通常也适用于DSE Graph等(任何TinkerPop兼容系统)对于JDBC,这意味着您为MS SQL Server编写的SQL通常适用于Oracle,而Oracle通常适用于任何符合JDBC的数据库。您不能只使用JDBC编写应用程序,对吗?这是一种“框架”(使用这个术语有点松散)——你必须选择一个数据库来配合它。小叮当也是一样。我不知道你为什么要写“(这不是给Janus graph的)”作为对我引文的修正。JanusGraph是一个图形数据库,TinkerPop在其上提供了一个通用的抽象层。也就是说,JanusGraph是TinkerPop的本机实现,它使用TinkerPop接口作为自己的接口。一些支持TinkerPop的图形系统做到了这一点,而一些则没有。也许这就是你困惑的根源。