Tag: gremlin

Gremlin获取所有传入和传出的顶点,包括它们的边缘和方向

我花了一个星期在Gremlin shell尝试编写一个查询来获取所有传入和传出的顶点,包括它们的边缘和方向。 我尝试了一切。 gV(“name”,”testname”).bothE.as(‘both’).select().back(‘both’).bothV.as(‘bothV’).select(){it.map()} 我需要的输出是(只是示例结构): [V { ‘名称’: “测试名”}] ___ [啉{edge_name: “nameofincomingedge”}] ____ [V {名称: ‘nameofconnectedvertex’] [V { ‘名称’: “测试名”}] ___ [欧特{edge_name: “nameofoutgoingedge”}] ____ [V {名称: ‘nameofconnectedvertex’] 所以我只想获得1)具有确切名称的所有顶点,每个顶点的边缘(包括inE或outE类型)和连接的Vertex。 理想情况下,我想得到他们的map()所以我得到完整的对象属性。 我不关心输出风格,我只需要所有信息,所以我可以用它来操纵它。 我需要这个训练我的Gremlin,但欢迎Neo4j的例子。 谢谢!

IllegalStateException:必须将Gremlin Server配置为使用JanusGraphManager

Set graphNames = JanusGraphFactory.getGraphNames(); for(String name:graphNames) { System.out.println(name); } 上面的代码片段产生以下exception java.lang.IllegalStateException: Gremlin Server must be configured to use the JanusGraphManager. at com.google.common.base.Preconditions.checkState(Preconditions.java:173) at org.janusgraph.core.JanusGraphFactory.getGraphNames(JanusGraphFactory.java:175) at com.JanusTest.controllers.JanusController.getPersonDetail(JanusController.java:66) my.properties gremlin.graph=org.janusgraph.core.JanusGraphFactory storage.backend=cql storage.hostname=127.0.0.1 cache.db-cache = true cache.db-cache-clean-wait = 20 cache.db-cache-time = 180000 cache.db-cache-size = 0.5 index.search.backend=elasticsearch index.search.hostname=127.0.0.1 小鬼,server.yaml host: 0.0.0.0 port: 8182 scriptEvaluationTimeout: 30000 channelizer: org.apache.tinkerpop.gremlin.server.channel.WebSocketChannelizer graphManager: org.janusgraph.graphdb.management.JanusGraphManager […]

宽度格雷姆林中的第一个枚举

我正在尝试使用Gremlin进行广泛的首次枚举,但是我无法找到输出枚举期间观察到的所有步骤的方法。 我只能打印出最后一次迭代的结果。 我的问题是,给定这样的起始节点,我如何使用Gremlin跟踪所有路径(不知道整体深度)并打印出我沿途找到的所有内容? study=gv(‘myId’) 我已经尝试过分散方法,循环方法(尽管如果我理解正确,两者似乎都需要事先知道路径的实际长度) 非常感谢!

如何从gremlin返回子图,它是一种易于使用的Java格式

当我尝试进行单次遍历并使用Gremlin立即从DSE Graph 5.0中获取大量内容时,我对非常简单的事情感到非常沮丧。 在我的简化案例中,我有: 1个具有特定uuid的实体 实体可以为零(参见可选)或更多类型 我需要能够返回entity和types 到目前为止,我的工作非常难看:( List list = gV().hasLabel(“Entity”).has(“uuid”,”6708ec6d-4518-4159-9005-9e9d642f157e”).as(“entity”) .optional(outE(“IsOfType”).as(“types”)) .select(“entity”, “types”).toList(); List typeEdges = new ArrayList(); Vertex entityV = null; for (Object obj : list) { entityV = ((Vertex)((LinkedHashMap) obj).get(“entity”)); Edge typeEdge = ((Edge)((LinkedHashMap) obj).get(“types”)); typeEdges.add(typeEdge); } 列表中的每一行都有实体和其中一种类型:/ 我正在做这一切,因为Vertex没有基于DSE 5.0 Fluent API中的遍历填充edges() 。 所以要么我被困在多个遍历或一个巨大的可怕遍历,这在Java对象中非常难以反序列化,或者我必须将gremlin查询作为String传递但不会返回Gremlin Vertex对象而是DSE而是:( 在我不那么简化的情况下,我想要返回上面的多个实体及其各自的类型,如何做到这一点? 最后,什么是一个好的方法,将导致可重用的代码自定义对象映射具有不同类型的对象的子图? 提前谢谢你的帮助!