问题标签 [graphaware]

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 回答
380 浏览

java - neo4j 中的节点级安全性

我目前正试图弄清楚如何连接到 Neo4j,以便在对数据库执行查询之前添加一个额外的步骤。我想限制某些用户访问或更新某些节点(这是在 db 框架上做得更好,还是我们的 api 通过 bolt 与 Neo4j 交谈?)。我想访问生命周期并可能阻止查询发生或过滤结果。最好的方法是什么?使用 graphaware(设法使用 BeforeCommit)或通过覆盖其中一种方法来扩展 Neo4j。如果我采用这种直接扩展 Neo4j 的方法,我将如何对整个配置和打包进行此操作?

0 投票
0 回答
112 浏览

performance - neo4j graphaware php 客户端性能开销

我正在通过graphaware neo4j php client的 php 客户端查询我的 Neo4j 图。现在我在通过基准测试时遇到了重大的性能下降

我得到大约 250 毫秒的查询时间,与在 neo4j 浏览器中执行的相同查询相比,这很容易增加十倍。

编辑:也许我应该添加图表只有大约 200 个节点大,但查询严重依赖过滤路径。另外,当然,当我第二次运行查询时,由于缓存,它的速度大约快了 5 倍。

这是什么原因?我在想也许

  • 未为图形感知客户端正确启用螺栓协议
  • graphaware 产生开销(在 php 对象中解包结果,..)
0 投票
0 回答
85 浏览

php - 函数中的 140 个查询持续存在(Neo4j graphaware OGM for PHP)

我有一个包含 9 种类型的节点、9 种关系类型和 50 个条目(节点和关系)的数据库,当我尝试保存一个新节点时,库在函数中执行 140 次查询。

我的 PHP 代码:

类定义

库版本:

查询一直重复数据库中的关系和其他ID,相同的查询更改名称关系或ID,查询是:

查询

代码的第一次查询跟踪

第二个查询跟踪

有人知道解决这个吗?

0 投票
1 回答
183 浏览

php - 如何获取查询的执行时间?

在数据中找不到它result->summarize()......任何想法如何直接获取时间?似乎有类似long resultAvailableAfter( TimeUnit unit )看到的东西:Cypher query execution time with Neo4j java driver can i access a similar on php?

0 投票
1 回答
289 浏览

neo4j - 如何知道 Neo4j 何时准备好服务

我开发了一个连接到 Neo4j 并创建一堆节点的应用程序。我还使用 Graphaware 为 Neo4j 开发了一个插件。这两个都在单独的 docker 中运行(一个用于代码,一个用于带有插件的 Neo4j)。

现在,由于我自动同时启动这些容器,代码应该等待 Neo4j 完全启动,然后再尝试创建节点。为此,我通过尝试使用螺栓协议(Neo4j 的驱动程序)连接到 Neo4j 来测试它的可用性。

我遇到的问题是,似乎 Neo4j 在完全加载插件之前就开始接受传入的连接。结果,在 Neo4j 实际准备好之前建立了连接,并且出现了问题(我不知道是什么)并且整个代码停止了(我认为这个问题并不重要),这一切都是因为连接是在插件已加载。我知道,因为如果我手动延迟连接,一切都会顺利进行。

