问题标签 [neo4j-apoc]
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.
neo4j - Neo4j 安装 APOC 和图形算法 Neo.ClientError.Procedure.ProcedureRegistrationFailed
我对 APOC 和图形算法插件有一些问题。我按照说明将 .jars 放入其中{NEO4j_HOME}/plugins
并更改了我的设置{NEO4j_HOME}/conf/neo4j.conf
一些程序起作用。
但是,大多数存储过程根本不起作用。
有人能指出我的设置哪里出了问题吗?谢谢。
neo4j - 根据 cypher / apoc 中的多个条件执行多个查询
在 cypher 或 APOC 中,有没有办法根据多个条件执行多个查询。我需要类似这个 APOC 的东西
但是在这里,一旦我们遇到第一个真实条件,它就会跳过所有进一步的条件和查询。我想在我的条件为真的情况下执行所有那些查询。
简而言之,我正在寻找类似于 java case 语句的东西(没有中断;在 case 之间)
更新
我运行以下查询以使用多个 apoc.do.when 但似乎只有我的第二个 apoc.do.when 没有执行:
如果我在第一次运行时使用 _id = 1 并在第二次运行时使用 _id=2 运行上述查询两次,我希望两个事件与 LOCAL_LINK 和 EXTERNAL_LINK 连接。但我只在他们之间获得 LOCAL_LINK,而不是 EXTERNAL_LINK。我不确定我做错了什么。
注意:我使用限制 1,因为在多个匹配的情况下,我只想用一个节点创建 LINK。
更新 2
得到它的工作,在我的示例查询中,我没有从第一个apoc.do.when返回 y
这是有效的更新查询:
neo4j - neo4j-APOC 插件停止工作
插件APOC
为我工作了很长时间,这意味着我将它复制到正确的位置并且我已经config
正确编辑了文件。但是今天我需要在不同的数据集上创建相同的图表,所以我停止了 neo4j 服务,直接删除了数据库,重新启动它,更改了密码,然后在 neo4j 目录中复制了 plugins 目录(因为我没有使用 shell)并再次重新启动 neo4j 服务。然后尝试再次执行相同的查询并得到错误消息。
There is no procedure with the name apoc.create.relationship registered for this database instance.
我正在使用的查询如下
我根据stackoverflow帖子进行了以下更改,未注释以下行
并添加插件目录路径,重新启动服务甚至重新启动系统但仍然无法正常工作。我过去多次这样做(删除 neo4j 目录...),但这从未发生在我身上。甚至我之前尝试过用新下载的替换旧的 apoc.jar。我有带有 windows10 的 apoc3.3.0.1jar 的 neo4j3.3.0。谁能告诉我这次我做错了什么?提前致谢。
编辑1:当我在config
文件中取消注释上面的行时,我的其他插件也停止工作,但在评论它之后,其他插件就像graph algorithms
工作但没有APOC
neo4j - 在 Neo4J 3.x 中自动填充关系索引?
在 Neo4J 2.x 中,conf 设置中有一个特殊选项可以自动索引某些关系属性。
但是如何在 3.x 中做到这一点?它可以自动填充关系索引以及可以使用哪个 APOC 函数?说明书上没找到。。。
neo4j - 使用 APOC Neo4J 3.x 从索引中删除关系
当我在 Neo4J 3.x 中删除关系时,我希望它也从使用 APOC 创建的自动索引中删除。
但是,我没有看到任何删除 APOC 中的关系的程序。我只看到removeRelationshipByName
,但我必须指定关系的名称,如果我有按类型的关系怎么办?如果关系没有被删除,当我尝试按关系属性使用此索引进行搜索时,我会收到错误消息。它在索引中找到关系,但它不存在。
为了更好地了解,我创建了现有关系的索引,使用
MATCH ()-[r]->() CALL apoc.index.addRelationship(r,['user','context','statement','gapscan']) RETURN count(*);
这会为多种关系类型创建多个索引。
我还设置了一个触发器,以便每次添加关系时(无论是什么类型)都会将其添加到相应类型的索引中
CALL apoc.trigger.add('RELATIONSHIP_INDEX',"UNWIND {createdRelationships} AS r MATCH ()-[r]->() CALL apoc.index.addRelationship(r,['user','context','statement','gapscan']) RETURN count(*)", {phase:'after'})
现在,我想做的是设置一个触发器,当它们被删除时,它会从索引中删除关系。但是没有程序removeRelationship
——只有removeRelationshipByName
——但是,我不明白如何在那种情况下使用它。我应该提供什么名字?
neo4j - 如何在 Neo4J 3.x 中构建一个 Cypher / APOC 查询来搜索两种不同的关系类型?
目前我使用以下 Cypher / APOC 查询TO
通过某个属性(user
id )搜索关系类型:
我希望不仅可以搜索索引TO
,还可以搜索索引AT
(AT
关系类型),以便生成的rel
参数同时包含TO
和AT
关系。
我想这就像添加一个OR
运算符一样简单,如下所示:
但它不起作用...
也许我可以做一些事情,我rel
从这两个apoc
s 中获取 s,然后简单地将它们合并为一个rel
,但我真的不知道如何做到这一点......或者也许有一种更简单的方法我没有看到?
regex - 需要正则表达式来匹配字符串中第一次出现的字符
我有一个 sql 查询作为字符串,我需要一个正则表达式来匹配字符串中的第一个问号 (?)
正则表达式应该只匹配第一次出现的问号。我将在 Neo4j-apoc 库(apoc.text.replace 函数)中使用这个正则表达式。与 Perl/Java 等不同,此库不提供任何标志或 api 来获得第一个匹配项。所以我必须完全依靠正则表达式来匹配第一个字符。
我尝试了以下一些正则表达式,但没有运气
这些正则表达式不匹配
这些正则表达式匹配所有不存在的字符和所有问号
这些正则表达式匹配所有问号
有人可以帮我写这个正则表达式吗?
neo4j - 如何使用 APOC 反转关系
我call apoc.refactor.invert(rel)
用来反转关系方向。当我在已经创建的关系类型的图表上尝试这个而不是rel
它给出错误
类型不匹配:预期的关系,但为字符串/浮点数
当我尝试在使用以下查询创建关系时反转关系时
它给出了错误
Neo.ClientError.Statement.SyntaxError: Unknown procedure output:
rel1
(line 7, column 67 (offset: 232)) "call apoc.refactor.invert(rel1)
如果有人知道正确使用它,请帮助我。
neo4j - Neo4j 一种保持管道结果和重新生成变量的方法
我有一个具有两个属性的用户节点:partitaionA 和 partitionB,它们是我从图形算法包中的 unionFind 生成的。
我想做下面的事情,但像联合操作一样继续扩展。partitionA -> partitionB -> partitionA -> partitionB -> .........直到组中的用户数不增长。
是否有任何存储过程可以做这样的事情?不确定描述这个问题的最佳方式是什么。
对于数据模型,在这种情况下我只有用户节点,用户节点有 2 个属性:partitionA 和 partitionB。
neo4j - 使用 apoc.path.subgraphAll 进行密码查询,似乎限制配置不起作用
我正在执行以下查询:
我原以为我会得到 10 行,但我得到了 300 多行。不确定我是否在这里遗漏了什么?
实际上,在我的图中,可以有 100,000 个与这些关系相关的节点(CHILD_OF、CONNECTED_TO、LINKED_TO)。在这种情况下,我只想将结果限制为 1000。