查詢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