gpt4 book ai didi

java - Neo4j 索引无法使用 Java API 工作

转载 作者:太空宇宙 更新时间:2023-11-04 07:07:37 25 4
gpt4 key购买 nike

我正在编写一个非托管扩展,但在使用 JAVA API 访问索引时遇到问题。

代码:

package org.neo4j.parent.parentextension;

import org.codehaus.jackson.map.ObjectMapper;
import org.neo4j.cypher.javacompat.ExecutionEngine;
import org.neo4j.cypher.javacompat.ExecutionResult;
import org.neo4j.graphdb.GraphDatabaseService;
import org.neo4j.graphdb.index.Index;
import org.neo4j.graphdb.index.IndexManager;
import org.neo4j.graphdb.Node;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.Response;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;

@Path("/parent")
public class ParentDistance {

@GET
@Path("/helloworld")
public String helloWorld() {
return "Hello World!";
}

@GET
@Path("/common/{acc1}/{acc2}")
public String getCommon(@PathParam("acc1") String acc1, @PathParam("acc2") String acc2, @Context GraphDatabaseService db) throws IOException {

return db.index().nodeIndexNames().toString();

}



}

helloworld 调用确实有效,其他执行 Cypher 查询的方法也有效。但是,一旦在任何方法中调用任何 IndexManager 或索引,下面的任何内容都会停止工作。有什么提示要寻找什么吗?

谢谢!

最佳答案

“停止工作”是什么意思。

日志中有任何异常吗?

使用 Neo4j 2.0,您必须在事务中执行换行读取操作。

像这样:

@GET
@Path("/common/{acc1}/{acc2}")
public String getCommon(@PathParam("acc1") String acc1, @PathParam("acc2") String acc2, @Context GraphDatabaseService db) throws IOException {
try (Transaction tx = db.beginTx()) {
String result = db.index().nodeIndexNames().toString();
tx.success();
}
}

关于java - Neo4j 索引无法使用 Java API 工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21110677/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com