如何在 java 中使用 GremlinPipeLine 使用类似搜索填充的顶点集之间添加边
How to add edges between set of vertices which are populated by using like search using GremlinPipeLine in java
我想通过使用类似搜索来过滤两组顶点,然后如果 属性 例如,我想在这些顶点之间添加边。 location
匹配 .
第 1 步:喜欢使用 mgrNo 搜索喜欢以 100 开头
第 2 步:
喜欢使用 mgrNo 搜索喜欢以 200 开头
步3:Add边
在步骤 1 和步骤 2 生成的顶点之间,如果 属性 表示
例如。顶点 A 和顶点 B 的 location
匹配。
我想知道如何在 java 中使用 gremlinPipeLine
执行此操作
我不确定您是否真的需要复杂的 Gremlin 来执行此操作:
// using some groovy for simplicity note that this is graph query syntax
// and not a "pipeline". to convert to java, you will just need to iterate
// the result of vertices() into an ArrayList and convert the use of
// each{} to foreach or some other java construct
mgr100 = g.query().has("mgrNo",CONTAINS_PREFIX,"100").vertices().toList()
mgr200 = g.query().has("mgrNo",CONTAINS_PREFIX,"200").vertices().toList()
mgr100.each {
mgr200.findAll{x -> x.location == it.location}.each{x -> it.addEdge('near', x)}
}
注意在 CONTAINS_PREFIX 周围使用了一些特定于 Titan 的语法。虽然您可能会尝试以某种方式将此代码转换为 Gremlin 管道,但我不确定它是否比这更具可读性。
我想通过使用类似搜索来过滤两组顶点,然后如果 属性 例如,我想在这些顶点之间添加边。 location
匹配 .
第 1 步:喜欢使用 mgrNo 搜索喜欢以 100 开头
第 2 步: 喜欢使用 mgrNo 搜索喜欢以 200 开头
步3:Add边 在步骤 1 和步骤 2 生成的顶点之间,如果 属性 表示 例如。顶点 A 和顶点 B 的
location
匹配。
我想知道如何在 java 中使用 gremlinPipeLine
我不确定您是否真的需要复杂的 Gremlin 来执行此操作:
// using some groovy for simplicity note that this is graph query syntax
// and not a "pipeline". to convert to java, you will just need to iterate
// the result of vertices() into an ArrayList and convert the use of
// each{} to foreach or some other java construct
mgr100 = g.query().has("mgrNo",CONTAINS_PREFIX,"100").vertices().toList()
mgr200 = g.query().has("mgrNo",CONTAINS_PREFIX,"200").vertices().toList()
mgr100.each {
mgr200.findAll{x -> x.location == it.location}.each{x -> it.addEdge('near', x)}
}
注意在 CONTAINS_PREFIX 周围使用了一些特定于 Titan 的语法。虽然您可能会尝试以某种方式将此代码转换为 Gremlin 管道,但我不确定它是否比这更具可读性。