问题标签 [neo4j]

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

graph - Neo4j 对存储的数据执行最短路径计算

我想将以下图形数据存储在数据库中,

然后从 Web servlet 运行 Dijskra 算法,以使用存储的图形数据查找最短路径计算。然后我将打印来自 servlet 的 html 文件的路径。

0 投票
1 回答
3041 浏览

java - Neo4j OutOfMemory 问题

这是我的 Main.java 源代码。它是从 neo4j-apoc-1.0 示例中获取的。修改存储2个节点1个关系1M条记录的目标:

经过几次迭代(大约 150K)后,我收到了错误消息:

“java.lang.OutOfMemoryError:在 org.neo4j.kernel.impl.nioneo 的 java.nio.ByteBuffer.allocate(ByteBuffer.java:312) 处的 java.nio.HeapByteBuffer.(HeapByteBuffer.java:39) 处的 Java 堆空间。 store.PlainPersistenceWindow.(PlainPersistenceWindow.java:30) at org.neo4j.kernel.impl.nioneo.store.PersistenceWindowPool.allocateNewWindow(PersistenceWindowPool.java:534) at org.neo4j.kernel.impl.nioneo.store.PersistenceWindowPool.refreshBricks (PersistenceWindowPool.java:430) 在 org.neo4j.kernel.impl.nioneo.store.PersistenceWindowPool.acquire(PersistenceWindowPool.java:122) 在 org.neo4j.kernel.impl.nioneo.store.CommonAbstractStore.acquireWindow(CommonAbstractStore.java :459) 在 org.neo4j 的 org.neo4j.kernel.impl.nioneo.store.AbstractDynamicStore.updateRecord(AbstractDynamicStore.java:240)。kernel.impl.nioneo.store.PropertyStore.updateRecord(PropertyStore.java:209) 在 org.neo4j.kernel.impl.nioneo.xa.Command$PropertyCommand.execute(Command.java:513) 在 org.neo4j.kernel。 impl.nioneo.xa.NeoTransaction.doCommit(NeoTransaction.java:443) 在 org.neo4j.kernel.impl.transaction.xaframework.XaTransaction.commit(XaTransaction.java:316) 在 org.neo4j.kernel.impl.transaction。 xaframework.XaResourceManager.commit(XaResourceManager.java:399) at org.neo4j.kernel.impl.transaction.xaframework.XaResourceHelpImpl.commit(XaResourceHelpImpl.java:64) at org.neo4j.kernel.impl.transaction.TransactionImpl.doCommit( TransactionImpl.java:514) 在 org.neo4j.kernel.impl.transaction.TxManager.commit(TxManager.java:571) 在 org.neo4j.kernel.impl.transaction.TxManager.commit(TxManager.java:543) 在 org .neo4j.kernel.impl.transaction.TransactionImpl.commit(TransactionImpl.java:102) at org.neo4j.kernel.EmbeddedGraphDbImpl$TransactionImpl.finish(EmbeddedGraphDbImpl.java:329) at javaapplication2.Main.main(Main.java:62) 28.05.2010 9:52:14 org.neo4j.kernel.impl.nioneo.store.PersistenceWindowPool logWarn 警告:[neo4j-store-1M\neostore.propertystore.db.strings] 无法分配直接缓冲区”

伙计们!帮助我plzzz,我做错了什么,我该如何修复它?在平台 Windows XP 32bit SP3 上测试。也许创建自定义配置中的解决方案?

thnx 4 每个建议!

0 投票
2 回答
2326 浏览

java - 使用neo4j查找与给定节点有关系的节点集的有效方法

给定两个节点是否有一种有效的方法来找到一组它们的公共节点(具有定义的关系)。

例如,有节点A1, B1, C1-C4与关系x和连接y

A1(x)B1(y)的公共节点集[C2, C3]

0 投票
4 回答
14030 浏览

database - 将图存储在持久存储中的最佳方法是什么

我想知道将图形存储在持久存储中的最佳方法是什么,以便以后进行分析、搜索、聚类等。

我看到 neo4j 是一种选择,我很好奇是否还有其他可用的图形数据库。有没有人对更大的社交网络如何存储他们的基于图的数据(或其他需要存储类似图的模型的站点,例如 RDF)有任何见解。

