
neo4j
文章平均质量分 60
yayun_kg
这个作者很懒,什么都没留下…
展开
-
webprotege的构建下载与导入到neo4j
1.首先下载安装好webprotege。设置好账号和密码后建立一个主题我的如下:一,节点的创建创建成功后,进入该主题的 individuals,如下图:然后点击这个位置的“+”:进入到如下步骤:输入你要写的数据节点,然后点击create:处理完成使用的节点后左边会有相关的显示:二,节点之间的关系的创建在创建完成所有的节点后在来开始创建所有的关系如下示意图:**首先点击一下左边的节点,然后看到右边的对应的节点下面有个Relationships下面的一个,Enter pro原创 2022-04-06 18:55:51 · 2007 阅读 · 0 评论 -
Ne4j加载webprotege的owl文件
一.前言webProtégé软件是斯坦福大学医学院生物信息研究中心基于Java语言开发的本体编辑和知识获取软件,或者说是本体开发工具Neo4j是一个高性能的图形数据库,也可以被看作是一个高性能的图引擎webprotege里的本体也能以图的形式表现,希望将webprotege的本体在neo4j里展示二. webprotege导出owl文件参考的某乎相关教程,neo4j的导入命令中的owl文件格式为 ‘RDF/XML’,此处姑且直接导出该类型文件(其他类型文件未测试)下载后解压后放在一个固定的目录原创 2022-04-05 16:42:18 · 1943 阅读 · 1 评论 -
记录一个不同版本数据导出和导入-从本地neo4j-3.5.7版本里面的数据dump后传到服务器上的neo4j-4.3.6版本里面然后load数据
记录一下工作,我从本地电脑上的neo4j-3.5.7版本,dump后,将结果传到服务器上后load到服务器上的neo4j-4.3.6版本里面的记录:打开cmd 后CD进入neo4j-3.5.7的bin目录下面先运行neo4j stop命令关闭neo4j。然后运行命令如下:neo4j-admin dump --database=neo4j --to=data/graph.db.dump其中“data/graph.db.dump”所在的位置就在neo4j-3.5.7的data目录里面。然后我用xft原创 2021-11-23 16:57:22 · 3083 阅读 · 2 评论 -
neo4j属性无法写入的字符
我在写入neo4j数据库的时候,添加实体的属性。得到一个错误如下:Invalid input '(': expected an identifier character, whitespace, NodeLabel, '.', node labels, '[', "=~", IN, IS, '*', '/', '%', '^', '+', '-', '<', '>', "<=", ">=", '=', "<>", "!=", AND, XOR, OR, WHERE, '原创 2021-11-04 19:18:54 · 3839 阅读 · 0 评论 -
Neo4j 删除节点、关系,和所有节点
neo4j清空所有数据命令如下:MATCH (n)OPTIONAL MATCH (n)-[r]-()DELETE n,r删除一个节点 DELETE如下一个节点,删除这个节点可以有两种方法,通过 id 属性,或者 name 属性。1.1 通过 name 属性 删除这一个节点,如下所示:MATCH (n:TEST1{name:'temp'})delete n1.2 通过 id 属性 删除这一个节点,如下所示:MATCH (r)WHERE id(r) = 492DELETE原创 2021-10-27 15:33:15 · 37012 阅读 · 2 评论 -
在neo4j中如何将并行一度关系查询性能提升
在海量的neo4j的图数据库中,如何进行并行一度关系查询性能提升。可以通过巧妙的使用Cypher并搭配存储过程,可以实现很多实用的查询。一、查询需求[A=[A1,A2,A3,…,An],B=[B1,B2,B3,…,Bm],A和B是两个节点集合。需要查询A中的每个元素分别和B中每个元素是否有一度关系,并返回有关系的实体对。这个查询实现了寻找A中的每个元素分别和B中每个元素是否有一度关系的需求,实现了基本的功能。查询执行时是顺序执行,无法并行。在查询的上半段定义了集合a和b,使用笛卡儿积的方式组合两个列原创 2021-10-14 10:20:54 · 1032 阅读 · 0 评论 -
neo4j - 查询效率的几种优化思路
最近在公司实习做的就是优化neo4j图形数据库查询效率的事,公司提供的是一个在Linux上搭建且拥有几亿个节点的数据库。开始一段时间主要是熟悉该数据库的一些基本操作,直到上周才正式开始步入了优化数据库查询效率的阶段,然而庆幸的是在这周就已经把数据库的查询效率优化的可以商用了。 刚开始时,在公司的neo4j数据库中进行关联查询时,有些查询指令甚至长达两小时都未返回待查结果,以致无法满足一般的商业需求。后来经过查阅相关资料,获得了如下几种优化思路:1:增加索引2:优化neo4j配置文件3:增加服务转载 2021-07-10 13:29:22 · 3137 阅读 · 1 评论 -
Neo4j数据库知识图谱查询关联人物关系和cypher查询
Cypher语句介绍:Cypher是一种声明式图查询语言,表达高效查询和更新图数据库。例子:声明式编程是一种编程范式,即构建计算机程序的结构和元素的一种风格,它表达了计算的逻辑而没有描述其控制流程。常用的声明性语言包括数据库查询语言(例如SQL,XQuery),正则表达式,逻辑编程,函数式编程和配置管理系统。命令式编程以明确的步骤实现算法。match 相当于SQL selectcypher查询语言的基本介绍:match(node) - [relationship] ->(node)wher原创 2020-11-19 14:54:20 · 9440 阅读 · 1 评论 -
AI人工智能行业知识图谱索引开发前期思想
下面的文章是本人的实际开发工作中的真实的总结,如果转载请说明出处。原创 2021-11-30 16:51:38 · 327 阅读 · 0 评论 -
AI人工智能知识图谱图计算的数学知识储备
主要的有:1,词向量的表示学习方法2, skip_gram模型的算法逻辑3,随机梯度下降法4,矩阵分解和高斯模型嵌入5,图谱推理技术与skip_gram和词向量结合法-图谱向量化表示下面是学习笔记拍摄成图片:...原创 2020-10-13 16:53:12 · 1195 阅读 · 1 评论 -
python&Neo4j关联相关的cypher查询操作之图数据库的实体对齐总结
总:Neo4j 实体对齐总共分为3个步骤1、实体三元组的写入和去重。2、实体的融合和对齐3、补齐属性一、实体三元组的写入和去重在写入前我按照1:4的比例提取了26万多篇文章的100万个三元组集合(因为之前做了测试大概是100篇文章可以提取460条三元组集合)联系运维在服务器上部署好我们组专用的neo4j。在三元组写入方面,依据每个数据的情况不一样来确定三元组的写入语句。首先用新闻数据来提取三元组,然后查看提取出来的三元组的值的情况,来判断估算重复值的数量。其次采用cypher语句里面的merg原创 2021-11-30 16:50:54 · 3098 阅读 · 6 评论 -
AI人工智能知识图谱Neo4j关联查询人物关系cypher查询
Cypher语句介绍:Cypher是一种声明式图查询语言,表达高效查询和更新图数据库。例子:声明式编程是一种编程范式,即构建计算机程序的结构和元素的一种风格,它表达了计算的逻辑而没有描述其控制流程。常用的声明性语言包括数据库查询语言(例如SQL,XQuery),正则表达式,逻辑编程,函数式编程和配置管理系统。命令式编程以明确的步骤实现算法。match 相当于SQL selectcypher查询语言的基本介绍:match(node) - [relationship] ->(node)wh原创 2020-09-25 11:00:24 · 4267 阅读 · 0 评论 -
Neo4j简介及Py2Neo的用法
Neo4j是一个世界领先的开源图形数据库,由Java编写。图形数据库也就意味着它的数据并非保存在表或集合中,而是保存为节点以及节点之间的关系。Neo4j的数据由下面3部分构成:节点边属性Neo4j除了顶点(Node)和边(Relationship),还有一种重要的部分——属性。无论是顶点还是边,都可以有任意多的属性。属性的存放类似于一个HashMap,Key为一个字符串,而Value必须...原创 2020-04-13 18:22:02 · 8700 阅读 · 5 评论 -
neo4j图算法与实例
1 导入初始数据到Neo4j数据下载地址:https://www.macalester.edu/~abeverid/data/stormofswords.csv。它看起来像这样:Source,Target,WeightAemon,Grenn,5Aemon,Samwell,31Aerys,Jaime,18这里,我们拥有整个文本中角色的邻接表和他们的互动次数。我们将使用一个简单的数据模...原创 2020-04-13 18:16:10 · 4341 阅读 · 1 评论 -
使用Neo4j来构建实时的推荐引擎
构建实时推荐引擎是Neo4j最常见的用途之一,也是Neo4j强大而易用的用途之一。为了探讨这个问题,我将使用一些数据样例来解释如何运用统计方法到推荐中去。第一个比较简单——完全使用Cypher语言的社交推荐;之后我们探讨一个涉及可计算相似度度量的相似度推荐;最后是一个聚类推荐。1 基本的图驱动推荐下面的数据集包含达拉斯-沃斯堡国际机场提供的食物饮料,该机场是美国主要机场枢纽之一。我们用黄...原创 2020-04-13 18:04:48 · 2589 阅读 · 2 评论 -
py2neo—Neo4j&python的配合使用
今天就通过python面向Neo4j的库py2neo来对Neo4j进行一些简单的操作,包括:连接Neo4j数据库节点的建立节点之间关系的建立关系属性赋值以及属性值的更新通过属性值查找节点/关系通过节点/关系查找相关联的节点/关系结合目前的一个项目来说说一些坑和注意点1 连接Neo4j数据库要通过python来操作Neo4j,首先需要安装py2neo,可以直接使用pip安装。pi...原创 2020-04-13 17:58:06 · 1343 阅读 · 1 评论 -
Neo4j批量更新和批量插入优化的几点
1 低效的方式下面这些方式不是十分有效:将值直接写入到语句中,而不是通过参数的方式每一个更新都通过一个Transaction发送一个请求通过一个Transaction发送大量的单个请求生成一个巨大复杂的语句(几百行),然后通过一个Transaction进行提交在一个Transaction中,发送一个巨大的请求,会导致OOM错误2 正确的方式你需要构造尽可能小的请求,并且语句格式固定...原创 2020-04-13 17:52:57 · 1649 阅读 · 0 评论 -
迁移MySQL的数据到Neo4j
1、启动mysql,创建表,test数据库的info表。2、拷贝apoc.jar和mysql-connector-java.jar到neo4j安装目录的plugins文件夹。3、修改conf文件夹下的neo4j.conf,添加dbms.security.procedures.unrestricted=apoc.*,apoc.import.file.enabled=true4、启动ne...原创 2020-04-13 17:44:42 · 1173 阅读 · 0 评论 -
知识图谱数据库neo4j-import 数据导入总结
最近我在尝试存储知识图谱的过程中,对Neo4j图数据库有了一个新的认知,这里我摘取了一段Neo4j的简介:Neo4j是一个高性能的,NOSQL图形数据库,它将结构化数据存储在网络上而不是表中。它是一个嵌入式的、基于磁盘的、具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储在网络(从数学角度叫做图)上而不是表中。Neo4j也可以被看作是一个高性能的图引擎,该引擎具有成熟数据库的所有特性...原创 2020-04-13 17:41:27 · 2132 阅读 · 0 评论 -
Neo4j和Cypher批量更新和批量插入优化
当通过程序向图形化数据库中写入大量数据的时候,你会希望它能够高效的处理。低效的方式下面这些方式不是十分有效:将值直接写入到语句中,而不是通过参数的方式每一个更新都通过一个Transaction发送一个请求通过一个Transaction发送大量的单个请求生成一个巨大复杂的语句(几百行),然后通过一个Transaction进行提交在一个Transaction中,发送一个巨大的请求,会导...翻译 2020-04-07 16:09:07 · 2527 阅读 · 2 评论 -
大数据提取数据深度学习三元组关系抽取大规模知识图谱数据流设
从大数据里面提取数据,进入深度学习框架,提取关系三元组。做大规模知识图谱数据流设计如下图:比较详细讲述g’yu原创 2020-04-01 15:36:31 · 1555 阅读 · 0 评论 -
Spark结合图数据库Neo4j设计和架构
大数据分布式技术结合图库Neo4J项目,由于Neo4j采用单节点,性能存在以下问题:. 插入速率随着图库数据增加而减少,成反比相关。. 对前端页面查询点边关系,测试一条数据耗时10s以上。所以重新设计架构,采用分布式中间件来取代单节点式Neo4j部分功能。经测试,几套架构尚可满足Spark离线处理和实时计算需求。Coding Introducedef getDriver(): Drive...转载 2020-03-07 21:57:45 · 1209 阅读 · 0 评论 -
neo4j与spark 的结合
spark 是用来 做 图计算的,Graphx,其实 spark 和Neo4j 有交叉点,在图论算法上都可以用上使用 neo4j 和 spark 结合1.首先 如果你的neo4j 是需要账号密码登录的话,你就应该 在项目中配置一下,两三种方式import org.apache.spark.rdd.RDDimport org.apache.spark.sql.{SQLContext, Spa...原创 2020-03-07 20:24:38 · 2513 阅读 · 0 评论 -
关于如何自动化构建知识图谱的想法
知识图谱数据写入与构建在这里 如何自动化构建知识图谱本人提供一个基本思路:a,将需要抽取的数据从库里面读出、关系的提取模型、三元组数据的写入的代码全部整合封装成一个类函数(class NEO4J)。b,然后只要输入一个位置数字即从xx位置开始读取数据,数据读取后自动进入关系提取模型得到三元组,将得到的三元组自动同时写入mongodb和neo4j中,存入mongodb是为了备份。c,至于代码...原创 2020-01-13 11:42:42 · 1402 阅读 · 0 评论 -
python爬虫neo4j知识图谱实体的属性补全
本文原创,如有转载请说明‘’‘大致思路是:从neo4j数据库中拿出A实体及其ID,将A传如一个爬虫程序在百科上搜索采集结果数据。然后将采集到的数据return做为实体A的属性值写入neo4j,在写入的过程中match到A实体的ID能大大提升match写入的速度。’’’import requestsimport urllibfrom bs4 import BeautifulSoupfrom...原创 2019-11-28 16:06:26 · 2554 阅读 · 0 评论 -
Python操作Neo4j Bolt驱动程序API
每次执行Cypher时,BoltStatementResult都会返回a。这提供了查询结果的句柄,从而可以访问其中的记录以及结果元数据。每个结果均包含页眉元数据,零个或多个Record对象以及页脚元数据(摘要)。结果还包含一个缓冲区,当结果被无序使用时,该缓冲区会自动存储未使用的记录。通过将A BoltStatementResult附加到活动连接,Session直到其所有内容都已缓冲或消耗完毕。...原创 2020-09-29 21:54:39 · 702 阅读 · 0 评论 -
neo4j实体对齐知识图谱实体对齐和实体关系的属性补全
在写入图谱前先要有相关的标准库。然后就是python简单的判断+cypher语句的结合写入。下面直接上代码:def companys_relation():# 在基于 公司->人名的关系中,来补全公司属性和人物属性。dat = session.run("MATCH (m:COMPANY)-[]->(n:PERSON) RETURN m.name as me, m.cid as ...原创 2019-09-29 09:40:07 · 5603 阅读 · 0 评论 -
基于Neo4j 图数据库的知识图谱的关联对齐(实体对齐)——下篇
基于Neo4j 图数据库的知识图谱的关联对齐(实体对齐)——上篇上一篇写道了,算出2个实体的相似性。本篇开始写算出 2个实体相似性后,用代码实现neo4j的对齐操作。直接上代码:huizon = (jacd+edit)/2if 0.70 < huizon < 1: # 取一个值的区间# 判断a 和 b 的长度,目的是留下字数长的实体,然后把字数短的实体去掉。if len(...原创 2019-09-18 09:19:57 · 4170 阅读 · 17 评论 -
python如何写入三元组数据到neo4j
在数据写入neo4j之前需要做的事情是,要有已经提取出来的三元组数据可以使用,方便来写入到neo4j数据库。在此处我已经提取出了一些数据存储到了mongodb数据库里面了。导入工具包from pymongo import MongoClientfrom neo4j.v1 import GraphDatabase, basic_auth, kerberos_auth, custom_auth...原创 2019-09-03 10:37:38 · 6284 阅读 · 0 评论 -
基于Neo4j 图数据库的知识图谱的关联对齐(实体对齐)——上篇
本篇是上篇主要讲到知识图谱实体对齐,前面2个步骤:读出neo4j数据,对齐实体。导入工具包import numpy as npfrom neo4j.v1 import GraphDatabase, basic_auth, kerberos_auth, custom_auth, TRUST_ALL_CERTIFICATES链接数据库,建立driver。driver = GraphData...原创 2019-09-02 15:47:14 · 8231 阅读 · 7 评论 -
neo4j python 驱动开发入门
使用依赖管理获得驱动使用pip依赖管理工具运行如下命令:pip install neo4j-driver指定版本pip install neo4j-driver==1.6.0使用官方驱动包每个Neo4j驱动程序都有一个用于创建驱动程序的数据库对象。要使用驱动程序,请按照以下步骤:(1)向数据库对象请求一个新的驱动程序;(2)向驱动程序对象请求一个新会话;(3)请求会话对象创建事务...原创 2019-08-29 14:13:32 · 1101 阅读 · 0 评论