Neo4j 实战篇(一)基于Py2Neo构建电影知识图谱

运行环境


  • windows11
  • JDK 8
  • anaconda3
  • python 3.9
  • Neo4j 3.5.32
  • python jupyter库
  • py2neo
  • Visual Studio Code 2022

项目地址:
Gitee : https://gitee.com/ccuni/py2neo-neo4j-actual-combat

GitHub:https://github.com/unirithe/py2neo-neo4j-actual-combat

一、数据集说明

数据集来自 IMDB 影视网的电影、演员数据,数据并不全,仅供学习参考。
数据集参考上方的 Gitee 或 GitHub地址

  • movie_act.csv 演员id到电影id的映射信息

  • 在这里插入图片描述

  • movie_actor.csv 5334个演员的信息,名称和头像
    在这里插入图片描述

  • movie_moive.csv 2926部电影的详情信息
    在这里插入图片描述

  • movie_popularity.csv 保留着62部受欢迎的电影信息
    在这里插入图片描述

  • user_user.csv 不知道有啥用的id信息
    在这里插入图片描述

二、数据预处理

这里将原先的csv数据转为 pandas的DataFrame后再转化成字典,从而能构建Node对象,插入到Neo4j中

2.1 选择受欢迎的电影

list_mid = df['popularity']['movieid_id']

# 查找受欢迎的电影信息
# Find the movies which is popularity 
df_popularity_movie = df['movie'][df['movie']['movieid'].isin(list_mid)]
df_popularity_movie

在这里插入图片描述

# 将DataFrame格式转化为dict,到时候方便插入Neo4j
# make DataFrame to Dict, in order to insert neo4j
dict_movie = {
   }

for i in range(len(df_popularity_movie)):
    row = df_popularity_movie.iloc[i]
    dict_movie.update({
   row['movieid'] : row.to_dict()})
print('rows: ' , len(dict_movie))

在这里插入图片描述

2.2 查找每部受欢迎电影的所有演员

dict_actor_movie = {
   }
for mid in df_popularity_movie['movieid']:
    flag = df['actor_movie']['movieid_id'].eq(mid)
    actors = df['actor_movie'][flag]['actorid_id'].to_list()
    dict_actor_movie.update({
   mid : actors})
print('rows: ' , len(dict_actor_movie))

在这里插入图片描述

2.3 查找热门电影里每个演员的信息

dict_actor = {
   }
actors = set()
for ac in dict_actor_movie.values():
    for actor <
  • 4
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值