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

找出哪些顶点和边被遍历

养昊天
2023-03-14

我有以下图表

如果我写一个查询g.V('a')。Out(),我如何才能得到被遍历的边和在traveral中遇到的顶点的值?

共有1个答案

萧和平
2023-03-14

您需要告诉Gremlin不要跳过边。g. V(). out()g. V(). outE(). inV()的简写。在这种情况下,您可以与边的值交互,就像您明确告诉Gremlin遍历它们一样。我将使用“现代”玩具图通过几个示例进行演示:

gremlin> g = TinkerFactory.createModern().traversal()
==>graphtraversalsource[tinkergraph[vertices:6 edges:6], standard]

首先,您可能希望过滤特定的边特性,然后遍历到相邻顶点:

gremlin> g.V().outE().has('weight',gt(0.5)).inV()
==>v[4]
==>v[5]

您在问题中提到您可能希望查看边的值和遇到的顶点。一种方法是使用path()

gremlin> g.V().outE().has('weight',gt(0.5)).inV().path()
==>[v[1],e[8][1-knows->4],v[4]]
==>[v[4],e[10][4-created->5],v[5]]

您还可以更明确地从边缘获取特定属性:

gremlin> g.V().outE().has('weight',gt(0.5)).inV().path().by().by('weight')
==>[v[1],1.0,v[4]]
==>[v[4],1.0,v[5]]
 类似资料:
  • GraphX暴露保存在图中的顶点和边的RDD。然而,因为GraphX包含的顶点和边拥有优化的数据结构,这些数据结构提供了额外的功能。顶点和边分别返回VertexRDD和EdgeRDD。这一章 我们将学习它们的一些有用的功能。 VertexRDDs VertexRDD[A]继承自RDD[(VertexID, A)]并且添加了额外的限制,那就是每个VertexID只能出现一次。此外,VertexRDD

  • 我花了几个小时试图写一个小精灵语句来处理在它们之间插入两个顶点和一条边,但运气不太好。 在伪gremlin中,我想做的事情非常简单,如下所示: 此代码的问题是每个步骤,作为屏障步骤“删除”前面步骤的值。 有没有办法在一个声明中正确地做到这一点? 感谢开尔文的回答,这里是解决方案:)

  • 本文向大家介绍图的边和顶点,包括了图的边和顶点的使用技巧和注意事项,需要的朋友参考一下 图是一组称为节点或顶点的点,它们由一组称为edge的线互连。图形或图形理论的研究是数学,工程学和计算机科学领域中许多学科的重要组成部分。 图论 定义-图形(表示为G =(V,E))由一组非空的顶点或节点V和一组边缘E组成。顶点a 表示边缘的端点。一条边连接两个顶点a,b ,并由其连接的一组顶点表示。 示例-让我

  • 我有一个顶点上插工作和一个边缘上插工作在2个单独的遍历中。是否可以将2合并为1遍历?我尝试过,但收到错误。 a=自身g.V()。has('account',id',account-111111111').fold().coalesce(.unfold(),.addV('account').property(T.id,'account-111111111'))。has('customer','id'

  • 我有父顶点(P)连接到子顶点(C1,C2,C3,..Cn)(通过输出边标签“DEP”),其中Cn可能非常大。这些子顶点(C1、C2、..)可以或可以不通过输出边标签“FRNDS”连接到其他顶点。在Gremlin中是否有一种方法可以找出(P)的所有子顶点,这些子顶点没有任何带有标签“frnds”的外出边? 问候你,库马尔

  • 我试图找到一个高效的gremlin查询,它返回顶点和输出边数的遍历。或者更好的是,如果存在或不存在传出边,则使用布尔值代替传出边的数量。 我的第一次尝试是: 第二个想法是: 两者似乎都有效,但是否有更好的解决方案,不需要底层图实现来获取或计数所有边? (我们目前在Postgresql中使用Tinkerpop/Gremlin的sqlg实现,这两个查询似乎都从Postgresql中获取所有传出的边缘。