TuGraph-family / tugraph-db

TuGraph is a high performance graph database.
https://tugraph.org
Apache License 2.0
1.35k stars 182 forks source link

希望有基于springboot环境下对接tugraph的最佳实践 #247

Closed Sj-g closed 1 year ago

Sj-g commented 1 year ago

目前对于对接springboot是比较困难的,其中有一下几个原因:

  1. tugraph-ogm存在和spring依赖冲突问题,希望能测试并给出一个表格说明springboot版本依赖关系。
  2. 希望给出一个整合包基于springboot的
  3. 希望给出使用此依赖的包的最佳实践,包括增删改查,批量操作,以及相关配置信息。
  4. 目前提供的示例中未体现出事务相关的操作。 此图数据库性能是非常优秀的,希望团队能在开源项目的基础文档中花费些时间,我们也希望贡献出自己的力量。
Sj-g commented 1 year ago

同时tugraph-ogm封装neo4j-ogm并不成功,会出现neo4j健康检查的报错

qishipengqsp commented 1 year ago

目前对于对接springboot是比较困难的,其中有一下几个原因:

  1. tugraph-ogm存在和spring依赖冲突问题,希望能测试并给出一个表格说明springboot版本依赖关系。

tugraph-db-java-client的依赖做了一遍清理,去除了spring相关的依赖,可以用最新版本尝试一下。如有问题,请在反馈给我。之前在这里回复过:https://github.com/TuGraph-family/tugraph-db-client-java/issues/5

  1. 希望给出一个整合包基于springboot的

能展开描述一下整合包的需求么?

  1. 希望给出使用此依赖的包的最佳实践,包括增删改查,批量操作,以及相关配置信息。

文档可以参考:https://tugraph-db.readthedocs.io/zh_CN/latest/5.developer-manual/4.client-tools/4.tugraph-ogm.html example可以参考:https://github.com/TuGraph-family/tugraph-db-client-java/blob/master/ogm/tugraph-db-ogm-test/src/main/java/test/TestBase.java 我们尽快补充best practice到文档

  1. 目前提供的示例中未体现出事务相关的操作。

目前client不支持显式调用事务的,可以调用cypher,cypher的操作是支持事务的。您可以提个需求,我们进行排期

此图数据库性能是非常优秀的,希望团队能在开源项目的基础文档中花费些时间,我们也希望贡献出自己的力量。

感谢认可。我们的文档更新到了https://tugraph-db.readthedocs.io/zh_CN/latest/1.guide.html 您对文档有什么建议也可以留comment给我们,我们进行优化。

qishipengqsp commented 1 year ago

同时tugraph-ogm封装neo4j-ogm并不成功,会出现neo4j健康检查的报错

能给一下具体的log么?我们排查一下

Sj-g commented 1 year ago
  1. 关于第一个问题 抱歉,对于我使用的依赖未描述清楚,目前我使用的是如下依赖:

    <dependency>
                <groupId>com.antgroup.tugraph</groupId>
                <artifactId>tugraph-db-ogm-core</artifactId>
                <version>1.2.1</version>
            </dependency>
            <dependency>
                <groupId>com.antgroup.tugraph</groupId>
                <artifactId>tugraph-db-rpc-driver</artifactId>
                <version>1.2.1</version>
            </dependency>

    因为以前使用过SpringDataNeo4j所以选择了这个OGM这个依赖包。虽然官网给出的依赖需要4个,但是实际分析只需要上面两个就可以了,但是会出现spring依赖冲突的问题,需要在子模块中添加如下的依赖才可以: image 同时这个会检查Neo4j的健康问题: image

  2. 关于第二个问题,主要还是问题1中涉及到依赖导入重复的问题的整理

qishipengqsp commented 1 year ago

Hello @Sj-g 这个是我刚刚扫描了一下dependency的输出,没有spring的相关组件了。

com.antgroup.tugraph:tugraph-db-rpc-client-parent:pom:1.2.1
\- com.baidu:brpc-java:jar:2.5.9:compile
   +- io.netty:netty-all:jar:4.1.44.Final:compile
   +- com.google.protobuf:protobuf-java:jar:3.16.3:compile
   +- com.googlecode.protobuf-java-format:protobuf-java-format:jar:1.4:compile
   +- com.baidu:jprotobuf:jar:1.11.11:compile
   |  +- com.squareup:protoparser:jar:3.1.5:compile
   |  +- org.javassist:javassist:jar:3.22.0-CR1:compile
   |  \- commons-io:commons-io:jar:2.6:compile
   +- org.slf4j:slf4j-api:jar:1.7.25:compile
   +- cglib:cglib:jar:3.2.5:compile
   |  +- org.ow2.asm:asm:jar:5.2:compile
   |  \- org.apache.ant:ant:jar:1.9.6:compile
   |     \- org.apache.ant:ant-launcher:jar:1.9.6:compile
   +- org.apache.commons:commons-lang3:jar:3.5:compile
   +- org.apache.commons:commons-collections4:jar:4.1:compile
   +- org.apache.commons:commons-pool2:jar:2.4.2:compile
   +- com.google.code.gson:gson:jar:2.8.9:compile
   +- org.xerial.snappy:snappy-java:jar:1.1.7.2:compile
   +- com.dyuproject.protostuff:protostuff-runtime:jar:1.0.7:compile
   +- com.dyuproject.protostuff:protostuff-api:jar:1.0.7:compile
   +- com.dyuproject.protostuff:protostuff-collectionschema:jar:1.0.7:compile
   \- com.dyuproject.protostuff:protostuff-core:jar:1.0.7:compile

看了一下,这个问题的修复应该是在1.2.1之后了,您可以选择将https://github.com/TuGraph-family/tugraph-db-client-java 拖到本地install一下,或者稍微我们发布一个1.2.2版本

qishipengqsp commented 1 year ago

@Sj-g 1.2.2已经发布,可以再试试有无冲突

Sj-g commented 1 year ago

冲突问题以解决