问题标签 [tinkergraph]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
neo4j - 嵌入式 Neo4j 的性能问题
我有一些带有 100 万个节点和 300 万条边的旧图形数据,我想将它们转换为 Neo4j。
我正在使用嵌入的 Neo4j,我的程序大致如下:
但是,创建过程超级慢。使用完全相同的逻辑,使用 TinkerGraph 程序运行得更快。
我想知道是否有任何技巧可以加快速度?谢谢!
java - 考虑到 Java 中 tinkergraph 权重的最短路径
考虑到边缘上的权重属性,我试图找到最短路径,我的工作是在 TinkerGraph 上,我想在 java 中完成。
gremlin 对我不是很有帮助
这给了我最短路径,而不考虑边缘的权重属性。
编辑:我的例子:
边缘插入:
源,目标
b1,b2
b1,b2
b1,b2
b1,b2
b1,b3
b3,b2
换句话说,边缘的权重会根据边缘的频率更新,例如,如果 b1,b2 出现 4 次,则边缘的权重为 4。现在我希望 Dijkstra 返回权重方面的最短路径,而不是边缘最短。路径(b1,b2) = b1->b3->b2
java - Tinkerpop3 自定义边缘 id 生成器
我TinkerGraph
用于 Java 中的集成测试(扩展单元测试)。在此实现Edge ids
中,生成为整数序列。我想更改它,以便将它们生成为随机 UUID。这样做的原因是为了让我的测试设置更接近我的生产图形数据库。我可以这样做Tinkerpop3
吗?如果可以,怎么做?
我发现在 Tinkerpop/blueprints ( https://github.com/tinkerpop/blueprints/wiki/id-implementation ) 中存在一个IdGraph.IdFactory
似乎可以提供我需要的东西。但是,据我了解,这不适用于 Tinkerpop3。
java - 在方向图中从 JAVA 添加具有属性的类顶点以及另一个类顶点的列表等
A类具有属性并具有B类列表,B类具有属性并具有C类列表。C类具有属性等等。
我正在尝试保存 java 对象并使用 tinkerpop - 尝试添加方向图
所以如果我必须在方向图中添加 A 类顶点。我需要用prop1和prop2添加A类的顶点-我需要用prop3和prop4添加B类的顶点以及A类列表中的任何计数。-我需要在A类顶点和B类顶点之间添加边,所以它可以携带关系A到B。
同样,我需要在方向图中添加 C 类顶点,其中包含 B 类列表中的任何计数。 - 我需要在每个 B 类顶点和 C 类顶点之间添加边,以便它可以承载 B 到 C 之间的关系。
如果这是第 10 级,那么为每个类添加顶点可能会变得混乱且难以实现。这将是更多的手动添加。
有什么办法可以一次性将具有 B 类顶点的 A 类顶点保存为列表和 B 类下的 C 类列表,而不是添加每个类顶点并建立关系
我正在尝试通过 java tinkerpop - gremlin、blueprints 等来实现它。有什么建议/想法吗?
spring - 如何修复'java.lang.NoClassDefFoundError:org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversalSource$GraphTraversalSourceStub'?
我正在尝试使用 TinkerGraph 初始化内存中的图。
首先,我在上下文 xml 文件中定义了 bean,并尝试初始化 TinkerGraph。
我的目的是对我为形成 gremlin 查询而创建的类进行单元测试,我从这些类中获得的最终查询是字符串的形式,所以为了通过 TinkerGraph 执行它们,我使用了以下帖子中给出的方法: Get Gremlin query as a String and execute it in java without submit it to the GremlinServer
我还想知道我采用的方法是否是首选方法,用于将 gremlin 查询作为单元测试的一部分运行?
以下是我在 pom.xml 中包含的依赖项:
EmbeddedGremlinQueryEngine 如下:
堆栈跟踪如下:
EmbeddedGremlinQueryEngine 被定义为 xml 文件中的 bean,当加载 bean 时,由于构造函数抛出异常,我得到错误;嵌套异常是 java.lang.NoClassDefFoundError: org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversalSource$GraphTraversalSourceStub
我不明白 GraphTraversalSourceStub 在初始化过程中是如何出现的,我找不到任何有关它的信息。任何帮助,将不胜感激。
gremlin - 有没有办法在不写入文件的情况下获得内存中 TinkerGraph 的 GraphML 表示?
我有一个内存 TinkerGraph。我想编写一个 Spring Boot REST 控制器来公开这个 Tinkergraph 的序列化(作为 GraphML)表示。序列化 API (g.io) 需要将字符串文件路径传递给它。目前,我必须写入 /tmp 文件,然后读取该文件以获取序列化 GraphML 的字符串表示形式。
有没有办法直接获取序列化 GraphML 的字符串输出?无需写入 tmp 文件并将其读回?
gremlin - ScriptEvalutionError:对于输入字符串“”:提供字符串作为 ID 时
我已经在我的开发机器上为 tinkerpop/gremlin-server 设置了一个 docker 容器。
我有一个使用 Gremlin.Net 3.4.1 版的 .NET Core 应用程序
我使用 IRemlinClient 连接到本地主机泊坞窗,并在传递以下查询以添加顶点时:
然后我得到错误:
当我使用 gremlin 控制台运行查询时,会添加顶点:
在我的应用程序中通过 IRemlinClient 运行时,如何创建一个带有字符串作为 Id 的新顶点?
tinkerpop3 - 只有在可以添加边的情况下,如何才能添加新顶点?
我需要添加一个带有边缘的新顶点。我的代码是这样的:
如果V().has("OtherVertex", "name", "test")
返回一个顶点,一切正常。我的问题是,如果OtherVertex
不存在,Gremlin 会添加没有边的新顶点。只有当我可以创建边缘时,我才想添加新的顶点。我正在使用 Gremlin-server 进行开发。我的猜测是,我可以尝试使用Transactions
,但我不确定 AWS Neptune 现在是否支持它。
有什么建议吗?谢谢。
我想,避免交易,我意识到我可以OtherVertex
先选择。如果它不存在,查询将不会创建新的 Vertex:
gremlin - Tinkergraph 遍历在我的图表上返回一个空数组 []
我已经导入了一个图,并且可以确认顶点和边的数量与应该存在的数量相匹配。我在图上运行 simplepath() 计算,我的第一个问题是如何访问路径数组或映射返回的任何内容,我想我理解为我添加 .toList 并将其打印到控制台但是我只是得到 [] 一个空数组?
我在做什么错我需要访问从路径返回的结果集?
我在 Java 中而不是在 gramlin 控制台中运行的查询是:
我还运行以下命令,但仍然返回一个空数组:
systemOut 打印时的响应是 []
此外,graphml 文档示例在这里,它是一个非常大的文档,所以我只包含了 2 个顶点和 2 个边:
尝试的查询示例: