查询neo4j所有节点的属性名


采用keys()查询:

MATCH (n:Test) RETURN distinct keys(n)

解析查询结果:

  public static List<Object> objectsList(StatementResult result){
       List<Object> list = new ArrayList<>();
       while(result.hasNext()){
           Record record = result.next();
           for(int i=0;i<record.values().size();i++){
               Value value = record.values().get(i);
               list.add(value.asList());
          }
      }
       return list;
  }

测试:

 public static void main(String[] args) {
       List<String> keys = new ArrayList<>();
       String cql = "MATCH (n:Test) RETURN distinct keys(n)";
       StatementResult queryResult = Neo4jUtil.query(cql);
       List<Object> parseResult = Neo4jResultUtils.objectsList(queryResult);
       for (Object listObject : parseResult) {
           if (listObject instanceof List) {
               for (Object strOb : ((List) listObject).subList(0, ((List) listObject).size())) {
                   if (strOb instanceof String) {
                       if (!keys.contains(strOb)) {
                           keys.add(strOb.toString());
                      }
                  }
              }
          }

      }
       System.out.println("keys:" + keys);

  }

Neo4jUtil----执行对应的cypher语句并返回json形式数据的工具

Neo4jResultUtils----解析查询结果的工具,objectsList是该工具中的一个方法


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM