问题标签 [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.

0 投票
1 回答
1451 浏览

graph - 如何使用 neo4j 和 gremlin 存储树结构

我想使用neo4j本地数据库和GremlinJava 存储以下目录树结构。

我已经定义了一个方法 StorePath(String path)。
我想要什么:当我用 path = "Root\Dir2\Dir4\Dir7" 调用 StorePath(path) 时,数据应按如下方式存储

其中 Root 和 Dir* 是具有空白边的顶点。请帮我处理java代码。

0 投票
1 回答
4160 浏览

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

但它似乎不起作用。

请帮忙!!!

0 投票
2 回答
1414 浏览

graph-databases - 如何在 Gremlin 上“加入”两个顶点?

我在 Gremlin 控制台上遇到了一些问题;这是我的架构。

小精灵

会心:

  • ID 1(顶点)
  • ID 3(顶点)
  • 标签:“创建”(边缘)

我想获得 ID 9(边缘)

v = gv(1)

v.outE("创建").id

仅在只有一个“创建”边缘时才有效

0 投票
5 回答
9261 浏览

graph-databases - 在 Gremlin 上获取 id + 顶点图?

gv(1).id

给我顶点1 id,

gv(1).map

给我顶点 1 属性。

但是,我怎样才能同时得到一个带有 id 和propeties 的哈希

0 投票
1 回答
1831 浏览

graph - 如何在 Gremlin 中链接命令?

以下命令有效

以下命令有效

以下命令不起作用

为什么?

0 投票
1 回答
496 浏览

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);

0 投票
2 回答
1177 浏览

neo4j - 为什么Gremlin idx 虽然数据库不为空但返回null?

我正在使用以下方法打开图表:

然后使用以下方法添加顶点:

之后我可以看到数据库有一个顶点(使用 Gephi)但是当我运行时:

它总是返回假。是否应该以某种方式打开索引?Gremlin 是否需要特定的 Neo4j 版本?

添加一些日志信息:

在 Gremlin 1.3 上试过这个 - 结果相同。所以我想这是我想念的东西。

0 投票
2 回答
2679 浏览

date - 如何在 Java 中使用 GremlinPipeline 和 PipeFunctions 进行查询?

在图形模型中,我有一个名为timeCategorychilds的顶点year-verticesmonth-vertices并且day-vertices. 我可以用 with 来识别一年,用edge-labelwith来识别IS_YEAR一个月IS_MONTH,等等。

我想做一个查询,返回给定年份范围的所有顶点,类似于以下代码:

...这对于打印所有属性值(作为整数的年份)非常有用,但我需要的是所有 VERTICES 的列表,其中年份属性在给定范围之间。

我的第二个问题是关于从管道中的值进行交叉。

例如:我有三个管道,一个年管道、一个月管道和一个日管道,这些管道包含标识年、月或日的顶点。

是否有可能让所有传出顶点到一个特殊的日期......

半代码:allVertices2012-01-01 = yearpipe.out() AND monthpipe.out() AND daypipe.out

当然,我可以在一些 for-each 循环中进行一些比较,但我想知道是否有一个(简单的)gremlin - 可以做得更好的方法。

0 投票
2 回答
5304 浏览

neo4j - 根据关系属性对节点进行排序/过滤

给定下图:

在此处输入图像描述

  1. 如何获得与node[5]with相邻的节点weight > 50
  2. 如何获取node[5]与 label相邻的节点"knows",按重量排序?
0 投票
1 回答
689 浏览

exception - 在 gremlin-groovy 脚本中获取异常的行号或完整堆栈跟踪

我有一个 gremlin-groovy 脚本,它遍历一个非常嘈杂的数据库。有很多案例缺少边缘或属性。当我假设一个边缘或属性存在并且它没有抛出异常时,我得到一个非常简单的输出,如下所示:

我想这样当脚本遇到致命异常时,如上所述,它提供堆栈转储或至少一个行号,以便我可以调试它发生的位置,类似于 java 如何打印完整的堆栈跟踪关于致命的例外。

关于如何获得更好的转储的任何建议?