Neo4J
图数据库
静听山水
Just do it
展开
-
Cypher Cheetsheet基础语法
寻找2个Person类型节点分别姓名为Tom和Jimmy,创建两节点之间的关系:类型为Friend,关系值为best。8.匹配关系时需要基于p=(m)-[r]->(n)返回p,而不是返回r(显示空)不存在则新建并返回(通常实际用途于在对节点添加属性时避免报错)7.节点或者关系(/[变量名:类型{属性名:属性值}]/)例如 csv文件(default=1000)(属性:姓名、年龄及性别)3.where中使用。转载 2024-02-20 22:04:09 · 73 阅读 · 0 评论 -
py2neo和neo4j
无论选择哪一个,都可以根据个人的偏好和项目的需求进行选择。在实际应用中,两者都是被广泛使用的。是两个 Python 中与 Neo4j 图数据库交互的库,但它们有不同的设计和使用方式。对象表示图数据库中的节点和关系,使得代码更加直观和易读。更加 Pythonic。官方提供的官方驱动库。原创 2024-02-20 21:38:23 · 806 阅读 · 0 评论 -
使用apoc将数据从数据库导入neo4j
这段代码的目的是从 ClickHouse 数据库中加载数据到 Neo4j 图数据库,并在加载过程中使用 APOC(Awesome Procedures on Cypher)库提供的 apoc.merge.node。总体来说,这段代码的目的是从 ClickHouse 数据库中加载关系数据到 Neo4j 图数据库,确保在图数据库中的关系具有唯一性。总的来说,这段代码的目的是从 ClickHouse 数据库中加载数据到 Neo4j 图数据库,确保在图数据库中的 "Law" 节点具有唯一的。原创 2024-02-20 21:29:21 · 1359 阅读 · 0 评论 -
Python使用LOAD CSV将csv数据导入neo4j
参考链接:https://github.com/SongX64/movie_recommend_knowleagegraph。转载 2024-02-20 15:32:55 · 373 阅读 · 0 评论 -
python将csv数据导入neo4j
参考链接:https://github.com/jm199504/Financial-Knowledge-Graphs/tree/master。原创 2024-02-20 15:23:31 · 1302 阅读 · 0 评论 -
neo4j常用代码
【代码】neo4j常用代码。原创 2024-02-19 19:04:36 · 510 阅读 · 0 评论 -
neo4j函数
字符串会被解析为一个浮点数,如果解析失败,则返回null。字符串会被解析为一个整数,如果解析失败,则返回null。从节点或者关系列表中返回单个属性或者某个函数的值,它将遍历整个列表,针对列表中的每个元素运行一个表达式,返回的节点就是节点或关系的属性的map;返回一个数值的正负。返回[0,1)之间的一个随机数,返回的数值在整个区间遵循均匀分布。以字符串列表的形式返回一个节点、关系或者map的所有属性的名称。如果断言刚好只适用于列表中的某一个元素,则返回true。以字符串列表的形式返回一个节点的所有标签。原创 2023-08-26 14:48:10 · 512 阅读 · 0 评论 -
Neo4j之CALL基础
语句用于调用 Neo4j 数据库中预定义的函数、过程或者自定义的函数。它是用来执行一些特定操作或计算的重要工具。语句用于调用各种函数、过程和图算法,它可以用来执行数据库操作、计算和数据处理等任务。根据需要,你可以根据自己的需求调用不同的函数和过程。这个示例中,使用 APOC 库的存储过程。来将匹配的结果导出为 CSV 文件。这个示例中,调用了数据库管理系统的。来获取数据库中所有的节点标签。这个示例中,调用了图算法库中的。函数来获取数据库中的组件信息。这个示例中,调用了内置函数。这个示例中,调用了名为。原创 2023-08-20 15:35:17 · 1358 阅读 · 0 评论 -
Neo4j之union基础
子句的结果合并为一个结果集。它可以用来合并不同模式的节点和关系,或者将多个查询的结果合并在一起。这个示例中,将三个查询的结果合并在一起,分别是人的姓名、电影的标题以及一个固定的字符串。这个示例中,将演员和导演的姓名合并在一起,他们分别与电影节点通过不同关系相连接。合并多个查询的结果,这些查询可以涉及不同类型的节点和关系,或者处理不同的属性。这个示例中,先分别从人和电影节点中获取姓名和标题,然后使用。这个示例中,首先从满足条件的人节点中返回姓名,然后使用。将结果与满足条件的电影节点的标题合并起来。原创 2023-08-20 15:13:43 · 1742 阅读 · 0 评论 -
Neo4j之unwind基础
等语句结合使用,用于对列表中的每个元素执行相应的操作。创建具有姓名属性的人节点,如果节点不存在则创建,并在创建时设置一个时间戳属性。语句在 Cypher 查询中用于将列表(数组)中的元素逐个“展开”逐个展开给定的姓名列表,然后逐个创建具有姓名属性的人节点。聚合函数将每个人节点的朋友姓名收集到列表中,最后使用。逐个展开朋友列表,并返回每个人节点和他们的朋友姓名。逐个展开给定的列表,然后将每个元素乘以2并返回。这个示例首先匹配拥有朋友关系的人节点,然后使用。逐个展开给定的姓名列表,然后使用。原创 2023-08-20 15:10:00 · 2447 阅读 · 0 评论 -
Neo4j之with基础
语句用于控制查询流程,将之前的查询结果传递给后续的操作。首先,它匹配参演电影的人节点,并传递人节点和电影数量给第一个。语句将匹配的结果传递给后续的操作,这里是返回每个人节点的姓名属性。,然后根据条件过滤,最终返回满足条件的人节点的姓名。传递给后续的操作,最终返回人节点的姓名和电影数量。语句将一个字符串列表传递给后续的操作,然后使用。展开列表,逐个创建具有姓名属性的人节点。用于将之前的查询结果传递给后续的查询操作。这个示例匹配参演电影的人节点,然后使用。将每个人节点和他们参演的电影数量。原创 2023-08-20 15:07:01 · 2052 阅读 · 0 评论 -
Neo4j之ORDER BY基础
这个示例返回所有电影节点的标题和发布年份属性,并首先按发布年份升序排序,然后再按标题降序排序。语句用于对查询结果进行排序,可以按单个属性或多个属性排序,还可以结合聚合结果一起排序。这个示例返回每个人节点的姓名和他们评价过电影的平均评分,并按平均评分降序排序。这个示例返回最新发布的前 10 部电影的标题和发布年份属性。语句用于对查询结果进行排序。这个示例返回所有人节点的姓名和年龄属性,并按年龄降序排序。原创 2023-08-20 15:02:42 · 1109 阅读 · 0 评论 -
Neo4j之CREATE UNIQUE基础
这个示例创建一个唯一的 "RATED" 关系,将已存在的 "Person" 节点 "Alice" 和 "Movie" 节点 "The Matrix" 连接起来。如果关系已存在,则不会创建新关系。这个示例创建了一个唯一的 "FRIEND" 关系链,将 "Alice"、"Bob" 和 "Charlie" 三个唯一的节点连接在一起。这个示例创建了两个唯一的 "Person" 节点,并在它们之间创建了一个唯一的 "FRIEND" 关系。这个示例创建一个名为 "Alice" 的唯一 "Person" 节点。原创 2023-08-20 14:41:51 · 439 阅读 · 0 评论 -
Neo4j之RETURN基础
这个示例返回所有 FRIEND 关系中 since 属性大于 5 的两个人节点的姓名和关系的 since 属性。语句用于从查询中返回所需的数据,并根据需要可以返回节点、关系、属性、聚合结果、路径等信息。这个示例返回所有年龄大于 30 岁的人节点的姓名和年龄属性。这个示例返回连接 Alice 和 Bob 之间的最短路径信息。这个示例返回每个人节点的姓名和他们评价过电影的平均评分。语句用于从 Cypher 查询中返回所需的结果。这个示例返回前 5 部电影的标题。原创 2023-08-20 14:41:18 · 563 阅读 · 0 评论 -
Neo4j之FOREACH基础
这个查询的目的是在已经存在的节点 "Bob" 和 "The Matrix" 之间创建多个 "RATED" 关系,每个关系都有一个不同的评分属性。这个查询会找到名为 "Alice" 的节点和名为 "The Matrix" 的电影,并且只在尚不存在 "ACTED_IN" 关系的情况下创建关系。语句过滤出 "Person" 节点的名字为 "Bob",且 "Movie" 节点的标题为 "The Matrix"。语句找到满足条件的 "Person" 节点和 "Movie" 节点。表示一个 "Person" 节点,原创 2023-08-13 22:00:54 · 1008 阅读 · 0 评论 -
Neo4j之REMOVE基础
这个查询会找到具有 "Person" 标签且属性 "name" 为 "Bob" 的节点,并从这些节点中同时删除 "age" 和 "email" 属性。这个查询会找到具有 "Person" 标签且属性 "name" 为 "Alice" 的节点,并从这些节点中删除 "age" 属性。这个查询会找到由 "KNOWS" 关系连接的名为 "Alice" 的节点,并从这些关系中删除 "since" 属性。这个查询会找到年龄大于 40 的所有节点,并从这些节点中删除 "email" 属性。在 Neo4j 中,原创 2023-08-13 21:50:56 · 1376 阅读 · 0 评论 -
Neo4j之DELETE基础
这个查询会找到具有 "Person" 标签且属性 "name" 为 "Alice" 的节点,然后删除该节点以及与之关联的所有关系。这个查询会找到由 "FRIEND" 关系连接的名为 "Alice" 和 "Bob" 的节点组成的模式,然后删除这些关系。这个查询会找到具有 "Person" 标签且属性 "name" 为 "John" 的节点,并删除其 "age" 属性。这个查询会找到年龄大于 60 的所有节点,以及与之关联的所有关系,然后删除这些节点和关系。这个查询会删除图数据库中的所有节点和与之关联的关系。原创 2023-08-13 21:41:29 · 4155 阅读 · 0 评论 -
Neo4j之SET基础
这个查询会找到一个具有 "Person" 标签且属性 "name" 为 "Alice" 的节点,然后将其 "age" 属性更新为 28,将 "city" 属性更新为 'New York'。这个查询会找到一个由具有 "FRIEND" 关系连接的名为 "Alice" 和 "Bob" 的节点组成的模式,然后将该关系的 "status" 属性更新为 'Close'。这个查询会找到一个具有 "Person" 标签且属性 "name" 为 "John" 的节点,然后将其 "age" 属性的值增加 1。原创 2023-08-13 21:32:17 · 1402 阅读 · 0 评论 -
Neo4j之MERGE基础
这个查询会检查是否已经存在一个具有 "Person" 标签且属性 "name" 为 "John" 的节点。这个查询会首先检查是否已经存在两个具有 "Person" 标签的节点,分别为 "Alice" 和 "Bob"。这个查询会检查是否已经存在一个带有 "Movie" 和 "Action" 标签且属性 "title" 为 "The Matrix" 的节点。如果不存在,则创建一个新节点。这个查询会检查是否已经存在一个具有 "Person" 标签且属性 "name" 为 "John" 的节点。原创 2023-08-13 21:13:39 · 1911 阅读 · 0 评论 -
Neo4j之CREATE基础
这个查询会创建一个带有 "Person" 标签的节点和一个带有 "Movie" 标签的节点,然后创建一个带有 "ACTED_IN" 关系和属性 "roles" 的关系将它们连接起来。这个查询会创建一个带有 "Movie" 和 "Action" 标签的节点,节点属性包括 "title" 和 "released"。这个查询会创建一个具有 "Person" 标签的节点,节点属性包括 "name" 和 "age"。这个查询会创建多个带有 "Person" 标签的节点。语句用于创建节点、关系以及节点属性。原创 2023-08-13 20:59:22 · 1197 阅读 · 1 评论 -
Neo4j之Aggregation基础
这个查询会查找所有电影节点的 "released" 属性的最大值和最小值,并将结果分别作为 "maxYear" 和 "minYear" 返回。这个查询会计算所有 "Person" 节点的年龄属性的平均值,并将结果作为 "averageAge" 返回。这个查询会计算具有 "Person" 标签的节点的数量,并将结果作为 "totalPersons" 返回。这个查询会计算所有 "Person" 节点的年龄属性的总和,并将结果作为 "totalAge" 返回。原创 2023-08-13 20:49:58 · 475 阅读 · 0 评论 -
Neo4j之OPTIONAL MATCH基础
有时候你可能想要查找一个节点及其关联的其他节点,但并不是所有节点都有这样的关联。:查找电影 "The Matrix" 的演员,如果电影不存在,则返回 NULL。查找与电影关联的演员。可以查找这些可选的关联数据,即使关联不存在,也能获取相关节点的信息。:查找电影 "The Matrix" 的导演,以及他们可能参演的电影。,即使其中一个模式匹配失败,查询也会继续执行,确保查询的稳定性。,你可以在查询中组合不同的模式,同时保留一些模式的可选性。:查找所有电影及其导演的名字,以及导演参演电影的数量。原创 2023-08-13 09:18:49 · 1280 阅读 · 0 评论 -
Neo4j之where基础
对于MATCH和OPTTNAL MATCH, WHERE为模式增加约束, 它不能看作是匹配完成后的结果过滤。这个查询会返回 Tom Hanks 在 2000 年之后参演过的电影。这个查询会返回在 2000 年到 2010 年之间发布的电影的标题。这个查询会返回姓名中包含 "smith"(不区分大小写)的所有人。这个查询会匹配年龄大于 25 岁的所有人,并返回他们的姓名。这个查询会返回姓名中包含 "John" 的所有人。这个查询会返回那些有年龄属性的人的姓名。这个查询会返回年龄属性为空的人的姓名。原创 2023-08-13 20:38:51 · 704 阅读 · 0 评论 -
Neo4j之MATCH基础
查找和 "Alice" 有关系的人物及其关系,最多深度为 2。:查找电影 "The Matrix" 的导演和演员的名字。:查找 "Alice" 和 "Bob" 共同参演的电影。:查找所有和 "Alice" 有关系的电影节点。:查找所有节点和关系,返回节点的标签和属性。:查找所有名为 "Alice" 的人物节点。:查找 "Alice" 所参演的电影名称。:查找 1990 年之后发行的电影。:查找前 5 部发行年份最晚的电影。:统计电影节点的数量。原创 2023-08-13 09:03:15 · 1211 阅读 · 0 评论 -
使用Load CSV指令导入到Neo4j
【代码】使用Load CSV指令导入到Neo4j。转载 2023-08-12 16:50:28 · 246 阅读 · 0 评论 -
neo4j终端操作
输入’Ctrl+D’或者’:exit’ 都可行,而exit无效;3】启动cypher-shell。4】退出ypher-shell。2】启动、停止neo4j。原创 2023-08-08 10:16:55 · 1572 阅读 · 0 评论 -
neo4j电影库-关系查询
1、先找到Tom Hanks还没有合作过的演员,但Tom Hanks的合作伙伴曾经与其合作过。2、找到一个可以向他的潜在合作者介绍Tom Hanks的人。原创 2023-08-06 20:10:00 · 1074 阅读 · 0 评论 -
neo4j清空数据库
通过MATCH和OPTIONAL MATCH语句,可以找到所有的Person节点和Movie节点,即使它们没有与其他节点相关联,也能够继续执行删除操作,确保所有数据都被清空。通过这个操作,所有的Person节点、Movie节点以及它们之间的关系都会被删除,从而清空整个图数据库。这段代码是用Cypher查询语言编写的,用于清空所有的Person节点、Movie节点以及它们之间的所有关系。这段代码之所以这样写,是为了清空整个图数据库中的所有数据,包括节点和关系,从而回到一个空白的状态。原创 2023-08-06 19:22:50 · 1986 阅读 · 0 评论 -
neo4j入门实例介绍
例如,Keanu Reeves饰演的角色是"Neo",Carrie-Anne Moss饰演的角色是"Trinity",Laurence Fishburne饰演的角色是"Morpheus",Hugo Weaving饰演的角色是"Agent Smith"。这部分代码创建了名为"Keanu"、"Carrie"、"Laurence"和"Hugo"的演员节点,并为每个节点设置了姓名(name)和出生年份(born)属性。通过以上代码,成功构建了一个包含电影、演员和导演之间关系的图数据库。原创 2023-08-06 19:12:00 · 834 阅读 · 0 评论 -
图数据库和知识图谱
它是由一组实体(节点)和它们之间的语义关系(边)组成的知识库。知识图谱旨在捕获现实世界中的事实和知识,并以结构化和语义的方式组织和表示它们。图数据库通过有效地存储和处理图结构,使得对复杂关系型数据的查询和分析更加高效。知识图谱可以在图数据库中表示为一组节点和关系,并且图数据库的强调关系的特性非常适合用于查询和遍历复杂的知识图谱数据。图数据库的核心概念是图(Graph),它由节点(Nodes)和节点之间的关系(Edges)组成。图数据库: 图数据库是一种特殊类型的数据库,用于存储和管理图形数据结构。原创 2023-08-06 15:43:35 · 910 阅读 · 1 评论 -
docker安装neo4j
输入用户名、密码:neo4j,会报错:Neo.ClientError.Security.AuthenticationRateLimit: The client has provided incorrect authentication details too many times in a row.由于我在home目录下创建不了文件夹,后面在其他目录(/Users/xiaokkk/)下创建了neo4j文件夹,接着创建了4个空文件夹:conf data import logs。原创 2023-08-06 14:14:35 · 2288 阅读 · 1 评论