当前位置:   article > 正文

python构建知识图谱_python 知识图谱

python 知识图谱

1,知识图谱

1,何为知识图谱

通俗地讲,知识图谱就是把所有不同种类的信息(Heterogeneous Information)连接在一起而得到的一个关系网络。

2,知识图谱这个网络具备的特性:

2.1 由节点(Point)和边(Edge)组成

在这里插入图片描述

2.2 每个节点表示现实世界中存在的“实体”,每条边为实体与实体之间的“关系

在这里插入图片描述

2.3 知识图谱是关系的最有效的表示方式

在这里插入图片描述

3 知识图谱能干什么?

先按知识图谱应用的深度主要可以分为两大类:

一是通用知识图谱,通俗讲就是大众版,没有特别深的行业知识及专业内容,一般是解决科普类、常识类等问题。

二是行业知识图谱,通俗讲就是专业版,根据对某个行业或细分领域的深入研究而定制的版本,主要是解决当前行业或细分领域的专业问题。

2,python如何构建知识图谱?

2.1,javaJDK安装

1,JDK下载(neo4j要求11以上jdk)
下载慢
https://www.oracle.com/java/technologies/downloads/
csdn下载较快
https://download.csdn.net/download/h735004790/12256491

2, JDK安装

1,新建文件夹作为安装文件夹

在这里插入图片描述

2,双击jdk-14_windows-x64_bin.exe进行安装
在这里插入图片描述

3,下一步

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

4,配置环境变量

安装目录的bin目录
F:\Java\bin
在这里插入图片描述

3,验证

在这里插入图片描述

2.2 Neo4j安装

1,下载
https://neo4j.com/download-center/

2,选择
在这里插入图片描述
3,解压

4,设置环境变量

F:\neo4j-community-4.4.5\bin\neo4j.bat
在这里插入图片描述
5,验证

neo4j.bat console

出现错误
在这里插入图片描述
解决:
打开neo4j.ps1文件里Import-Module "$PSScriptRoot\Neo4j-Management.psd1"为绝对路径
在这里插入图片描述
在这里插入图片描述
改为/:
在这里插入图片描述
验证:

neo4j.bat console
  • 1

出现报错:
在这里插入图片描述解决:

找到

在这里插入图片描述
在这里插入图片描述
改为jdk路径:
在这里插入图片描述
验证:

neo4j.bat console
  • 1

成功:
在这里插入图片描述

2.3,设置图数据库密码

启动后在浏览器中键入http://localhost:7474/,进入以下界面。

在这里插入图片描述
用户名为neo4j,密码也是neo4j,连接后会让我们修改密码。这就是neo4j的启动与初始密码。

在这里插入图片描述

2.4 更新密码

在这里插入图片描述

2.5 python链接图数据库

from py2neo import Node, Graph, Relationship,NodeMatcher

class DataToNeo4j(object):
    def __init__(self):
        """建立连接"""
        link = Graph("http://localhost:7474", auth=("neo4j", "123456"))
        self.graph = link
        #self.graph = NodeMatcher(link)
        # 定义label
        self.buy = 'buy'
        self.sell = 'sell'
        self.graph.delete_all()
        self.matcher = NodeMatcher(link)
    def create_node(self, node_buy_key,node_sell_key):
        """建立节点"""
        for name in node_buy_key:
            buy_node = Node(self.buy, name=name)
            self.graph.create(buy_node)
        for name in node_sell_key:
            sell_node = Node(self.sell, name=name)
            self.graph.create(sell_node)
            
        

    def create_relation(self, df_data):
        """建立联系"""      
        m = 0
        for m in range(0, len(df_data)):
            try:    
                print(list(self.matcher.match(self.buy).where("_.name=" + "'" + df_data['buy'][m] + "'")))
                print(list(self.matcher.match(self.sell).where("_.name=" + "'" + df_data['sell'][m] + "'")))
                rel = Relationship(self.matcher.match(self.buy).where("_.name=" + "'" + 		     df_data['buy'][m] + "'").first(),df_data['money'][m], self.matcher.match(self.sell).where("_.name=" + "'" + df_data['sell'][m] + "'").first())

                self.graph.create(rel)
            except AttributeError as e:
                print(e, m)
            
  • 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
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37

简单效果展示:

在这里插入图片描述

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

闽ICP备14008679号