问题标签 [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 回答
282 浏览

elasticsearch - 如何标记从 Neo4j 复制到 Elastic 搜索的数据?

在我的 Neo4j 图中,我只需要一种特定类型的节点即可被用户搜索。该节点具有标签“同义词”和只有一个属性“别名”。

我正在使用GraphAware Neo4j Elasticsearch Integration(Neo4j 模块),它将图形复制到弹性搜索,即它为我创建了一个弹性搜索索引。然后我可以进行如下查询

这可行,但我想为我的同义词使用一个n gram 标记器,即用于“别名”属性。目前,上面的查询只在我输入全名时返回结果,即“mySynonym”,但在我只输入“myS”时不会返回结果。

在模块文档中,我找不到任何关于标记器的信息。所以我尝试更新 Neo4J 模块创建的弹性搜索索引,如下所示:

接着:

第二个命令给了我一个错误:

[alias] 的映射器与其他类型中的现有映射冲突:\n[mapper [alias] 具有不同的 [analyzer]

我在某处读到,创建索引后无法更改映射。但是我的索引是由 Neo4j 模块创建的,我不知道如何事先指定标记器。

有任何想法吗?谢谢!

0 投票
1 回答
56 浏览

neo4j - 如何在同一个 CREATE 查询中返回的 TransactionEventHandler 中进行节点更改

我正在尝试为 neo4j 实现一个插件,以使用 GraphAware 库添加一个自动增量 ID。为此,我编写了以下类:

和:

对于测试,我可以执行:

接着:

我可以看到我的插件的效果是id添加到节点的一些属性。但是当我运行时:

返回的节点没有提到的id属性,但同样,当我在单独的查询中匹配节点时,我发现一切都很好。只是在CREATE查询中,返回的节点信息是我的插件修改它们之前的信息。

问题是;这是为什么?我不是在事务中通过我的插件修改了节点吗?返回的节点不应该显示我对它们所做的修改吗?有什么办法可以做到这一点?

0 投票
0 回答
410 浏览

java - Neo4j 更新节点时出错

编辑:现在发现了一个丑陋的创可贴修复,但仍然需要帮助解决这个错误。问题末尾的详细信息。

我目前正在使用 py2neo 在 neo4j 和烧瓶之间开发一个数据库/站点。我正在开发一个通知系统,在 X 操作时,用户会收到 X 发生的通知。为此,我正在使用合并的数据库中创建一个新的“更新”节点。

但问题是,如果类似的操作 Y 以相同的方式发生,我不想创建新的更新节点,而是更新旧节点。通常,合并可以很好地解决这个问题,因为它应该在创建新节点之前检测具有这些属性的节点是否已经存在。我遇到的问题是这个节点的属性发生了变化,例如“date_time”属性每次都会不同。因此,它为相同类型的操作创建了第二个更新节点,而不是简单地更新 date_time。

为避免这种情况,我执行以下操作:

这是其他人建议的更新现有节点的方法。具体来说,仅使用节点的唯一属性调用合并,然后通过推送调用将其他数据单独推送到它。

如果有问题的节点已经提前存在,这将非常有效。事实上,如果我尝试这样做,它只会在第一次尝试时失败,因为节点在失败之前已部分创建。如果我第二次重复操作 X,更新节点将成功更改,并用新属性覆盖第一个不完整的节点。

最后,这是我得到的实际错误。如前所述,运行上述结果将在最初成功创建节点并成功合并,但无法执行更新,从而在数据库中留下一个几乎空白的节点。

经过初步研究,我被引导相信这是由于缺乏堆空间,这是有道理的,因为当时我的系统非常薄弱。但是,在迁移到新系统后(并几乎从头开始安装数据库,使用新的配置文件,确保不使用任何堆限制设置),我仍然遇到同样的问题。

我在这里有点茫然,所以如果有人对如何解决这个问题有任何建议,或者以不同的方式执行我正在尝试做的事情以避免这个问题,我将不胜感激。

更新:如上所述,该错误仅在我第一次创建的节点上引发。因此,在找到真正的解决方案之前,作为一项临时工作,我只是模拟必要的行为,使其表现得像一个“现有”节点,即使它是全新的。阿卡..

添加第二个合并调用暂时避免了这个错误......即使它有点脏。

更新 2:

根据要求,这是我的图形感知设置

更新 3: 继续调试,这里是用简单的 'uuid' 替换 updateUUID 的结果,属性 graphaware 通常会自行创建和分配。

0 投票
1 回答
40 浏览

neo4j - 由于 CREATE INDEX 和 CREATE CONSTRAINT 无法运行单元测试

我使用 Graphaware 包为 Neo4j 开发了一个模块。作为我模块的一部分,我想确保数据库中存在一些索引和/或约束。为此,我使用BaseTxDrivenModule.initialize方法来运行几个 Cypher 语句:

当我在 Neo4j 的服务器实例中部署模块时,这些语句在生产中成功运行。但是当我想运行单元测试时,作为构建过程的一部分,执行挂起并且永远不会完成。当我省略该initialize方法时,它会继续运行而不会出现任何错误。

最糟糕的是我必须像这样构建包:mvn package -Dmaven.test.skip=true否则它不会构建任何东西。

所以我的问题是,为什么?我该如何解决这个问题?

这是一个演示该问题的示例项目:

https://github.com/ziadloo/test_neo4j_module

只需克隆它并运行mvn package,您就会发现测试永远不会完成。

0 投票
1 回答
159 浏览

java - 将 graphaware neo4j-reco 连接到独立的 neo4j 服务器

我想用独立服务器运行neo4j-reco README 示例。

如何更改它以使用并连接到我的外部 neo4j 服务器?

0 投票
0 回答
249 浏览

neo4j - Graphaware 框架和 UUID 未在 Neo4j GrapheneDB 上启动

我正在尝试让 Graphaware 框架和 UUID 在 GrapheneDB 实例上运行。我已按照说明压缩 JAR 和 neo4j.properties 文件并使用 GrapheneDB Web 界面上传,但创建新节点时未添加 UUID。

neo4j.properties 文件

日志输出

2017-03-02 10:20:40.184+0000 INFO Neo4j 服务器关闭由请求发起 2017-03-02 10:20:40.209+0000 INFO [cgsfbGraphAwareServerBootstrapper] 停止 2017-03-02 10:20:40.209+0000 INFO 停止... 2017-03-02 10:20:40.982+0000 信息已停止。2017-03-02 10:20:43.402+0000 信息开始... 2017-03-02 10:20:43.820+0000 在 0.0.0.0:7475 上启用信息螺栓。2017-03-02 10:20:45.153+0000 信息 [cgrbRuntimeKernelExtension] GraphAware 运行时已禁用。2017-03-02 10:20:48.130+0000 信息开始。2017-03-02 10:20:48.343+0000 信息 [cgsfbGraphAwareServerBootstrapper] 开始于 2017-03-02 10:20:48.350+0000 信息在 [/graphaware] 2017-03-02 安装非托管扩展 [com.graphaware.server] 10:20:48.724+0000 INFO 在 /graphaware 2017-03-02 10:20:48 安装 GraphAware 框架。.graphaware。,组织。.graphaware。,网。.graphaware。2017-03-02 10:20:52.633+0000 INFO 远程接口可在 http://localhost:7474/

Messages.log 提取

2017-03-02 10:33:59.991+0000 信息 [onkiDiagnosticsManager] --- 开始诊断 KernelDiagnostics:StoreFiles 结束 --- 2017-03-02 10:34:01.846+0000 信息 [onkiDiagnosticsManager] --- 服务器已启动开始 --- 2017-03-02 10:34:02.526+0000 INFO [cgsfbGraphAwareBootstrappingFilter] 在 /graphaware 安装 GraphAware 框架 2017-03-02 10:34:02.547+0000 INFO [cgsfcGraphAwareWebContextCreator] 将尝试扫描以下软件包: {com。.graphaware。,组织。.graphaware。,网。.graphaware。} 2017-03-02 10:34:06.100+0000 信息 [onkiDiagnosticsManager] --- 服务器启动结束 ---

看起来框架没有启动,但我在属性文件中设置了 enabled=true 。

环境设置

  • Neo4j 社区版 3.1.1
  • graphaware-server-3.1.0.44
  • graphaware-uuid-3.1.0.44.13

谢谢

0 投票
2 回答
245 浏览

neo4j - Graphaware 社区版可以在 Neo4j 企业版上使用吗?

我很好奇 Graphaware 框架版本(社区与企业)是否必须与 Neo4j 版本匹配?

0 投票
0 回答
149 浏览

php - GraphAware\Neo4j 更改未出现在远程界面中

我目前正在学习 Neo4j。我编写了第一个测试,它在 Neo4j 中创建一个节点并获取它。我使用 PHP GraphAware\Neo4j\Client。但是,我无法在http://localhost:7474/browser/的远程界面中看到该节点,但我能够在 PHP 中获取节点 ...

我究竟做错了什么?

我使用 CREATE (n:Person) SET n += {attributes} 创建节点,然后使用 MATCH (n:Person) RETURN n 获取它

0 投票
1 回答
865 浏览

elasticsearch - ElasticSearch 创建索引失败

我正在尝试使用 graphware neo4j-to-elastic 插件集成 Neo4j 和 ElasticSearch。参考: https ://github.com/graphaware/neo4j-to-elasticsearch

neo4j 和 elastic 上的当前版本分别为 3.1.2 和 2.4.2。我已经启动了 elasticsearch 服务器并在端口 9200 和 9300 上运行。

完成上述步骤后,我重新启动了neo4j,我得到一个错误

我无法理解为什么会收到此错误?

0 投票
1 回答
85 浏览

php - 是运行一个事务,然后是 php 代码,然后是 neo4j-php-client 中的原子提交?

第二行代码中的运行查询是原子事务的一部分,或者换句话说:是否有可能另一个线程在以下代码的第 2 行和第 4 行之间成功运行查询?