像 Cassandra 或 MySQL 这样的选项呢?

0 投票
1 回答
369 浏览

database-design - 如何在数据库中表示通过网站的用户路径?

我希望能够查询数据库,以便在注册之前找出用户访问了网站上的哪些页面。

我正计划使用图形数据库——可能是 neo4j——但我无法决定如何表示数据。

每个用户都有一个 ID,可以进行多次访问,每个用户都有自己的 ID。显然,每个页面都由其 URL 标识,时间戳允许我确定访问页面的顺序。

那么,我该如何设计数据库,以便回答“导致注册的最常见路径是什么”这个问题?我想知道用户在进入我们的注册页面之前访问的 5 个页面。

我可以为每个 url 创建节点,但是我将拥有数百万个用户 ID、访问 ID 和时间戳作为 url 节点上的属性。

或者,我可以在每次访问时创建一个图表,但是我将无法从代表注册页面的单个节点开始并从那里返回。相反,我必须遍历所有图表,并且只有在它们包含注册节点时才扫描它们。

如果我将 URL 和用户存储为节点,我如何表示通过站点的路径?我可以轻松地说“用户 A 访问了 URL 1”,但无法表示在那之后他们以直观的方式访问了 URL 2。

我在这里很困惑。所有数据都已经在关系数据库中,但我认为这样的查询会在相当长的一段时间内降低它,因为该网站每月有几百万次访问。

我该如何处理?neo4j 甚至是正确的解决方案吗?

谢谢

0 投票
1 回答
2638 浏览

replication - 有没有办法对 neo4j 数据进行分片和复制?

我正在考虑为我正在工作的一些新项目选择 neo4j。对于给定的数据需求(本质上基于图形),neo4j 非常适合,快速原型为我提供了良好的响应时间。我想了解的是如何扩展 neo4j 部署。具体来说:

  • 我如何在 neo4j 部署中分片我的数据。由于 neo4j 部署在单台机器上,我可以在单台机器上存储多少数据是有限制的,因此我想知道如何分发它。显然,如果我将其拆分为用户,那么断开连接的用户(跨分片)之间的关系将无法维持。
  • 如何复制 neo4j 数据?我可能正在考虑建立一个类似 sql 的设置,其中 master 用于写入,slave 用于读取,以便我们既可以扩展潜在的读取器和写入器,又可以实时备份我们的数据。我知道所有 neo4j 数据都存储在一个文件系统中——它本质上是不可复制的。有什么办法可以在这里做到吗?也许,类似于 mysql bin 日志?
0 投票
2 回答
4994 浏览

nosql - 已知最大的 Neo4j 集群是什么?

已知最大的 Neo4j 集群是多少(以数据库大小、图形统计数据或机器数量计)?

0 投票
1 回答
1571 浏览

spring - Neo4j 的 Spring 配置设置

我想从 http://wiki.neo4j.org/content/Configuration_Settings#Optimizing_for_traversals_example集成“neo4j_config.props”文件

进入: 一个neo4j spring app,在app-config.xml中配置的graphDbService:

更多信息:在 Spring 中优化 Neo4j 的遍历 http://www.mail-archive.com/user@lists.neo4j.org/msg04270.html

最好的方法是什么?使用 PropertyPlaceholderConfigurer 或使用 spring-util (PropertiesFactoryBean)谢谢

0 投票
1 回答
634 浏览

java - 创建和索引后如何使用 Neo4j BatchInserted 节点?

我正在使用 BatchInsert 和 LuceneIndexBatchInserter api 来创建我的图表(目前约为 10000 个节点)。事情是 BatchInserter.createNode(...) 返回一个长的。

其中 properties 是 Map(String,Object)。

我真正需要的是获得一个 Node 类型的新节点。

这样我可以使用 shortestPath api 并传入 startNode 和 targetNode。

那么,基本上,有没有办法可以从索引中获取一个节点作为节点而不是很长?

也许如果有人能解释为什么batchInserter返回一个long类型的节点而不是Node类型?希望这对某人有意义,谢谢。

0 投票
2 回答
68638 浏览

java - 使用构造函数参数字段填充 Spring bean

如何使用该字段注入包含要用作附加构造函数 arg 的 Map 的属性文件。

从属性文件加载地图

bean 当前设置使用:

Java等价物:

谢谢