网站开发加维护需要多少钱,界面设计报价,淘宝刷单网站开发,小马网站建设AI应用开发相关目录 本专栏包括AI应用开发相关内容分享#xff0c;包括不限于AI算法部署实施细节、AI应用后端分析服务相关概念及开发技巧、AI应用后端应用服务相关概念及开发技巧、AI应用前端实现路径及开发技巧 适用于具备一定算法及Python使用基础的人群
AI应用开发流程概…AI应用开发相关目录 本专栏包括AI应用开发相关内容分享包括不限于AI算法部署实施细节、AI应用后端分析服务相关概念及开发技巧、AI应用后端应用服务相关概念及开发技巧、AI应用前端实现路径及开发技巧 适用于具备一定算法及Python使用基础的人群
AI应用开发流程概述Visual Studio Code及Remote Development插件远程开发git开源项目的一些问题及镜像解决办法python实现UDP报文通信python实现日志生成及定期清理Linux终端命令Screen常见用法python实现redis数据存储python字符串转字典python实现文本向量化及文本相似度计算python对MySQL数据的常见使用一文总结python的异常数据处理示例基于selenium和bs4的通用数据采集技术附代码基于python的知识图谱技术 文章目录 AI应用开发相关目录一、前言图数据图数据库知识图谱Neo4j 二、环境配置三、python基于已有数据构建知识图谱 一、前言
图数据、图数据库、知识图谱和Neo4j都是与数据处理和存储相关的概念和技术它们在许多领域都有广泛的应用。下面是对它们的详细介绍
图数据
图数据是一种基于图的数据结构用于表示实体节点及其之间的关系边。这种数据结构非常适合描述具有复杂关系的数据如社交网络、交通网络等。 特点图数据能够直观地表示实体之间的关系并且支持高效的查询和遍历操作。
图数据库
图数据库是一种用于存储、查询和管理图数据的数据库系统。它基于图的数据模型提供高效的图遍历和查询算法能够处理大规模的图数据。 特点图数据库具有高效查询、高效存储、可扩展性和灵活性等特点。它支持多种数据类型和数据结构可以处理复杂的关系数据并满足不同的应用场景需求。 应用场景图数据库在社交网络、推荐系统、生物信息学、网络安全、物联网等领域都有广泛的应用。例如在社交网络中可以使用图数据库存储用户之间的关系进行好友推荐、社交网络分析等应用。
知识图谱
知识图谱是人工智能领域的一个概念主要用于描述真实世界中存在的各种实体和概念以及它们之间的关系。它实际上是一种语义网络建立在自然语言处理NLP的基础上。 特点知识图谱能够高效地查询复杂的关联信息从语义层面理解用户意图从而改进搜索质量。 应用知识图谱在智能问答、搜索、个性化推荐等方面有广泛应用。例如它可以为聊天机器人提供广泛的知识也可以为行业智能问答系统提供有针对性的专业领域知识。
Neo4j
Neo4j是一个高性能的图形数据库它将结构化数据存储在网络图上而不是传统的表中。它具备完全的事务特性并且是一个嵌入式的、基于磁盘的Java持久化引擎。 特点Neo4j支持ACID事务可以轻易扩展至上亿节点和关系并且拥有自己的高级查询语言Cypher用于高效检索。 应用Neo4j常用于微博好友关系分析、城市规划、社交、推荐等应用。由于其嵌入式、高性能、轻量级等优势Neo4j在图形数据库领域越来越受到关注。
二、环境配置
在win10上的安装 0. java JDK安装
下载java8 exe https://www.oracle.com/java/technologies/downloads/#java8 安装exe一路next 配置环境变量 用户变量可以不用管 关注系统变量 新建 变量名JAVA_HOME 变量值C:\ProgramFiles\Java\jdk1.8.0_162(JDK的安装路径以自己的安装路径为准) 新疆 新建CLASSPATH 变量变量值为 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar (注意前面是有一个点的) 最后 path中新增下图内容 %JAVA_HOME%\bin 验证可如上图
从官网下载最新版 Neo4j 社区版Community
需要注册后才能下载 下载好后解压到自己想放的盘里例如 D:\Program Files (x86)\neo4j-community-3.4.0 创建系统环境变量
在计算机-属性中创建系统环境变量NEO4J_HOME并把主目录E:\Program Files (x86)\neo4j-community-3.4.0设置为变量值。 NEO4J_HOMEE:\Program Files (x86)\neo4j-community-3.4.0 在path中添加 %NEO4J_HOME%\bin 运行
CMD管理员身份运行
输入 neo4j.bat console 或者
安装服务 neo4j install-service 启动服务 neo4j start 停止服务 neo4j stop 在浏览器中打开 http://localhost:7474 默认跳转到 http://localhost:7474/browser出现Neo4j界面则安装成功。
初始密码neo4j 进去之后可以修改密码
如果neo4j stop不能停止neo4j则用kill -s 9 强制杀掉进程。
切换数据库 切换数据库 每次启动neo4j它只能读取一个数据库。默认情况下的Graph.db数据库。
能创建新数据库而不能删除现有数据库。 只需在$NEO4J_HOME\conf的目录编辑neo4j.conf。搜寻dbms.active_database其默认值应为graph.db。用其他名称替换它然后再次启动neo4j。现在将在该目录名下创建一个新数据库。 若要切换回以前的db请重复这些步骤只需将新值替换为graph.db在配置文件中。
注意如果在neo4j启动的时候修改了配置文件则需要重新启动一次浏览器页面才会更新。
三、python基于已有数据构建知识图谱
初始文件如下 设计文件抽离其中数据生成以 节点-节点-关系为格式存储的数据文件。
# 阶段划分抽象
import os
data_ls os.listdir(rC:\Users\12258\Desktop\bs_web\bs_figureDB\data)
print(data_ls)
def phase_split(ls):m_ls1 []#中间变量1列表用于存储清洗、分词后的标题分词列表的列表for i in ls:m_ls2 []# 中间变量2列表用于存储清洗过程中符合要求的词的列表for j in i.strip(.xlsx).split(-):if len(j) 1:passelse:m_ls2.append(j)m_ls1.append(m_ls2)result []for i in m_ls1:if len(i) 2:result.append(i[0]-i[1]-1级次级)elif len(i) 3:result.append(i[1]-i[2]-2级次级)elif len(i) 4:result.append(i[2]-i[3]-3级次级)return result
result phase_split(data_ls)
print(result)
# 属性划分抽象
import pandas as pd
data pd.read_excel(rC:\Users\12258\Desktop\bs_web\bs_figureDB\data\\0-变电工程数据-1-设计阶段-2-初设阶段-3-设备及材料清册.xlsx)
print(data.head())
result1 []
for flag in range(3):#对三个字段作遍历if flag 0:for i in range(len(data[名称].tolist())):result1.append(data[名称].tolist()[i]-单位str(data[单位].tolist()[i])-属性)elif flag 1:for i in range(len(data[名称].tolist())):result1.append(data[名称].tolist()[i]-数量str(data[数量].tolist()[i])-属性)elif flag 2:for i in range(len(data[名称].tolist())):result1.append(data[名称].tolist()[i]-单价str(data[单价].tolist()[i])-属性)
#print(result1)
for i in data[名称].tolist():result1.append(设备及材料清册-i-4级次级)
print(result1)data pd.read_excel(rC:\Users\12258\Desktop\bs_web\bs_figureDB\data\\0-变电工程数据-1-设备阶段-2-档案部分-3-电气档案.xlsx)
print(data.head())
result2 []
for flag in range(2):#对两个字段作遍历if flag 0:for i in range(len(data[名称].tolist())):result2.append(data[名称].tolist()[i]-规格str(data[规格].tolist()[i])-属性)elif flag 1:for i in range(len(data[名称].tolist())):result2.append(data[名称].tolist()[i]-入库日期str(data[入库日期].tolist()[i])-属性)
#print(result2)for i in data[名称].tolist():result2.append(电气档案-i-4级次级)
print(result2)# 存入txt文档保存
data_out resultresult1result2
with open(result.txt,a,encodingutf-8) as f:for i in data_out:f.write(i)f.write(\n)结果如下 根据该文件构建数据库代码如下
# 导入库
from py2neo import Graph, Node, Relationship
# 定义容器
father []
son []
connect []
# 打开自定义数据文件并将数据存入容器格式为列表
path rresult.txt
with open(path,encodingutf-8) as f:for i in f.readlines():mid i.split(-)father.append(mid[0])son.append(mid[1])connect.append(mid[2])# 连接数据库neo4j输入个人配置
graph Graph(http://localhost:7474//browser/, usernameneo4j, passwordluhai123, runsub)
# 清空全部数据
graph.delete_all()
# 开启一个新的事务
graph.begin()
# 在新的事务中利用列表中的数据添加点与边
# 循环遍历
for i in range(len(father)):start_nodeNode(data,namefather[i])end_nodeNode(data,nameson[i])relationRelationship(start_node,connect[i],end_node)graph.merge(start_node,data,name)graph.merge(end_node,data,name)graph.merge(relation,data,name)# 终端neo4j.bat console
# 知识图谱网站http://127.0.0.1:7474/browser