当前位置: 首页 > 知识库问答 >
问题:

TinkerPop Gremlin重复直到没有更多的边缘

谢财
2023-03-14

我想从一个顶点开始,沿着外边,直到我到达一个“叶子”顶点,没有更多的外边。

我试过了

g、 V(2)。重复(out()。not(hasLabel('region',business')。simplePath())。直到(outE()。count()==0)

我不知道要传入什么,直到我发现的所有示例都在传递“have”或类似的顶点属性测试。

我正在尝试使用Gremlin控制台,但也需要它在java应用程序中工作。

示例图形:

graph = TinkerGraph.open()
g = graph.traversal()


a1 = g.addV("acc").property(id, 1).next()
a2 = g.addV("acc").property(id, 2).next()
a3 = g.addV("acc").property(id, 3).next()
a4 = g.addV("acc").property(id, 4).next()
a5 = g.addV("acc").property(id, 5).next()

sfid_a = g.addV("sfid").property(id, "a").next()
sfid_b = g.addV("sfid").property(id, "b").next()

cust_x = g.addV("cust").property(id, "x").next()
cust_y = g.addV("cust").property(id, "y").next()

ind = g.addV("region").property(id, "in").next()
usa = g.addV("region").property(id, "us").next()

aws = g.addV("business").property(id, "aws").next()

g.addE('has_payer').from(a2).to(a4)

g.addE('has_sfid').from(a5).to(sfid_b)
g.addE('has_sfid').from(a3).to(sfid_a)
g.addE('has_sfid').from(a4).to(sfid_a)


g.addE('has_cust').from(sfid_b).to(cust_x)
g.addE('has_cust').from(sfid_a).to(cust_x)
g.addE('has_cust').from(cust_x).to(cust_y)
g.addE('has_cust').from(a1).to(cust_y)


g.addE('has_business').from(a1).to(aws)
g.addE('has_business').from(a2).to(aws)
g.addE('has_business').from(a3).to(aws)
g.addE('has_business').from(a4).to(aws)
g.addE('has_business').from(a5).to(aws)


g.addE('has_region').from(a1).to(ind)
g.addE('has_region').from(a1).to(usa)
g.addE('has_region').from(a2).to(ind)
g.addE('has_region').from(a2).to(usa)
g.addE('has_region').from(a3).to(ind)
g.addE('has_region').from(a4).to(usa)
g.addE('has_region').from(a5).to(ind)
g.addE('has_region').from(a5).to(usa)

共有1个答案

何乐
2023-03-14

似乎我可以使用“is”步骤过滤标量

g.V(2).repeat(out().not(hasLabel('region', 'business')).simplePath()).until(outE().count().is(0))
g.V(2).repeat(out().not(hasLabel('region', 'business')).simplePath()).until(outE().count().is(gt(5)))
 类似资料:
  • 因此,我不确定如何在.setOnAction事件期间计算节点的高度,我已尝试/不确定还要尝试什么我正在尝试在添加节点后查找vBox的高度,但它只是在添加新节点之前打印节点的高度 运行该示例,然后单击将标签添加到vBox并输出的按钮 实际结果: 预期结果: 但是如果你点击打印VBox高度按钮,它会显示正确的高度:

  • 我想使用JavaFX media player在没有任何GUI的情况下播放mp3。 我在网上看到了很多例子,但它们都创建了JFX框架。 当我运行以下代码时: 我得到: java.lang.IllegalStateException: Toolkit 未初始化

  • 下面是我尝试更新状态值的代码。我不明白为什么我的状态没有更新。我在每一行代码中添加了所有相应的控制台值。

  • 我正在创建一个Java项目,使用do-while循环从用户那里获取一个介于5到15之间的数字。在此之后,我将使用用户输入的数字创建一个正方形和三角形。 我现在只能重复我的问题。在我运行程序后,它运行良好,直到我输入一个数字,第二次提示用户输入一个数字。如果号码无效或无效,则不会打印。 我试着移动第二个“输入数字...”里面的do-loop,但那只是印有“对不起,无效”的提示。我对while循环中的

  • 我搜索了一个小时来找到问题的解决方案,我使用maven to pom.xml来查找这个导入的库org.springframework.jdbc.core.jdbctemplate 我的pom.xml 结果是:-