Java代码实现根据节点属性信息模糊查询节点

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;
    }
}
相关推荐
Listen·Rain20 分钟前
Springboot整合Ollama实现调用本地多模型
java·spring boot·后端
霸道流氓气质21 分钟前
Java 工程师 AI 智能体(Agent)完整学习路线
java·人工智能·学习
三川69824 分钟前
Tkinter库的学习记录08- 容器控件
python
c_lb728829 分钟前
近期AI量化工具选择,学习开发执行要分开
人工智能·python
天天进步201534 分钟前
Python全栈项目--校园食堂点餐与推荐系统
开发语言·python
aaPIXa62235 分钟前
C++模板元编程:编译期计算Fibonacci数列
java·开发语言·c++
Ulyanov37 分钟前
雷达导引头体制演进、技术特点与数学模型
python·雷达电子对抗·导引头
SunnyDays101142 分钟前
Java 编辑 PDF:从增删改查到加密保护
java·修改 pdf·编辑 pdf
eybk1 小时前
写一个可以编制pdf文件的python程序
开发语言·python·pdf
卷无止境1 小时前
从Python的cryptography库出发,从零开始理解密码学,到构建零信任网络
后端·python