问题标签 [neo4j-embedded]

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

neo4j - 嵌入式neo4j:迭代一个巨大图的所有节点

我想遍历~100Mio-graph 中的所有节点。我知道我可以使用 cypher-query 获取节点

但随后我将不得不使用 LIMIT 和 SKIP 自己处理数据集,我认为这种方法存在性能问题。

现在我的问题是:如何使用嵌入式 neo4j 数据库遍历所有节点?整个事情将是一个后台作业(将节点索引到弹性搜索)。

0 投票
1 回答
502 浏览

java - Neo4j 嵌入式模式下的慢速密码查询

我有一个包含作者的巨大图形数据库,它们连接到论文,论文连接到包含论文元信息的节点。我试图选择与特定模式匹配的作者,因此我在 java 中执行了以下 cypher 语句。

我得到一个包含所有“作者”的结果集。但是执行速度很慢。是不是因为 Neo4j 将结果写入内存?

如果我尝试使用 Java API 查找节点,它会快得多。当然,我只能像下面的代码示例那样搜索确切的名称,但它比上面的查询快了大约 4 秒。我在一个大约有 50 个节点的小型数据库上对其进行了测试,其中只有 6 个节点是作者。六位作者也在索引中。

db.findNodes(NodeLabel.AUTHOR, NodeProperties.NAME, "jim knopf" );

有没有机会加快密码?或者有可能通过 Java API 和findNodes()方法获取所有节点,这些节点与给定模式匹配?

仅供参考,我在 java 中创建了作者姓名的索引graph.schema().indexFor(NodeLabel.AUTHOR).on("name").create();

也许有人可以帮忙。提前致谢。

编辑:

我今天进行了一些测试。如果我在浏览器界面中执行查询PROFILE MATCH (n:AUTHOR) WHERE n.name = 'jim seroka' RETURN n;,我只有运算符NodeByLabelScan。在我看来,Neo4j 不会自动使用索引(名称索引在线)。如果我使用特定索引并执行查询PROFILE MATCH (n:AUTHOR) USING INDEX n:AUTHOR(name) WHERE n.name = 'jim seroka' RETURN n;,则将使用该索引。通常 Neo4j 应该自动使用正确的索引。有什么配置可以设置吗?

我还再次在嵌入模式下做了一些测试,以检查嵌入模式下查询的性能。我试图选择作者“jim seroka” db.findNode(NodeLabel.AUTHOR, "name", "jim seroka");。它有效,在我看来,由于执行时间约为 0.05 秒,因此使用了索引。

但是,如果我运行相同的查询,就像我在界面中执行的和前面提到的那样,使用特定的索引,它需要大约 4.9 秒。为什么?我有点无助。该数据库是本地的,只有 6 个作者。连接器速度慢还是连接创建错误?好的,findNode()是否只返回一个节点并执行整个结果,但相差四秒?

以下源代码应显示如何创建数据库和执行查询。

0 投票
1 回答
538 浏览

java - 启用非托管扩展配置后 Neo4J 服务器启动错误

我在 Windows OS 10 上使用 Neo4J 社区版 2.3.0。一切正常,直到我将neo4j-server.properties文件中的配置更改为:

服务器启动时的错误是:

启动 Neo4j 失败:org.neo4j.server.web.NeoServletContainer-5b85e832@73766070==org.neo4j.server.web.NeoServletContainer,-1,false

如果我禁用此更改,则服务器启动得很好。我正在尝试为 Neo4J 教程中给出的非托管扩展运行 HelloWorld 示例,并按照所有说明进行操作。

用于构建 Jar 的 Java 编译器是 1.7,我正在开发 STS 工具。

及早回应会有所帮助。

控制台日志如下

0 投票
1 回答
558 浏览

authentication - Neo4j Embedded Mode with Password

Can you connect to Neo4j in embedded mode in a Java application to connect to an existing running Neo4J server that requires a username and password?

How do you do that? Apparently without authentication it is:

0 投票
2 回答
1323 浏览

java - 将嵌入式 neo4j 与 neo4j 客户端一起使用

我可以使用 neo4jClient 连接我的 neo4j 服务器,并且一切正常。

对于单元测试场景,我想使用不同的本地服务器对我的 neo4j DAL 层执行单元测试。

所以我尝试了neo4j嵌入式版本。我可以创建节点并使用已弃用的查询它们

1)创建嵌入式neo4j实例的新方法是什么?

2)如何使用neo4jClient查询嵌入?尝试与本地主机连接但没有成功(嵌入式版本是否有网络主机?)

0 投票
1 回答
1612 浏览

neo4j - 它的锁定文件已被另一个进程锁定 - Neo4j Embedded

我正在开发 Neo4j 的嵌入式应用程序,并尝试运行它,但出现此错误:

Store 及其锁定文件已被另一个进程锁定:/home/dev/neo4j-community-2.3.2/data/graph.db/store_lock。请确保没有其他进程正在使用此数据库,并且该目录是可写的(即使是只读访问也需要)

我知道这是因为 neo4j 服务器应用程序正在运行,并且它锁定目录以供另一个应用程序写入。

但我想同时运行带有浏览器工作室的 neo4j 服务器和我的嵌入式应用程序。

我在 Linux 中使用社区版 2.3.2。

我该怎么做?

企业版可以吗?

谢谢

0 投票
1 回答
59 浏览

scala - neo4j 3.0 嵌入式 - 无节点

有时我一定会错过嵌入的 neo4j 3.0。创建节点后,设置一些属性,并将事务标记为成功。然后我重新打开数据库,但里面没有节点!我在这里想念什么?neo4j 文档很差。

0 投票
1 回答
513 浏览

java - 如何解决 java.lang.NoSuchMethodError: org.neo4j.helpers.collection.Iterables.toList(Ljava/lang/Iterable;)Ljava/util/List?

我正在尝试使用 java 中的嵌入式 neo4j 在 neo4j 中插入节点,但我收到此错误,我使用的是 neo4j 3.1.1 和 netbeans 7

我不知道变量中的问题DB_PATH = "D:\\Neo4j CE 3.1.1\\graph database" 是否应该DB_PATH包含变量?代码是:

0 投票
3 回答
1894 浏览

neo4j - How to configure Neo4j embedded to run apoc procedures?

I have setup Neo4j using the latest spring 1.5 release, spring-data-neo4j 4.2, with ogm drivers. The configuration is using embedded driver without URI (so impermanent database store)

Here is the spring @Configuration bean content:

Trying to run built in procedure works fine:

Now I'd like to install and run apoc procedures, which I've added to the classpath:

However, the above fails with error Description: There is no procedure with the name 'apoc.help' registered for this database instance

I couldn't find any documentation for registering apoc procedures to run in embedded mode. Couldn't find any reference to registering procedures in the OGM documentation. Any tips or snippets would be appreciated.

0 投票
1 回答
133 浏览

java - 如何配置 ogm.properties 中指定的 Neo4j 嵌入式驱动程序?

我的 Java 程序ogm.properties在特定应用程序中查找$DATA_DIR并加载Configuration它用于构造SessionFactory. 默认ogm.properties使用嵌入式驱动程序和指向$DATA_DIR. 到目前为止,一切都很好。

这个想法是用户可以提供他们自己ogm.properties的使用不同的驱动程序。因此,我不能将自定义传递GraphDatabaseServiceEmbeddedDriver构造函数,因为我自己不构造它。

如何将配置选项传递给嵌入式驱动程序?我尝试将 a 放置neo4j.conf在 下的各个位置$DATA_DIR,但似乎无法识别。