Neo4j:javaapi索引<;节点>;。size()为0
我试图使用Neo4j的JavaAPI,但我似乎被IndexHits卡住了。如果我使用Cypher查询数据库Neo4j:javaapi索引<;节点>;。size()为0,neo4j,Neo4j,我试图使用Neo4j的JavaAPI,但我似乎被IndexHits卡住了。如果我使用Cypher查询数据库 START n=node:types(type="Process") RETURN n; 我得到了所有2087个“进程”类型的节点 在我的应用程序中,我有以下几行 Index<Node> nodeIndex = db.index().forNodes("types"); IndexHits<Node> hits = nodeIndex.get("type", "P
START n=node:types(type="Process") RETURN n;
我得到了所有2087个“进程”类型的节点
在我的应用程序中,我有以下几行
Index<Node> nodeIndex = db.index().forNodes("types");
IndexHits<Node> hits = nodeIndex.get("type", "Process");
System.out.println("Node index size: " + hits.size());
但是当hits.size()==0时,这并不多。根据这一点,如果在点击中有一些内容,那么这应该是可能的
提前谢谢你的帮助。我想出来了。伙计,我觉得很尴尬
碰巧我设置了默认数据文件夹的DB_路径,而默认存储文件夹是默认数据文件夹加上graph.DB。当我试图从正确的DB_路径运行代码时,我得到了一个错误,即由于Neo4j服务器正在运行,所以有一个锁定文件。关机后,它工作得很好
因此,如果您碰巧看到以下错误,只需停止服务器并再次运行代码:
原因:org.neo4j.kernel.StoreLockException:无法创建锁文件
位于org.neo4j.kernel.StoreLocker.checkLock(StoreLocker.java:74)
位于org.neo4j.kernel.storeLockerLifecyLeadapter.start(storeLockerLifecyLeadapter.java:40)
在org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:491)
我在几个论坛上发现,您不能同时运行Neo4j服务器和使用Java API查询它。如果您迭代结果并增加计数器以获得大小,会发生什么情况?我像这样迭代` for(Node process:hits){++resultCount;},我得到了0。是否可以共享您的graph.db文件夹?不幸的是,那是不可能的。有什么我需要寻找的吗?哦,在我尝试遍历点击次数之前,我检查以下内容:如果(db.index().existsForNodes(“type”))
,它的计算结果为true
,那么确实存在一个索引。
for(Node process : hits) { ... }