图数据库新手Q-如何决定2个节点之间关系的方向

2024-01-08

你如何决定关系的动词方向?

例如,我有一个国家属于子区域,而子区域又属于区域。 哪一个更好?在决定方向方面有什么经验法则吗?

(地区)-[HAS]->(子区域)-[HAS]->(国家/地区)

or

(区域)

问候 桑


我同意@InverFalcon 的观点,即方向性主要是一个主观决定。但是,可能(至少)在一种情况下您可能想要使用特定方向,特别是如果这将使重要用例更快的话。

这与以下事实有关:通常,如果您可以制作 Cypher 图案不太具体(不影响输出),那么neo4j将需要做更少的工作,并且你的查询会更快。

例如,假设您的整个数据模型由 2 个节点标签和 2 个关系类型组成,如下所示。 (我使用我自己的数据模型,因为我不知道你的用例是什么。)

(:Person)-[:ACTED_IN]->(:Movie)
(:Person)-[:DIRECTED]->(:Movie)

为了查找演员出演的电影,您的查询必须类似于以下内容。 (请注意,我们必须指定ACTED_IN类型,因为传出关系也可以是类型DIRECTED。这意味着 neo4j 必须显式测试其类型的每个传出关系):

MATCH (:Person {id: 123})-[:ACTED_IN]->(m:Movie)
RETURN m;

但是,如果您的数据模型替换了DIRECTED键入DIRECTED_BY输入具有相反方向性的类型,那么它看起来像这样:

(:Person)-[:ACTED_IN]->(:Movie)
(:Person)<-[:DIRECTED_BY]-(:Movie)

通过这种调整,您的查询可以更简单、更快(因为 neo4j 不必测试关系类型):

MATCH (:Person {id: 123})-->(m:Movie)
RETURN m;

为了完整起见,请注意上面 2 中MATCH我们实际上可以删除的模式:Movie标签,因为在这两个数据模型中ACTED_IN端节点总是有Movie label.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

