如何通过Gremlin获得Neo4j 1.9RC1中具有关系和相关顶点的顶点
Neo4j将在2.x版本中支持树模式。(我们无法使用树函数)我们使用的是1.9RC1 我需要获得用户的追随者和朋友如何通过Gremlin获得Neo4j 1.9RC1中具有关系和相关顶点的顶点,neo4j,graph-databases,gremlin,neo4jclient,Neo4j,Graph Databases,Gremlin,Neo4jclient,Neo4j将在2.x版本中支持树模式。(我们无法使用树函数)我们使用的是1.9RC1 我需要获得用户的追随者和朋友 public class User { public long Id { get; set; } public string Name { get; set; } ............... } public class UserModel { public long Id { get; set; } public string Nam
public class User
{
public long Id { get; set; }
public string Name { get; set; }
...............
}
public class UserModel
{
public long Id { get; set; }
public string Name { get; set; }
public string DetailedInformation { get; set; }
public IEnumerable<UserModel2> Followers { get; set; }
public IEnumerable<UserModel2> Friends{ get; set; }
}
public class UserModel2
{
public long Id { get; set; }
public string Name { get; set; }
}
但它存在数据重复问题。
它返回路径而不是树
PS:我们使用的是C#。如果你看看tree()是如何实现的,它只是在连接点聚合的path()。连接点是相同深度的顶点。因此,您可以根据path()的结果创建自己的树数据结构(在较旧版本的Gremlin中为-path()。让我通过示例来解释如何实现它。如果您有一组这样的路径:
[1,2,3,4]
[1,3,5,6]
[1,2,3,5]
然后,树表示将是:
4
/
2-3
/ \
1 5
\
3-5-6
智能地使用嵌入式哈希映射将提供您想要的功能。请查看Pipes 2.x代码库,了解树是如何实现的,并根据您的需要进行复制(和调整)。g.v(4582).inE.outV.paths{it}返回您编写的矩阵。但存在数据重复问题。我将检查HashMaps。谢谢。看来用Neo4J实现这一点没有实际的方法。。。但是泰坦的一切似乎都很好@marko titan 0.3.1的发布日期是什么时候?(我认为。1意味着生产准备就绪)
4
/
2-3
/ \
1 5
\
3-5-6