Neo4jUtil.java
java
@Component
@Slf4j
public class Neo4jUtil {
@Resource
private Session session;
public List<Map<String,Object>> getNodeInfoByNodeName(String nodeName) {
List<Map<String,Object>> dataList = new ArrayList<>();
if (StrUtil.isBlank(nodeName)) {
return dataList;
}
//拼装查询语句
String cypherSql = String.format("MATCH (n) where n.name=~ '.*%s.*' RETURN n ", nodeName);
Result query = session.query(cypherSql, new HashMap<>(16));
for (Map<String, Object> map : query.queryResults()) {
NodeModel queryNode = (NodeModel) map.get("n");
Long neo4jId = queryNode.getId();
String[] labels = queryNode.getLabels();
List<Property<String, Object>> propertyList = queryNode.getPropertyList();
Map<String,Object> dataMap = new HashMap<>(5);
for (Property<String, Object> stringObjectProperty : propertyList) {
dataMap.put(stringObjectProperty.getKey(), stringObjectProperty.getValue());
dataMap.put("neo4jId",neo4jId);
dataMap.put("labels",labels);
}
dataList.add(dataMap);
}
session.clear();
return dataList;
}
}