问题标签 [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.
java - 实现具有动态深度的遍历
是否可以使用在遍历期间保持状态的 neo4j 在 java 中创建遍历?
例如,我需要一个Evaluator
与 几乎相同的toDepth()
,除了当前节点的深度是基于另一个比较。假设您有一个包含 20 个项目的链表,并且您想要第 10 个 [有效] 项目,这意味着某些项目具有特定的属性标志,将它们排除在计数之外。所以最终返回的项目实际上可能是Path
.
我能想到的唯一有效方法是能够存储一些可供每个单独评估访问的状态变量。那可能吗?
我知道我可以编写自己的自定义遍历函数来执行此操作,但如果我可以将它构建到遍历框架中会很好。
neo4j - Spring data neo4j embedded remote shell connection not allowed
I am trying to connect embedded server but always getting
This is my configuration file.
java - 加载大图时 Neo4j 内核崩溃
我正在将大量节点和关系加载到嵌入式 Neo4j 数据库中。在大约 10,000 次插入后,它就会死亡。如果我保持在这一点之下,那么一切都会很好。查询按应有的方式返回,插入也是如此。看起来数据库文件在插入过程中以某种方式被删除,这导致一切都崩溃了。我的数据库是从头开始构建的,所以如果我完全删除我的 graphdb 文件夹并重新启动它,它每次都运行完全相同。那么如何处理大型嵌入式 Neo4j 数据库呢?
以下是相关的错误。
从 Java 输出端
事务开始不提交:
然后它通知我数据库中缺少一个文件:
然后我不能再获得新的交易:
从 messages.log 方面
它开始出现内存映射错误。这实际上是在数据库首次联机时首先发生的。但在它完全消亡之前会有更多的涓涓细流:
然后,我发现这是一切都崩溃的时候,我在messages.log中收到了这个错误:
关于导致该 .frq 文件消失的任何想法?
java - 使用 neo4j 嵌入式 java api 为关系添加权重
我想使用 Embedded Neo4j Java API 为关系添加权重。
例如:非常A
了解所以他们的关系应该被加权。另一方面,知道的很少,所以他们的关系应该被加权。B
5
A
C
1
我怎样才能做到这一点?
PS:我已经尝试过这里的示例:http: //neo4j.com/docs/stable/tutorials-java-embedded-graph-algo.html但它不识别函数createNode( "name", "A", "x", 0d, "y", 0d )
和createRelationship( nodeA, nodeC, "length", 2d )
。
这是代码:
它应该给出这个结果:
它说未定义以下这些功能:
谢谢!
java - 使用嵌入在 Neo4j 中的不同数据库和 Java
我正在尝试评估 Neo4j 中的不同数据模型。出于这个原因,我创建了两个具有不同模型的数据库并将它们保存在同一目录中:
下一步是我使用 java 创建了一个应用程序,我可以在其中选择数据模型和要评估的查询(只有几个预定义的查询)。根据选择的模型,我想使用嵌入式数据库的实例。目前,我使用以下 if 子句来区分它们:
但是在我使用model1进行第一次查询并希望使用model2计算相同的查询之后,使用该代码片段我得到了以下异常:
我意识到第一个数据库上已经有 astore_lock
和 a lock
,但这对启动第二个嵌入式数据库有何影响?有谁知道如何解决这个问题?
提前致谢!
properties - Neo4j 嵌入:使用图算法过滤节点属性
我正在使用从 Eclipse 中嵌入的 Neo4j,并希望通过旅行和车站网络进行导航。它们通过以下方式连接:
由于一次旅行有几个站点,并且有几个旅行在一个站点停止,因此有许多连接。有时,如果不改变不同的行程,就不可能从一个车站到达另一个车站。出于这个原因,我使用下面的图形算法
但是我找不到是否有方法可以过滤我的属性arrival
,departure
因为我只想找到在给定时间之后离开的旅行。
neo4j - Neo4j Embedded 2.2.1:线程“GC-Monitor”中的异常 java.lang.OutOfMemoryError:Java 堆空间
我正在尝试对现有数据库进行批量插入,但出现以下异常:
线程“GC-Monitor”中的异常 java.lang.OutOfMemoryError:java.util.Arrays.copyOf(Arrays.java:2245) 处 java.util.Arrays.copyOf(Arrays.java:2219) 处的 Java 堆空间。 util.ArrayList.grow(ArrayList.java:242) 在 java.util.ArrayList.ensureExplicitCapacity(ArrayList.java:216) 在 java.util.ArrayList.ensureCapacityInternal(ArrayList.java:208) 在 java.util.ArrayList.add (ArrayList.java:440) 在 java.util.Formatter.parse(Formatter.java:2525) 在 java.util.Formatter.format(Formatter.java:2469) 在 java.util.Formatter.format(Formatter.java: 2423) at java.lang.String.format(String.java:2792) at org.neo4j.kernel.impl.cache.MeasureDoNothing.run(MeasureDoNothing.java:64) 失败:事务被标记为成功,但无法提交事务因此回滚。
这是我的插入代码的结构:
所以基本上,我从一个文件(大约 20,000 个对象)中读取 json 对象,然后每 10,000 条记录将其插入 neo4j。如果文件中只有 10,000 个 JSON 对象,那么它可以正常工作。但是当我有 20,000 时,它会抛出异常。
在此先感谢,任何帮助将不胜感激!
java - 高性能的单例或连接池?
语境
我有一个用于对抗格斗游戏的 RESTful API,使用 JAX-RS、tomcat8 和嵌入的 Neo4j。
今天我认为很多查询将在有限的时间内完成,我使用嵌入式来进行更快的查询,但我仍然想尽可能快地进行。
问题
事实上,问题有点不同,但差别不大。
实际上,我正在使用带有getDabatase()
返回当前GraphDatabaseService
实例的方法的 Singleton 来开始事务,一旦完成,事务就会关闭......仅此而已。
我不知道最佳性能的最佳解决方案是单例模式还是池模式(例如创建数据库连接的 XX 实例,并在数据库操作完成时重用它们)。
实际上我自己无法测试它,因为我没有足够的联系甚至不知道哪个是最快的(并且是整体上最好的)。
另外,我想知道如果我创建一个GraphDatabaseService
实例池,它们是否都能够访问相同的数据而不会被锁阻塞?
neo4j - Neo4j 空间搜索窗口性能
我正在尝试可视化大量空间图数据,但是当用户在地图上平移时,具有约 100k 节点/边的初步结果看起来不够快,无法进行查询和渲染。
在我的 Neo4j 空间索引层(简单点层)上进行以下空间查询,查询大约需要 2-10 秒。
我的实际数据大约是 5000 万个节点/边。我可以做些什么来从具有大量节点/边缘的 Neo4j 空间中获得响应式(例如不到 1 秒)查询性能?
我正在使用 Neo4j 2.3.0 和 Neo4j Spatial 0.15-neo4j-2.2.3
neo4j - neo4j:PathExpender 与 RelationshipExpender
关于“PathExpender 与 RelationshipExpender”,我能找到的只是:
http://neo4j.com/docs/stable/tutorial-traversal-java-api.html#_pathexpander_relationshipexpander
这是否意味着,RelationshipExpender 已被弃用?
如果它不被弃用,它们之间有什么区别?