问题标签 [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 投票
2 回答
1203 浏览

lucene - Gremlin 中的数值比较运算符和通配符

有没有办法使用数字比较运算符(>=、<=、<、>、...)在 Neo4j 中搜索手动索引?查看 Gremlin 索引示例,它们都倾向于呈现具有特定属性值的搜索。

假设我有大约 10M 的两种类型的关系,它们都在一个名为“property”的属性中具有数值,在第一个 double 中,在第二个 int 中。

现在,如果我知道确切的属性值,它是一个基于对数的双精度 pvalue,我可以很容易地找到节点

相反,我想对'property'进行范围搜索,例如查找'property'> = 0 && 'property' <= 1.6的所有边。这可以用 Gremlin 做吗?看看Gremlin 用户讨论组告诉我,即使是从全文 Lucene 索引中进行通配符搜索也有点 hack,而且Neo4j API也无济于事。

编辑:在 Stackoverflow 中发现了另一个类似的问题(标题为“使用 Lucene 查询语法在 Neo4j 中进行范围查询”;新用户最多只能发布两个超链接)导致 Neo4j 文档。我通过对数值使用 ValueContext 重新创建了索引。通过遵循在 neo4j 讨论组中找到的示例(标题:将 numericRange 查询与关系查询结合起来),我可以进行如下查询

它使用范围搜索。Gremlin 的语法是什么?它应该是这样的

这在语法上是正确的,但是即使在该范围内有具有属性的边,计数也会产生 0 结果。

0 投票
5 回答
955 浏览

neo4j - 在 neo4j / gremlin 中可以进行此查询吗?

如果我有一个看起来像这样的图表:

有没有一种方法可以执行以下操作:

  1. 如果从 N3 开始将返回 N2
  2. 在 N4 开始的相同查询将返回 N2
  3. 在 N5 开始的相同查询将返回 N2

(最好在 gremlin 中)

编辑:澄清:只要一级关系是“member_of”,我最多可以进行二级连接。

0 投票
1 回答
1720 浏览

graph - 如何从 Gremlin 调用 neo4j GraphAlgoFactory aStar 算法?

我是一名编码技能平庸的数据科学家,所以直到现在在使用 neo4j 时,我一直避免使用 java 来支持 Cypher 和 Gremlin。

我已经将一堆图形数据推送到 neo4j 中,每个边都有一个权重属性。如果可能的话,我想从 gremlin 控制台中在此图表上运行 aStar 或 dijkstra。JUNG 似乎没有加权最短路径算法,所以我转向了 GraphAlgoFactory,但所有关于它的在线讨论似乎都是在纯 Java 中进行的。

我的目标是在我选择的两个顶点之间获得最短的加权路径,其中权重由边缘上的权重属性决定。

谢谢!

0 投票
4 回答
2194 浏览

indexing - neo4j 在 200K 节点和 450K 关系上计算节点性能

我们正在开发一个基于的应用程序,大约有200k个节点,每个节点都有一个属性,例如type='user'type='company' 表示我们应用程序的特定实体。我们需要获取图中特定类型的所有节点的计数。

我们为每个实体创建了一个索引,例如userscompanies它包含该属性的节点。所以内部users索引驻留130K节点,其余在companies.

使用 Cypher,我们可以像这样查询。

结果是

服务器配置为默认值,稍作调整,但 4 秒也满足我们的需要。认为数据库会在 1 个月内增长 20K,所以我们非常非常需要这个查询执行。

有没有其他方法可以做到这一点,也许使用 Gremlin,或者使用其他服务器插件?我会缓存这些结果,但我想知道是否可以调整它。

非常感谢,对不起我糟糕的英语。

0 投票
1 回答
2352 浏览

php - PHP 脚本不会在命令行上运行

编码:

如果我像这样在命令行上运行它:

它运行良好。但如果我这样运行它:

它什么也不做。我不知道为什么。

编辑:我不得不取出几乎所有的代码,因为它不会让我全部提交。

0 投票
1 回答
1508 浏览

graph - Gremlin 查询:另一种在循环中编写它的方法

也许存储一个包含项目的数组,然后遍历每个执行输出并将其附加到 it.name; 并迭代(计数)以确保我们不会超过数组的长度。

0 投票
1 回答
513 浏览

neo4j - 使用 Neo4j 和 Gremlin 确定 ACL 中的安全性

我正在研究 Neo4j 以比较它实现访问控制列表的性能。看起来这很合适。

这是几年前的一篇文章,描述了这个确切的用例。 http://blog.neo4j.org/2010/02/access-control-lists-graph-database-way.html

has_access方法虽然是用 ruby​​ 编写的。我认为使用 gremlin 处理服务器上的查询对于大图会更有效。如何确定用户是否可以使用 Gremlin 访问节点?

谢谢!

0 投票
8 回答
28931 浏览

graph - Gremlin 移除所有顶点

我知道如何通过 id 删除一个顶点,但我需要删除多个顶点(清理数据库)。

删除 1 v 是这样的:

0 投票
1 回答
1541 浏览

graph-databases - 删除顶点的所有边和顶点本身

我正在尝试编写一个 gremlin 表达式,对于给定的顶点,它会删除往返于它的所有边,然后删除顶点本身。

我使用 OrientDB 1.3-SNAPSHOT 作为我的图形数据库。

到目前为止,这是我的表达:

我期望上面删除边缘然后返回 2,这应该打印出 node #8:1。但是,由于某种原因,我收到此错误:

为什么会这样?

最后,我该如何移除顶点?文档表明这removeVertex()需要一个参数(即顶点)。如何将顶点从back(2)into传递removeVertex()

0 投票
1 回答
1409 浏览

neo4j - Neo4j Facet 字段,如 Solr

我在用 PHP 构建的社区电子商务中使用 Neo4j 并使用 REST 接口。

我需要获取与亚马逊等搜索结果相关的所有类别。此功能在其他引擎中可用,例如 Solr(Lucene 的另一种实现)作为Faceted Search

如何在 Neo4j 中进行分面搜索?或重新创建此功能的最佳方式(性能等级)是什么?

neo4j 的核心包中排除了与此功能相关的所有必需模块。我想知道是否有人尝试在不横向所有节点的情况下做这样的事情,获取一些属性,并对这些值进行 groupCount。如果我们有 200k 个节点,则横向需要 10 秒才能获得类别。

这是我的 Gremlin 方法。

结果为 90 行,耗时 54 秒。

当然,我不能把这个结果放在缓存中,因为这是“非输入搜索”。如果用户进行像“Iphone”这样的查询,查询看起来像