所以我的问题是如何确保 Neo4j 在开始连接之前(完全)预热?现在我正在检查管理的可用性(http://localhost:7474)但是如果没有管理,首先呢?

0 投票
1 回答
108 浏览

php - PHP neo4j OGM - 检测到递归

我在我的项目中使用实体管理器。我可以成功地将我的实体和它们之间的关系读取/添加到数据库,但有一个问题。

我有两个节点 Employee 和 Document,它们之间的关系是 Employee HAS Document。

Emloyee 的 php 类:

文档的 php 类:

然后我有两个 API 端点我使用 REST API 的 Slim 框架基本上我有两种返回数据的方法。

对于员工:

文件:

所以我的问题是当我取消注释时

在文档类中

我得到一个运行时错误检测到递归

没有那条线一切正常。

有人可以帮我我错过了什么吗?

0 投票
1 回答
80 浏览

json - getDegree()/isOutgoing() 函数在 graphAware/neo4j-to-elasticsearch mapping.json 中不起作用

Neo4j 版本:3.2.2

操作系统:Ubuntu 16.04

getDegree()在 mapping.json 文件中使用函数,但返回总是null; 我正在使用数据集 neo4j 教程电影/演员数据集。

elasticsearch 请求的输出

映射.json

此外,如果我isOutgoing(), isIncoming(), otherNode在 relationship_mappings 属性部分使用函数,elasticsearch 将永远不会从 neo4j 加载关系数据。我想我可能only when one of the participating nodes "looking" at the relationship is provided对这个页面上的这句话有一些误解 https://github.com/graphaware/neo4j-framework/tree/master/common#inclusion-policies

映射.json

顺便说一句,是否有任何页面列出了我们可以在 mapping.json 中使用的所有功能?我认识他们两个

  1. github.com/graphaware/neo4j-framework/tree/master/common#inclusion-policies
  2. github.com/graphaware/neo4j-to-elasticsearch/blob/master/docs/json-mapper.md 似乎还有更多,因为我可以使用getType()上述任何页面中未列出的 。

如果我可以提供任何进一步的帮助来解决问题,请告诉我

谢谢!

0 投票
1 回答
101 浏览

neo4j - Elasticsearch 无法将 neo4j 中的 2GB 数据库与 GprahAware 同步

当数据库只有 250KB 时,neo4j2elasticsearch 在我的机器上工作。但是数据库大约是 2GB。不会再同步了。我想知道是因为配置文件中的这些参数:

我想知道内存队列大小 10000 的单位是什么,以及如何根据我的数据库大小估计要设置的参数。

这是调试文件: neo4j debug.log 加载失败

数据库重新初始化但elasticsearch数据库中只有空的neo4j-index-relationship/neo4j-index-node索引

仅供参考,这里是成功加载 250KB 数据库的调试文件: neo4j debug.log 成功加载 似乎是重新索引节点... 2GB 数据库加载过程中缺少步骤。

0 投票
0 回答
69 浏览

neo4j - 查询中参数对象的最大大小?

我正在为 neo4j 使用 graphaware php 客户端

当使用“大”参数对象(大约 200 行漂亮的打印,字段值最多 30 个字符)运行查询时,它会冻结。

对象$queryparams看起来像

在哪里

  1. 一切都在数据包装器中
  2. 200 个条目中的大多数是查询从不使用的垃圾

线

变得长期运行并被 nginx 超时。我试过了

无济于事。

在 neo4j 浏览器中使用相同的参数运行相同的查询,我会立即得到结果。

关于导致问题的任何想法?它是图形感知的吗?

编辑:我发布得太快了,但这出乎我的意料:在我提到的垃圾内部"0": ...某处有一个字段。$queryparams这就是导致问题的原因。这是预期的行为吗?

0 投票
0 回答
94 浏览

php - Neo4j graphaware php $client->run($query) 长时间运行

我正在使用neo4j graphaware php 客户端,并且在长时间运行的查询中遇到了不好的问题。

长时间运行并最终导致504 Gateway Time-out.

我最近提出了一个关于这个问题的问题,我认为我确定了原因,即仅命名的参数"0"。我很幸运能找到当时的原因。

我再次遇到同样的问题并且没有幸运地确定原因。我无法可靠地重现它。我想我可以对 neo4j 配置中的查询施加超时,以便图形感知客户端被中断,我可以处理错误/记录数据。但这不起作用,似乎我什至无法在 neo4j 中调用查询。

看来我需要类似超时的东西:

不幸的是,它已被弃用/不起作用。

TL;DR:有些东西阻止了图形感知客户端,我看不出它是什么。想法?