使用neo4j_知识图谱Task00:Neo4j安装配置
生活随笔
收集整理的這篇文章主要介紹了
使用neo4j_知识图谱Task00:Neo4j安装配置
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
知識圖譜開源內容:
https://github.com/datawhalechina/team-learning-nlp/tree/master/KnowledgeGraph_Basic?19學習目標
- 理解知識圖譜的基本原理
- 熟悉Neo4j并具備基本的調用相應python庫進行操作的能力。
任務安排
Task01:知識圖譜介紹(1天)
- 知識圖譜簡介
- 怎么構建知識圖譜
- 知識圖譜的存儲
- Neo4j 介紹與安裝
- Neo4j 實戰
- 通過 Python 操作 Neo4j
- 通過csv文件批量導入圖數據
Task02:基于醫療知識圖譜的問答系統操作介紹(1天)
- 引言
- 運行環境
- 搭建知識圖譜
- 啟動問答測試
- 代碼目錄介紹
Task03:Neo4j圖數據庫導入數據(1天)
- 引言
- Neo4j簡介
- Neo4j 數據導入
- 總結
Task04:用戶輸入->知識庫的查詢語句(2天)
- 引言
- 什么是問答系統
- 任務實踐
- 主體類 EntityExtractor 框架介紹
- 命名實體識別任務實踐
- 意圖識別任務實踐
Task05:Neo4j 圖數據庫查詢(2天)
- Neo4j介紹
- 基于知識圖譜的問題系統 主體類 AnswerSearching 框架介紹
- 代碼分模塊介紹
打卡規則
- 注冊 CSDN、Github 或 B站等賬戶。
- 按照任務安排進行學習,完成后寫學習筆記Blog 或 進行視頻直播。
- 在每次任務截止之前在群內填寫問卷打卡,遇到問題在群內討論。
- 未按時打卡的同學視為自動放棄,被抱出學習群。
致謝
- 特別鳴謝:QASystemOnMedicalGraph
- 特別感謝 @LSGOMYP 對本項目的幫助與支持。
- 特別感謝:datawhale組織本地活動!
知識圖譜Task00:Neo4j安裝配置(Centos)
安裝配置
一、CentOS服務器安裝neo4j并使用本地瀏覽器訪問
1、下載
wget?https://neo4j.com/artifact.php?name=neo4j-community-4.2.1-unix.tar.gz#?注1:4.2.1需要java版本11.0+,如果你的java是8.0,可以下載neo4j-community-3.0.3
#?注2:如果下載速度比較慢的話,可以選擇手動下載,然后上傳到服務器
#?注3:如果未安裝jdk,請使用`yum install java-1.8.0-openjdk`
2、解壓
tar?-zxvf??name=neo4j-community-4.2.1-unix.tar.gz3、啟動
cd?neo4j-community-4.2.1bin/neo4j?start
啟動成功如下
2021-01-10?09:33:02.314+0000?INFO??No?SSL?certificate?found,?generating?a?self-signed?certificate..2021-01-10?09:33:03.041+0000?INFO??Starting...
2021-01-10?09:33:05.307+0000?INFO??Bolt?enabled?on?localhost:7687.
2021-01-10?09:33:09.688+0000?INFO??Started.
2021-01-10?09:33:11.352+0000?INFO??Remote?interface?available?at?http://localhost:7474/
4、本地訪問
注:如果你是安裝在本地,那直接輸入http://localhost:7474/即可,以下步驟可跳過。
端口重定向
本地遠程訪問服務器的地址,需要在本地使用ssh鏈接,將服務器的7474端口重定向到本機.
在本地終端輸入以下命令
ssh?-L?7474:127.0.0.1:7474?usname@192.168.xxx.xxx這時候打開http://127.0.0.1:7474,訪問成功!
二、通過 Python 操作 Neo4j
1、neo4j模塊:執行CQL ( cypher ) 語句
??# step 1:導入 Neo4j 驅動包??from?neo4j?import?GraphDatabase
??# step 2:連接 Neo4j 圖數據庫
??driver?=?GraphDatabase.driver("bolt://localhost:7687",?auth=("neo4j",?"password"))
??#?添加?關系?函數
??def?add_friend(tx,?name,?friend_name):
??????tx.run("MERGE?(a:Person?{name:?$name})?"
????????????"MERGE?(a)-[:KNOWS]->(friend:Person?{name:?$friend_name})",
????????????name=name,?friend_name=friend_name)
??#?定義?關系函數
??def?print_friends(tx,?name):
??????for?record?in?tx.run("MATCH?(a:Person)-[:KNOWS]->(friend)?WHERE?a.name?=?$name?"
??????????????????????????"RETURN?friend.name?ORDER?BY?friend.name",?name=name):
??????????print(record["friend.name"])
??# step 3:運行
??with?driver.session()?as?session:
??????session.write_transaction(add_friend,?"Arthur",?"Guinevere")
??????session.write_transaction(add_friend,?"Arthur",?"Lancelot")
??????session.write_transaction(add_friend,?"Arthur",?"Merlin")
??????session.read_transaction(print_friends,?"Arthur")
??????
上述程序的核心部分,抽象一下就是:
??neo4j.GraphDatabase.driver(xxxx).session().write_transaction(函數(含tx.run(CQL語句)))或者
??neo4j.GraphDatabase.driver(xxxx).session().begin_transaction.run(CQL語句)2、py2neo模塊:通過操作python變量,達到操作neo4j的目的
??# step 1:導包??from?py2neo?import?Graph,?Node,?Relationship
??# step 2:構建圖
??g?=?Graph()
??# step 3:創建節點
??tx?=?g.begin()
??a?=?Node("Person",?name="Alice")
??tx.create(a)
??b?=?Node("Person",?name="Bob")
??# step 4:創建邊
??ab?=?Relationship(a,?"KNOWS",?b)
??# step 5:運行
??tx.create(ab)
??tx.commit()
py2neo模塊符合python的習慣,寫著感覺順暢,其實可以完全不會CQL也能寫。
關注“格數致知”,走向對世界的深度認知
總結
以上是生活随笔為你收集整理的使用neo4j_知识图谱Task00:Neo4j安装配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大数据平台常用组件_这款大数据智能服务平
- 下一篇: 单元格自适应宽度_Excel如何对表格进