我的图db有350万个节点,数据库的大小是1.6GB,我正试图通过neo4jshell使用以下查询更新所有节点的属性。
Match (p:Person) set p.regId= toInt(p.regId) ;
在此之前,我已经为属性regId添加了Person索引。在执行过程中,引发了以下错误
java.lang.MemoryError:超过GC开销限制
有没有一个已经实现的数据结构可以用来赋值给一个对象(在我的例子中是一个Edge),一个整数?我正在从一个文件中读取一个图,10mil顶点,60mil边,并使用一个map ( costs.put(e,cost) )为每条边分配一个成本。
我以这种方式创建成本图:
costs = new HashMap<Edge,Integer>();
它提供的例外情况是:
java.lang.OutOfMemoryError: Java heap space
at java.util.HashMap.resize(Unknown Source)
at java.util.HashMa
我使用批插入加载了大约6亿个节点和大约10亿个关系的大图。我现在正试图在一个非常小的图子集上运行一个查询,并得到Java堆空间错误。我知道我可以在新4j包装. can中设置Java堆大小,但是我仍然收到一个错误。还有其他地方可以设置最大堆大小吗?而且,我也不知道为什么它正在耗尽记忆。我的问题是:
MATCH (start:Label1)-[r]->(end:Label2) WHERE start.name='Name1' RETURN end.Name2
我知道结果集的节点少于1000个,我限制了搜索空间(或者我没有)?
请考虑以下代码:
package com.sarvagya;
import java.util.Arrays;
import java.util.List;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ForkJoinPool;
import java.util.stream.Collectors;
public class Streamer {
private static final int LOOP_COUNT = 2000;
public static vo
我对Java很陌生,我还在处理图表。我有一个时间演化图(例如,在不同的时间实例中,同一个图的5个快照),我需要计算一些基本的网络度量,比如密度、大小、中心性等等。我想知道我可以使用什么样的基本数据结构来存储和执行每个图的计算。我尝试使用邻接矩阵,但是节点大小太大,动态,导致效率低下。我遇到了很少的库,特别是JgraphT来保存无向图。
UndirectedGraph<String, DefaultEdge> G =
new SimpleGraph<String, DefaultEdge>(DefaultEdge.class);
但这是一张图。
考虑到一个有14,000个顶点和14,000条边的图,我想知道为什么GraphX比图的java实现花费更多的时间来获得从顶点到叶子的所有路径?
java实现:几秒钟
Graphx实现:几分钟
spark GraphX真的适合这种治疗吗?
我的系统: i5-7500 @3.40 RAM,8 8GB
pregel的算法节奏:
val sourceId: VertexId = 42 // The ultimate source
// Initialize the graph such that all vertices except the root have canReach = false.
我试图使用Spark (在Soot -Eclipse框架中)为java代码生成调用图。我从HelloWorld开始。即使对于这个小例子,系统内存看起来也是不够的。
Soot has run out of the memory allocated to it by the Java VM.
To allocate more memory to Soot, use the -Xmx switch to Java.
For example (for 400MB): java -Xmx400m soot.Main .
我的机器是基于Windows的4GB核心I-5。运行的eclipse进程是javaw