当前位置:   article > 正文

事件知识图谱项目整理_pycharm连接neo4j

pycharm连接neo4j

一、PyCharm连接MongoDB

(一)MongoDB

1、启动MongoDB

  • win+R cmd
  • 首先使用 mongod --dbpath E:\MongoDB\bin
    (mongod.exe的存放路径)启动
  • win+R cmd(再开一个)
  • mongo

2、向 MongoDB Compass 导入json文件

  • 注意导入文件时务必注意空值问题(不要选择 ignore 选项)

(二)PyCharm连接MongoDB

'''基于给定语料与模板的事件抽取,假定你选择的是Mongodb数据库'''
class TextMining:
    def __init__(self):
        mongo_host = 'localhost'  # '127.0.0.1' 你数据库的ip
        mongo_port = 27017  # 你数据库端口  原来是28017
        mongo_db = 'news'  # 数据库名称
        mongo_col = 'news'  # 数据表名称
        username = urllib.parse.quote_plus("root")  # 用户名
        password = urllib.parse.quote_plus("12345678")  # 密码
        client = pymongo.MongoClient('mongodb://{}:{}@{}:{}'.format(username, password, mongo_host, mongo_port))

        self.db = client[mongo_db]
        self.col = self.db[mongo_col]
        self.extractor = EventsExtraction()
``
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

在这里插入图片描述导出的文件在event_extract中

二、Pycharm 连接 Neo4j(Community)

(一)Neo4j Desktop

1、csv文件导入

  • 将event_extract中导出的文件改成 csv 格式
    注意:CSV 格式文件必须利用记事本转换为 UTF-8 的编码格式再导入Neo4j中,否则会出现中文乱码现象
    注意:若第一次导入出现乱码,第二次导入可以改换结点的命名,否则会多次重复导入,即多次结果存在在一张图中
  • 语句:LOAD CSV WITH HEADERS FROM “file:///event_extract.csv” AS line
    CREATE (:Event_extract {_id:line._id,sent:line.sent, post_part:line.post_part,post_wd:line.post_wd,pre_part:line.pre_part,pre_wd:line.pre_wd,type:line.type})
    注意:对文件格式进行修改,避免出现过多后缀 .XX.XX
    注意:文件导入的位置,根据提示将.csv文件导入对应的 import 文件夹下
    在这里插入图片描述导入成功后可以看到有一些结点啦

2、 Neo4j的语法及相应操作

https://www.w3cschool.cn/neo4j/neo4j_need_for_graph_databses.html

(二)Neo4j Community

1、启动Neo4j Community

  • win+R cmd
  • 首先cd E:\neo4j-community-5.3.0\bin
  • 键入neo4j console在这里插入图片描述出现图片所示的提示即为成功
    注意:
  • Neo4j 的用户名一般不允许修改,都为 neo4j ,但密码必须牢记,否则在连接时很容易出问题。密码修改参考文章 https://blog.csdn.net/weixin_42560812
  • Neo4j 与 Pycharm 的连接中 jdk 的版本对应是非常重要的,否则在运行时会报错,出现提示,只要去安装对应的版本 jdk 版本并配置环境变量即可(我的是 jdk 17)且安装完需要重启

2、登录网页端

http://localhost:7474/browser/

(三)Pycharm 连接 Neo4j(Community)

1、配置 Pycharm 环境

在 Pycharm 中导入 py2neo 的安装包,版本选最新版即可。

2、进行连接尝试

参考项目:https://blog.csdn.net/RHJlife/article/details/108586578?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167425999916800213051757%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=167425999916800213051757&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2alltop_positive~default-1-108586578-null-null.142v71one_line,201v4add_ask&utm_term=%E7%BA%A2%E6%A5%BC%E6%A2%A6%E7%9F%A5%E8%AF%86%E5%9B%BE%E8%B0%B1&spm=1018.2226.3001.4187

import csv
import py2neo
from py2neo import Graph,Node,Relationship,NodeMatcher
#账号密码改为自己的即可
g=Graph('http://localhost:7474',user='neo4j',password='这里写自己的密码',name='neo4j')
with open('C:/Users/dell/Desktop/data.csv','r',encoding='utf-8') as f:
    reader=csv.reader(f)
    for item in reader:
        if reader.line_num==1:
            continue
        print("当前行数:",reader.line_num,"当前内容:",item)
        start_node=Node("Person",name=item[4])
        end_node=Node("Person",name=item[2])
        relation=Relationship(start_node,item[5],end_node)
        g.merge(start_node,"Person","name")
        g.merge(end_node,"Person","name")
        g.merge(relation,"Person","name")
#以下为neo4j代码,如需代码运行,请放入g.run(...)内运行,将...替换为下列代码
# MATCH (p: Person {name:"贾宝玉"})-[k:丫鬟]-(r)
# return p,k,r
# MATCH (p1:Person {name:"贾宝玉"}),(p2:Person{name:"香菱"}),p=shortestpath((p1)-[*..10]-(p2))
# RETURN p

# 删除所有结点以及关系
# g.delete_all()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

在这里插入图片描述这是目前得到的效果

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/584491
推荐阅读
相关标签
  

闽ICP备14008679号