首先下载neo4j图数据库
https://neo4j.com/deployment-center/
知识图谱相关概念:
知识图谱是一种结构化的知识存储形式,它以图形数据库为基础,用来表示实体(如人、地点、事件等)之间的复杂关系。这种技术结合了自然语言处理、信息提取、数据挖掘、图论等多种技术,目的是使机器能够更好地理解和处理人类世界中的知识。
完整代码:
from neo4j import GraphDatabase
import pandas as pd
uri = "neo4j://localhost:7687"
driver = GraphDatabase.driver(uri, auth=("neo4j", "tangyudiadid0"))
k = 10 # nearest neighbors (most similar users) to consider
movies_common = 3 # how many movies in common to be consider an user similar
users_common = 2 # minimum number of similar users that have seen the movie to consider it
threshold_sim = 0.9 # threshold to consider users similar
def load_data():
with driver.session() as session:
session.run("""MATCH ()-[r]->() DELETE r""")
session.run("""MATCH (r) DELETE r""")
print("Loading movies...")
#加载数据,创建Movie标签,title属性的实体
session.run("""
LOAD CSV WITH HEADERS FROM "file:///out_movies.csv" AS csv
CREATE (:Movie {title: csv.title})
""")
print("Loading gradings...")
#加载评分数据, MERGE是搜索给定模式,如果存在,则返回结果如果它不存在于图中,则它创建新的节点/关系并返回结果。
session.run("""
LOAD CSV WITH