栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java操作neo4j练习

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java操作neo4j练习

使用neo4j进行以下操作

如下图:

  1. 创建歌手、歌曲实体
  2. 创建他们之前关系
  3. 找出周杰伦作曲的歌
  4. 找出周和蔡有交集的所有歌曲
import org.neo4j.driver.v1.*;
import org.neo4j.driver.v1.Record;

import static org.neo4j.driver.v1.Values.parameters;
public class test001 {
    public static void main(String[] args) {
        //连接数据库,注意改成自己的用户名和密码

        Driver driver = GraphDatabase.driver( "bolt://localhost:7687", AuthTokens.basic( "neo4j", "123456" ) );

        Session session = driver.session();
        session.run("MATCH (n) DETACH DELETE n;");
        session.run( "CREATE (n:歌手 {name:'周杰伦'}) RETURN n");
        session.run( "CREATE (n:歌手 {name:'蔡依林'}) RETURN n");
        session.run( "CREATE (n:歌手 {name:'邓紫棋'}) RETURN n");
        session.run( "CREATE (n:歌曲 {name:'倒带'}) RETURN n");
        session.run( "CREATE (n:歌曲 {name:'说爱你'}) RETURN n");
        session.run( "CREATE (n:歌曲 {name:'龙卷风'}) RETURN n");
        session.run( "CREATE (n:歌曲 {name:'烟花易冷'}) RETURN n");
        session.run("MATCH (a:歌手 {name:'周杰伦'}),(b:歌曲 {name:'倒带'}) MERGE (a)-[:作曲]->(b)RETURN a,b");
        session.run("MATCH (a:歌手 {name:'周杰伦'}),(b:歌曲 {name:'说爱你'}) MERGE (a)-[:作曲]->(b)RETURN a,b");
        session.run("MATCH (a:歌手 {name:'周杰伦'}),(b:歌曲 {name:'龙卷风'}) MERGE (a)-[:作曲]->(b)RETURN a,b");
        session.run("MATCH (a:歌手 {name:'周杰伦'}),(b:歌曲 {name:'烟花易冷'}) MERGE (a)-[:作曲]->(b)RETURN a,b");
        session.run("MATCH (a:歌手 {name:'周杰伦'}),(b:歌曲 {name:'龙卷风'}) MERGE (a)-[:原唱]->(b)RETURN a,b");
        session.run("MATCH (a:歌手 {name:'周杰伦'}),(b:歌曲 {name:'烟花易冷'}) MERGE (a)-[:原唱]->(b)RETURN a,b");
        session.run("MATCH (a:歌手 {name:'蔡依林'}),(b:歌曲 {name:'倒带'}) MERGE (a)-[:原唱]->(b)RETURN a,b");
        session.run("MATCH (a:歌手 {name:'蔡依林'}),(b:歌曲 {name:'说爱你'}) MERGE (a)-[:原唱]->(b)RETURN a,b");
        session.run("MATCH (a:歌手 {name:'邓紫棋'}),(b:歌曲 {name:'说爱你'}) MERGE (a)-[:翻唱]->(b)RETURN a,b");
        session.run("MATCH (a:歌手 {name:'邓紫棋'}),(b:歌曲 {name:'龙卷风'}) MERGE (a)-[:翻唱]->(b)RETURN a,b");
        System.out.println("周杰伦作曲的歌曲有:");
        StatementResult result = session.run( "MATCH (a:歌手{name:'周杰伦'})-[:作曲]->(b:歌曲{})" +"RETURN b.name ");
        StatementResult result0 = session.run( "MATCH (a:歌手{name:'周杰伦'})-[]->(c:歌曲{})<-[]-(b:歌手{name:'蔡依林'})" +"RETURN c.name ");
        while ( result.hasNext() )
        {
            Record record = result.next();
            System.out.println( record.get( "b.name" ).asString() );
        }
        System.out.println("和周杰伦蔡依林有关系的歌曲有:");
        while ( result0.hasNext() )
        {
            Record record = result0.next();
            System.out.println( record.get( "c.name" ).asString() );
        }
        session.close();
        driver.close();
    }
}

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/873886.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号