男男做的视频网站莆田注册公司
news/
2025/10/8 6:22:56/
文章来源:
男男做的视频网站,莆田注册公司,企业内部网站建设方案,域名备案需要什么资料一、Cypher数据create (小北:朋友圈{姓名:小北, 喜欢的书类:Poetry}),(小菲:朋友圈{姓名:小菲, 喜欢的书类:Science Fiction}),(小鹏:朋友圈{姓名:小鹏, 喜欢的书类:Music}),(小颖:朋友圈{姓名:小北, 喜欢的书类:Poetry}),(小菲:朋友圈{姓名:小菲, 喜欢的书类:Science Fiction}),(小鹏:朋友圈{姓名:小鹏, 喜欢的书类:Music}),(小颖:朋友圈{姓名:小颖, 喜欢的书类:Politics}),(小兰:朋友圈{姓名:小兰, 喜欢的书类:Music}),(小峰:朋友圈{姓名:小峰, 喜欢的书类:Travel}),(小讯:朋友圈{姓名:小讯, 喜欢的书类:Poetry}),(小东:朋友圈{姓名:小东, 喜欢的书类:Sequential Art}),(小唯:朋友圈{姓名:小唯, 喜欢的书类:Young Adult}),(小窦:朋友圈{姓名:小窦, 喜欢的书类:Poetry}),(小齐:朋友圈{姓名:小齐, 喜欢的书类:Default}),(小林:朋友圈{姓名:小林, 喜欢的书类:Poetry}),(小锐:朋友圈{姓名:小锐, 喜欢的书类:Default}),(小伟:朋友圈{姓名:小伟, 喜欢的书类:Young Adult}),(小玲:朋友圈{姓名:小玲, 喜欢的书类:Business}),(小讯)-[:认识]-(小窦),(小讯)-[:认识]-(小齐),(小讯)-[:认识]-(小林),(小讯)-[:认识]-(小鹏),(小讯)-[:认识]-(小伟),(小讯)-[:认识]-(小峰),(小菲)-[:认识]-(小鹏),(小菲)-[:认识]-(小峰),(小菲)-[:认识]-(小唯),(小峰)-[:认识]-(小北),(小峰)-[:认识]-(小兰),(小东)-[:认识]-(小林),(小东)-[:认识]-(小锐),(小东)-[:认识]-(小菲),(小鹏)-[:认识]-(小颖),(小北)-[:认识]-(小兰),(小颖)-[:认识]-(小东),(小唯)-[:认识]-(小鹏),(小唯)-[:认识]-(小锐),(小伟)-[:认识]-(小玲)二、执行后neo4j browser中查询效果如下三、找出小讯和小锐之间的最短关系路径如上图假设给你两个人一个人是节点小讯另一个人是节点小锐问他们之间的关系最短路径是什么 或者换句话问小讯怎么用最少的步骤联系到小锐【前提是小讯和小锐之间不存在任何关系否则这种问题就没有任何意义了你俩都有关系了我还问个毛啊】如果你用肉眼观察的话你会找到很多种小讯到达小锐的路径比如1、小讯认识小峰小菲认识小峰(如果不考虑关系的反向则认为小峰也同样认识小菲)小菲又认识小唯小唯认识小锐因此这种路径下小讯联系小锐的步骤为 小讯--小峰--小菲--小唯--小锐路径长度42、同上我们还可以找出一条长度等于3的路径小讯--小林--小东--小锐...... 等等如果光靠肉眼观察的话像这种数据少的话勉强还可以捋下来但是数据一多就歇菜了我们可以用neo4j自带的方法来算出两个节点之间存在关系的前提下的最短到达路径Path比如查询出所有小讯到小锐的关系最短路径语句如下MATCH nallshortestPaths((a:朋友圈{姓名:小讯})-[*]-(b:朋友圈{姓名:小锐})) return n查询出的graph效果如下下图标注的序号正是上面我们提到的长度等于3的一条路径小讯--小林--小东--小锐如果我们只查出最短的一条路径我们使用shortestPath的时候只会查出一条结果不管结果怎么样反正都是最短路径语句如下MATCH nshortestPath((a:朋友圈{姓名:小讯})-[*]-(b:朋友圈{姓名:小锐})) return n四、找出小讯和小锐之间的深度等于4的路径PathMATCH (a:朋友圈{姓名:小讯}),(b:朋友圈{姓名:小锐})return (a)-[*4]-(b) as p如果你查找length(path) 8的结果会怎么样呢五、demo实现最短路径信息输出Spring-Boot pom依赖xsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd4.0.0com.appleykSpring-Boot-Neo4jAPI0.0.1-SNAPSHOTwarSpring-Boot 集成Neo4j实现原生JavaAPI的节点、关系操作org.springframework.bootspring-boot-starter-parent1.5.12.RELEASE1.83.0.8org.springframework.bootspring-boot-starter-weborg.springframework.bootspring-boot-devtoolstrueorg.springframework.bootspring-boot-starter-testtestjunitjunitorg.neo4j.driverneo4j-java-driver1.6.1demo演示import java.util.HashMap;import java.util.List;import java.util.Map;import org.junit.Test;import org.neo4j.driver.v1.AuthTokens;import org.neo4j.driver.v1.Driver;import org.neo4j.driver.v1.GraphDatabase;import org.neo4j.driver.v1.Record;import org.neo4j.driver.v1.Session;import org.neo4j.driver.v1.StatementResult;import org.neo4j.driver.v1.Value;import org.neo4j.driver.v1.types.Node;import org.neo4j.driver.v1.types.Path;import org.neo4j.driver.v1.types.Relationship;public class Neo4jBatchTest{Driver driver GraphDatabase.driver(bolt://localhost:7687, AuthTokens.basic(neo4j, n123));private Session session driver.session();/*** 批量创建** throws Exception*/Testpublic void shortEstPath() throws Exception {try {String cmdSql MATCH nshortestPath((a:朋友圈{姓名:小讯})-[*]- (b:朋友圈{姓名:小锐})) return n;StatementResult result session.run(cmdSql);while (result.hasNext()) {Record record result.next();List values record.values();Map nodesMap new HashMap();for (Value value : values) {if (value.type().name().equals(PATH)) {Path p value.asPath();System.out.println(小讯和小锐之间的关系最短路径长度为 p.length());System.out.println();Iterable nodes p.nodes();for (Node node : nodes) {nodesMap.put(node.id(), node);}/*** 打印最短路径里面的关系 关系包括起始节点的ID和末尾节点的ID以及关系的type类型*/Iterable relationships p.relationships();for (Relationship relationship : relationships) {Long startID relationship.startNodeId();Long endID relationship.endNodeId();String rType relationship.type();/*** asMap 相当于 节点的properties属性信息*/System.out.println(nodesMap.get(startID).asMap() - rType - nodesMap.get(endID).asMap());}}}}} catch (Exception e) {System.err.println(e.getClass() , e.getMessage());}}}运行方法效果如下如果多条的话就String cmdSql MATCH nallshortestPaths((a:朋友圈{姓名:小讯})-[*]-(b:朋友圈{姓名:小锐})) return n;执行结果对比下在neo4j中查询的结果
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/931144.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!