血缘分析代码总结

for-if使用

columnsRelationVOS.stream()
                        .filter(item -> fieldName.equals(item.getStartColumn().getName()))
                        .forEach(item -> item.getStartColumn().setName(splitField));
                        

循环打印

columnsRelationVOS.forEach(item -> System.out.println(item.getStartColumn().getName()+"-->" +item.getEndColumn().getName()));
columnsRelationVOS.add(ColumnsRelationVO
                        .builder()
                        .startColumn(ColumnNode.builder().name(streamFields.get(j)).build())
                        .endColumn(columnNode).build());
TableNode tableNode = TableNode.builder().code("ip_port_db_table1").name("table1").build();
List<ColumnNode> columnNodes = new ArrayList<>();  
columnNodes.add(ColumnNode.builder().code("ip_port_db_table1_name").name("name").columnsRelation(
               ColumnsRelation.builder().columnNode(columnNodeName2).build()
       ).build());       columnNodes.add(ColumnNode.builder().code("ip_port_db_table1_age").name("age").columnsRelation(
                ColumnsRelation.builder().columnNode(columnNodeAge2).build()
        ).build());
columnNodes.add(ColumnNode.builder().code("ip_port_db_table1_sex").name("sex").columnsRelation(
                ColumnsRelation.builder().columnNode(columnNodeSex2).build()
        ).build());
tableNode.setColumnNodes(columnNodes);
tableNodes.add(tableNode);

清空图数据库

match (n) detach delete (n)

Optional返回判断空
了解详情

Optional<? extends TableNode> one = tableNodeRepository.findOne(Example.of(tableNode));
                    one.ifPresent(item ->{
                        tableNode.setId(item.getId());
                    });
                    tableNodes.add(tableNode);
ColumnNode columnNodeName2 = ColumnNode.builder().code("ip_port_db_table2_name2").name("name2").build();
        ColumnNode columnNodeAge2 = ColumnNode.builder().code("ip_port_db_table2_age2").name("age2").build();
        ColumnNode columnNodeSex2 = ColumnNode.builder().code("ip_port_db_table2_sex2").name("sex2").build();

        tableNodeRepository.saveAll(Stream.of(
                TableNode.builder().code("ip_port_db_table2").name("table2").columnNodes(
                        Stream.of(columnNodeName2,columnNodeAge2,columnNodeSex2).collect(Collectors.toList())
                ).build(),
                TableNode.builder().code("ip_port_db_table1").name("table1").columnNodes(Stream.of(
                        ColumnNode.builder().code("ip_port_db_table1_name").name("name").columnsRelation(
                                ColumnsRelation.builder().columnNode(columnNodeName2).build()
                        ).build(),
                        ColumnNode.builder().code("ip_port_db_table1_age").name("age").columnsRelation(
                                ColumnsRelation.builder().columnNode(columnNodeAge2).build()
                        ).build(),
                        ColumnNode.builder().code("ip_port_db_table1_sex").name("sex").columnsRelation(
                                ColumnsRelation.builder().columnNode(columnNodeSex2).build()
                        ).build()).collect(Collectors.toList())).build()
        ).collect(Collectors.toList()));

CQL根据表查询血缘关系

MATCH p=(n:table_node)-[:COLUMN_NODE]-(m:column_node)-[:COLUMNS_RELATION]-(:column_node)-[:COLUMN_NODE]-(:table_node) where n.name='test1222' return p

校验数组中根据id判断是否存在相同的对象,无:进行添加

if (nodesEntities.stream().noneMatch(p -> p.getId() == item.id())) {
   nodesEntities.add(NodesEntity.builder()
           .id(item.id())
           .name(String.valueOf(map.get("name")))
           .type(nodeType)
           .code(String.valueOf(map.get("code")))
           .build());
}
//=或者==========================================
nodesEntities.stream().filter(p -> p.age > age).findAny().orElse(null);

前端返回匹配的对象

const edges = this.json.edges.find(obj => { return obj.from.tableName === el.name })

docker启动容器(密码必须8位以上)

docker pull neo4j:5.3.0-community
docker run -d --name neo4j-5 -p 7474:7474 -p 7687:7687 -v /home/beijing/neo4j5-space/data:/data -v /home/beijing/neo4j5-space/logs:/logs -v /home/beijing/neo4j5-space/conf:/var/lib/neo4j/conf -v /home/beijing/neo4j5-space/import:/var/lib/neo4j/import --env NEO4J_AUTH=neo4j/12345678 neo4j:5.3.0-community
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值