问题标签 [gremlin]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
graph - 如何使用 neo4j 和 gremlin 存储树结构
我想使用neo4j
本地数据库和Gremlin
Java 存储以下目录树结构。
我已经定义了一个方法 StorePath(String path)。
我想要什么:当我用 path = "Root\Dir2\Dir4\Dir7" 调用 StorePath(path) 时,数据应按如下方式存储
其中 Root 和 Dir* 是具有空白边的顶点。请帮我处理java代码。
graph - 使用 Gremlin 在图中找到最短路径,避免给定的顶点列表?
我需要使用 Gremlin 找到两个节点(顶点)之间的最短路径,同时避免给定顶点的列表。
我已经有了:
v.bothE.bothV.loop(2){!it.object.equals(y)}.paths>>1
得到我的最短路径。
我正在尝试类似的事情:
v.bothE.bothV.filter{it.name!="ignored"}.loop(3){!it.object.equals(y)}.paths>>1
但它似乎不起作用。
请帮忙!!!
graph-databases - 如何在 Gremlin 上“加入”两个顶点?
我在 Gremlin 控制台上遇到了一些问题;这是我的架构。
会心:
- ID 1(顶点)
- ID 3(顶点)
- 标签:“创建”(边缘)
我想获得 ID 9(边缘)
v = gv(1)
v.outE("创建").id
仅在只有一个“创建”边缘时才有效
graph-databases - 在 Gremlin 上获取 id + 顶点图?
gv(1).id
给我顶点1 id,
gv(1).map
给我顶点 1 属性。
但是,我怎样才能同时得到一个带有 id 和propeties 的哈希
graph - 如何在 Gremlin 中链接命令?
以下命令有效
以下命令有效
以下命令不起作用
为什么?
java - 尝试通过 REST 访问 Neo4j 数据库以使用 Gremlin 进行遍历时出错
我在 Neo4j 数据库上使用 Gremlin。我能够加载 tinkergraph 数据库并对其进行 gremlin 遍历,但无法加载本地数据库并对其进行遍历。
从控制台上的修补程序图中,我使用以下命令,它工作正常:
即使从 Java 代码我也能做到。我发送相同的命令:
但是当我尝试从我在“db/data/”创建的硬盘访问数据时,它在控制台中工作正常,但不能通过 java 代码。
控制台命令:
g = new Neo4jGraph('db/data/'); 名称
我得到了预期的输出。
但是通过 Java 代码我收到以下错误: javax.script.ScriptException: java.lang.RuntimeException: java.io.FileNotFoundException
我的Java代码是:
最终字符串 scriptURI = SERVER_ROOT_URI + "ext/GremlinPlugin/graphdb/execute_script"; WebResource 资源 = Client.create().resource(scriptURI); String entity = toJsonNameValuePairCollection("script", "g = new Neo4jGraph('db/data/');gVname"); ClientResponse response = resource.accept(MediaType.APPLICATION_JSON).type(MediaType.APPLICATION_JSON).entity(entity.post(ClientResponse.class);
neo4j - 为什么Gremlin idx 虽然数据库不为空但返回null?
我正在使用以下方法打开图表:
然后使用以下方法添加顶点:
之后我可以看到数据库有一个顶点(使用 Gephi)但是当我运行时:
它总是返回假。是否应该以某种方式打开索引?Gremlin 是否需要特定的 Neo4j 版本?
添加一些日志信息:
在 Gremlin 1.3 上试过这个 - 结果相同。所以我想这是我想念的东西。
date - 如何在 Java 中使用 GremlinPipeline 和 PipeFunctions 进行查询?
在图形模型中,我有一个名为timeCategory
childs的顶点year-vertices
,month-vertices
并且day-vertices
. 我可以用 with 来识别一年,用edge-label
with来识别IS_YEAR
一个月IS_MONTH
,等等。
我想做一个查询,返回给定年份范围的所有顶点,类似于以下代码:
...这对于打印所有属性值(作为整数的年份)非常有用,但我需要的是所有 VERTICES 的列表,其中年份属性在给定范围之间。
我的第二个问题是关于从管道中的值进行交叉。
例如:我有三个管道,一个年管道、一个月管道和一个日管道,这些管道包含标识年、月或日的顶点。
是否有可能让所有传出顶点到一个特殊的日期......
半代码:allVertices2012-01-01 = yearpipe.out() AND monthpipe.out() AND daypipe.out
当然,我可以在一些 for-each 循环中进行一些比较,但我想知道是否有一个(简单的)gremlin - 可以做得更好的方法。
neo4j - 根据关系属性对节点进行排序/过滤
给定下图:
- 如何获得与
node[5]
with相邻的节点weight > 50
? - 如何获取
node[5]
与 label相邻的节点"knows"
,按重量排序?
exception - 在 gremlin-groovy 脚本中获取异常的行号或完整堆栈跟踪
我有一个 gremlin-groovy 脚本,它遍历一个非常嘈杂的数据库。有很多案例缺少边缘或属性。当我假设一个边缘或属性存在并且它没有抛出异常时,我得到一个非常简单的输出,如下所示:
我想这样当脚本遇到致命异常时,如上所述,它提供堆栈转储或至少一个行号,以便我可以调试它发生的位置,类似于 java 如何打印完整的堆栈跟踪关于致命的例外。
关于如何获得更好的转储的任何建议?