图数据库新手Q-如何决定2个节点之间关系的方向 的相关文章

  • 使用 POJO 仅更新 JOOQ 记录中已更改的字段

    我想使用 POJO 作为源来更新 JOOQ 记录中已更改的字段 Record from Object http www jooq org javadoc 3 8 x org jooq Record html from java lang O
  • 如何列出表中的所有列?

    对于各种流行的数据库系统 如何列出表中的所有列 对于 MySQL 请使用 DESCRIBE name of table 只要您使用 SQL Plus 或 Oracle 的 SQL Developer 这也适用于 Oracle
  • python 没有名为serial的模块

    我的 python 程序有问题 我编写了程序来将数据 温度 从 arduino 获取到我的树莓派 sqlite 数据库 但它在第 4 行 导入串行 处给了我一个错误 提示 ImportError 没有名为串行的模块 我使用 python3
  • 非加密用途的最快哈希值?

    我本质上是在准备要放入数据库的短语 它们可能格式错误 所以我想存储它们的简短散列 我将简单地比较它们是否存在 所以散列是理想的 我假设 MD5 在处理 100 000 个请求时相当慢 所以我想知道散列短语的最佳方法是什么 也许推出我自己的散
  • 使用python shelve跨平台

    我希望得到关于 Python 中的书架 数据库的一些建议 问题 我在 Mac 上创建了一个数据库 我想在 Windows 7 上使用该数据库 我使用 Python 3 2 MacOS 10 7 和 win 7 当我在 Mac 上打开并保存我
  • 显示包含特定表的所有数据库名称

    我的 SQL Server 中有很多数据库 我必须只搜索包含特定表名的数据库名称Heartbitmaster 我有很多数据库 例如Gotgold DVD等 我只想从包含此表的查询中查找数据库名称Heartbitmaster 我搜索我尝试查询
  • Neo4j - 根据关系属性查找两个节点之间的最短路径

    我试图弄清楚是否有某种方法可以根据关系总和获得两个节点之间的最短距离 给出以下示例 neo4j 图像示例 https i stack imgur com fiJe1 png 上图代码 CREATE some point 1 Point ti
  • 如何从 Neo4j 服务器插件登录?

    我正在尝试调试我正在编写的 Neo4J 服务器插件中的问题 有可以输出的日志吗 在哪里或如何执行此操作并不明显 好问题 我想你可以使用 Java 日志记录吗 这应该被路由到正常的日志系统中
  • 具有多个主键的 SQLAlchemy 不会自动设置任何

    我有一个简单的表 class test Base tablename test id Column Integer primary key True title Column String def init self title self
  • 如何将彼此“接近”的纬度/经度点分组?

    我有一个用户提交的纬度 经度点的数据库 并且正在尝试将 接近 点分组在一起 接近 是相对的 但目前看来约为 500 英尺 起初 我似乎只能按前 3 个小数位具有相同纬度 经度的行进行分组 大约是一个 300x300 的盒子 了解当您远离赤道
  • SQL Server 批量插入 - “批量加载数据转换错误”

    bulk insert dbo A FROM d AData csv WITH FIELDTERMINATOR ROWTERMINATOR n 将批量数据插入数据库时 在检查可疑数据后 我遇到了无法解释的错误 消息 4867 16 级 状态
  • 打印表数据mysql php

    我在尝试打印表格的一些数据时遇到问题 我是 php mysql 的新手 但我认为我的代码是正确的 这里是 h1 Lista de usu rios h1
  • 通过 SQLAlchemy 获取随机行

    如何使用 SQLAlchemy 从表中选择一个或多个随机行 这在很大程度上是一个特定于数据库的问题 我知道 PostgreSQL SQLite MySQL 和 Oracle 具有通过随机函数排序的能力 因此您可以在 SQLAlchemy 中
  • 找到一条穿过任意节点序列的最短路径?

    In 这个先前的问题 https stackoverflow com questions 7314333 find shortest path from vertex u to v passing through a vertex wOP询
  • 自动删除主键序列中的间隙

    我正在创建一个网页 该网页根据用户操作将数据存储到 MySQL 数据库中 数据库有很多行 行的主键是列 rowID 它只是按顺序对行进行编号 例如 1 2 3 4 用户可以选择删除行 问题是当用户删除最后一行以外的行时 rowID 中有一个
  • sqlite3从打印数据中删除括号

    我创建了一个脚本 用于查找数据库第一行中的最后一个值 import sqlite3 global SerialNum conn sqlite3 connect MyFirstDB db conn text factory str c con
  • java库维护数据库结构

    我的应用程序一直在开发 所以偶尔 当版本升级时 需要创建 更改 删除一些表 修改一些数据等 通常需要执行一些sql代码 是否有一个 Java 库可用于使我的数据库结构保持最新 通过分析类似 db structure version 信息并执
  • 数据聚合和缓存:如何按时间间隔快速绘制大型时间序列数据集的图表

    我有一个巨大的时间序列数据集 我想绘制图表 时间序列可以追溯到 5 年前 从后端的角度来看 以各种分辨率 间隔 显示这些数据的常用方法是什么 本质上我想绘制这样的数据图表 https bitcoinwisdom com markets bi
  • 什么是“数据库实体”以及哪些类型的 DBMS 项目被视为实体? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 从对象定义生成数据库表

    我知道有几种 自动 方法可以创建数据访问层来操作现有数据库 LINQ to SQL Hibernate 等 但我有点厌倦了 我相信应该有更好的做事方式 比如 在 Visio 中创建 更改表 使用 Visio 的 更新数据库 创建 更改数据库

随机推荐

  • ASP.NET MVC - 简单面包屑(站点地图)

    我开发了一个 ASP NET MVC 2 应用程序 我想在每个页面中放置一个简单的面包屑 站点地图 如下所示 首页 gt 电影 gt 详情 它等于 URL http localhost home movies details http lo
  • 带有页眉、页脚和正文的简单 div

    我需要一个简单的div with header footer and body content The header and footer需要是fixed和heightdiv 的应该是250px or max 500px和它的width i
  • 从标准输入 C++ 读取数百万个整数的最快方法?

    我正在开发一个排序项目 现在主要瓶颈是读取数据 我的程序需要大约 20 秒才能对从 stdin 读取的 100 000 000 个整数进行排序cin and std ios sync with stdio false 但事实证明 其中 10
  • jquery 事件在附加后不起作用

    http jsfiddle net YsnhT 2 http jsfiddle net YsnhT 2 Jquery 事件在追加后不起作用 单击 保存 按钮后 我需要文本区域的值 span8 on click btn function va
  • 调用生成的 Serializer() 方法时收到 NoClassDefFoundError

    我得到了NoClassDefFoundError当尝试调用Foo serializer 上的方法 Serializable class 这是我的测试用例 Serializable data class Foo val data String
  • XMLHttpRequest 基本身份验证失败

    知道为什么吗XMLHttpRequest具有正确的凭据Pebble JS Framework http developer getpebble com 2 guides javascript guide html在 Android 上无法进
  • 铁路搜索表

    我正在创建一个跟踪用户和成就的应用程序 例如 xbox live 等 这些表通过连接表链接 我希望在我的索引上有一个搜索表单 让用户输入用户名 然后加载一个新页面 其中包含用户已获得的所有成就的列表 我不完全确定如何在索引上设置此搜索表单
  • 你能在Sqlite3(使用Django)中实现不区分大小写的“唯一”约束吗?

    假设我正在使用 Python 2 5 的内置默认 sqlite3 并且我有一个包含以下代码的 Django 模型类 class SomeEntity models Model some field models CharField max
  • 动态构建 SQL 查询(postgres 和 javascript)

    我有一个 javascript 函数需要返回产品列表 它使用 postgres 来检索产品列表 该函数传递一个categoryId和一个可选的typeId 所以我需要基于这些构建一个 SQL 查询 当然我可以做这样的事情 async fun
  • 具有多个 bert 输入的 SMOTE

    我正在使用 Keras 和 Bert HuggingFace 构建多类文本分类模型 但我有一个非常不平衡的数据集 我使用了 Sklearn 中的 SMOTE 来为欠平衡类生成额外的样本 我总共有 45 个 当我使用 Bert Tokeniz
  • 如何使用 matplotlib 制作“更完整”的轴箭头

    我有以下代码 from mpl toolkits axes grid axislines import SubplotZero from matplotlib transforms import BlendedGenericTransfor
  • 使用 Maven 时更改 Eclipse 中 Android R.java 的输出文件夹

    我有一个使用 maven android 插件的 android 项目设置 该插件遵循 Maven 输出文件夹的位置R java文件 即target generated sources r 但是 当在 Eclipse 中使用这个项目时 我无
  • Cppcheck 内联抑制不起作用

    示例代码 class Foo cppcheck suppress noExplicitConstructor Foo int foo Cpp检查调用 cppcheck exe enable all foo cpp Checking foo
  • 如何在 T-SQL 调试时查看表变量的值?

    在调试期间 我们能否在 SQL Server Management Studio SSMS 中查看表值变量中的值 行和单元格 如果是 怎么办 DECLARE v XML SELECT FROM
  • 本地使用 Cognito [离线]

    我有一种感觉 这是一个菜鸟问题 有没有办法在本地模拟 Cognito 用户池的使用 如此离线 我有一种感觉 在开发时诉诸 aws cognito 普通用户池是没有必要的 我现在知道无服务器有一个可以离线使用的插件 但没有找到用于 cogni
  • 在模拟中控制内存分配/GC?

    我在弄清楚如何减少运行在模拟中的内存使用和 GC 时间时遇到了一些麻烦State单子 目前我必须运行编译后的代码 RTS K100M为了避免堆栈空间溢出 GC 统计数据非常可怕 见下文 以下是相关代码片段 完整的工作 GHC 7 4 1 代
  • 整数是如何在底层转换为字符串的?

    我想真正的问题是如何将 base2 binary 转换为 base10 最常见的应用可能是创建输出字符串 将二进制数字数据块转换为字符数组 这具体是如何完成的 我猜 鉴于可能没有为每个数值预定义一个字符串 我猜测计算机从右到左遍历整数的每一
  • arc4random 和 % 运算符

    我对 Objective C 中的 arc4random 函数有疑问 我在网上看到的例子中有一个 函数调用后的符号 我想 作为模运算符 该符号在之后使用时是否有其他含义arc4random 它是如何工作的 没有什么特殊意义 之后应用模数ar
  • C#中如何判断数字是否可被整除?

    我需要知道如何执行此程序 calculation1 1 4 0 25 calculation2 1 8 0 125 calculation3 47 183 0 25683060109289617486338797814207 calcula
  • 图数据库新手Q-如何决定2个节点之间关系的方向

    你如何决定关系的动词方向 例如 我有一个国家属于子区域 而子区域又属于区域 哪一个更好 在决定方向方面有什么经验法则吗 地区 HAS gt 子区域 HAS gt 国家 地区 or 区域 问候 桑 我同意 InverFalcon 的观点 即方