Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在数据库中添加没有数据的关系

在数据库中添加没有数据的关系
EN

Stack Overflow用户
提问于 2015-09-23 08:54:13
回答 3查看 107关注 0票数 1

看来,我不能添加一个关系,除非在一些实体中已经有一些数据遵守这种关系。这是正确的吗?我希望能够首先设置我的关系和标签,然后填充数据,让数据只使用这些关系。

我正在使用:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
MATCH (from:this_label),(to:that_label)
WHERE from.id = to.uuid
CREATE (from)-[:hasARelationship]->(to);

基本上,我希望能够在某个标签的节点上定义一组关系,即使这些节点类型还不存在。然后,当这些节点的一些数据进入数据库时,它将自动连接这些关系。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-09-23 10:55:09

区分执行约束的责任和履行约束的责任可能会有所帮助。

Neo4j允许与标签关联的索引和约束。为标签创建的索引和约束用于索引和约束具有该标签的节点。在2.2.5版中,只有一种类型的约束:单个属性的唯一性约束。曾经有过关于为属性组合和关系添加约束的讨论,但我不知道这些对话的状态。

Neo4j模式约束强制执行某些东西,但它们不会满足于更改数据库上的操作以满足约束的意义。如果存在强制执行具有label A的节点只能在其与带有label B的节点具有R类型关系的情况下创建的约束,则如果该节点不满足该约束,则它们将阻止您的操作,但它们不会满足您的要求。

实现这一目标的最佳方法是:( a)在客户端应用程序中满足这一需求;或( b)为Neo4j创建一个扩展。对于扩展示例,请考虑Stefan的新4j-uuid。它侦听事务(使用所谓的TransactionEventListener),并确保在数据库中创建的任何节点都具有UUID。此扩展满足只能由相应的Neo4j模式约束强制执行的内容(还有其他不同之处,例如,约束将限制在标签的范围内)。

实现您的目的的一种方法可以是创建一个听您写入数据库的内容并满足您的约束的扩展,在必要时更改您的操作;或者在您想要创建具有特定标签的节点时,在服务器中提供一个调用目标(一个RESTful端点)。然后,扩展将创建完成模式所需的节点和其他元素。前者的缺点可能是侦听所有操作的开销,而后者的缺点可能是它中断了您与数据库的交互流程,以引入单独类型的调用(例如,如果您通常执行cypher语句,并且必须暂停发出单独的POST请求并在继续之前解释响应)。

票数 1
EN

Stack Overflow用户

发布于 2015-09-23 09:01:26

如果我对您的理解是正确的,那么您希望使用MERGE而不是MATCH

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
MERGE (from:this_label) -[:hasARelationship]-> (to:that_label) WHERE from.id = to.uuid

如果您试图在没有节点的情况下创建关系,我想这在NEO4J中甚至是不可能的。事实上,这在一般的图表中是不可能的。

票数 1
EN

Stack Overflow用户

发布于 2015-09-23 09:51:19

用连接到虚拟节点的关系预填充DB是没有意义的。其中许多原因是:

  • 您将无法进行任何涉及此类关系的有意义的查询。
  • 稍后尝试用实际数据填充虚拟节点可能是一项复杂的工作。
  • 在需要的时候很容易就建立起关系。neo4j是一个“无模式”DB (除了@jjaderberg提到的定义唯一性约束外)。您可以在任何时候创建任何类型的连接节点与任何标签(或没有标签)的关系。为了使事情组织起来,您可以选择编写DB客户端代码和Cypher查询,以符合您自己的概念“模式”,但是neo4j没有这样的要求。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32745235

复制
相关文章
【Nginx】磁盘文件写入飞地发
文章继续。什么时候Nginx当用户请求一个文件,这将无法读取该文件的内容加载到内存,然后从内存发送,但电话sendfile况下,从内核直接发送出去。这样做显然效率要更高。Nginx也为我们封装好了一系列的接口。以下就来说明怎样发送一个磁盘文件给client。
全栈程序员站长
2022/07/05
9450
【Nginx】磁盘文件写入飞地发
nodejs写入json文件_json文件可以删除吗
哈喽!nodejs的文件系统,接触过node的对node的文件系统肯定不会陌生,这两天我就在思考一个问题,我是否可以在本地操作我的本地json文件,这样一个本地的文本数据库就有了,如果是便签之类,记录的软件,我完全可以不用连后台的数据库,我可以自己操作本地的json文件,自己用node写后台,答案是肯定的,下面我们就一起来实现一下吧,对本地json文件的增、删、改、查
全栈程序员站长
2022/11/04
2.9K0
nodejs写入json文件_json文件可以删除吗
将List<Map>中的datas转换为json格式写入文件
private static boolean writeToTextFileByJson(List<Map<String, Object>> datas, String title, String columns, String fileName, String encode) { final BufferedWriter bw; boolean flag = true; try { boolean hasExists = new File(fileName).exists();
用户3003813
2018/09/06
6.6K0
Python将数据写入txt文件_python将内容写入txt文件
readlines() 会把每一行的数据作为一个元素放在列表中返回,读取所有行的数据
全栈程序员站长
2022/11/11
12.5K0
使用C#将json字符串作为对象存入MongoDB
      今天刚好在工作中碰到一个小问题,并愉快的解决了,权当将其记录下来,供人查阅,首先声明本人是个忠实的微软技术爱好者,主要使用的也是.NET语言。下面进入正题。      今天在向mongodb中导数据的过程中,使用了MongoDB官方的驱动(可以在Nuget中直接安装),然后读取一个json字符串并将其直接写入到mongdb中,就是普通的mongdb操作,本以为不会有什么问题,谁知通过mongovue客户端打开一看,只是存入了一个string类型的对象,mongdb并没有自动解析成Document
魏守峰
2018/04/28
3.2K0
Python:将一个 csv 文件转为 json 文件存储到磁盘
我也不是一次编写完成的,是在不断的试错中一步一步的解决这个问题的,令我印象最深刻的就是这个sort函数的用法,需要传入一个回调函数,这里是以列表元素的最后一个值作为key,我之前在做的时候忘记了题目中已经给了总分,还使用了sum([int(j) for j in x[1:]])这个排序,多此一举。
wsuo
2020/07/30
2.3K0
Python:将一个 csv 文件转为 json 文件存储到磁盘
.net c# json转对象 对象转json
.net和java中操作json不像php那么轻巧方便,之前我使用.net json转对象,需要创建一个json实体类,繁琐至极。
高久峰
2023/07/02
3720
jackson将json转换为json对象
高久峰
2023/07/02
3420
springcloud 返回的数据为XML 而不是JSON
本人的原因是因为引入了jackson-dataformat-xml依赖导致的,下面查看自己项目是否包含此依赖,如果包含的话,可以去掉。 有的人添加了下面注解后可以解决,不过我这里没有解决。还是依靠上图
qubianzhong
2019/04/01
2.3K0
springcloud 返回的数据为XML 而不是JSON
Python对象写入json文件,小括号变中括号咋解决呢?
前几天在Python交流白银群【凡人不烦人】问了一道Python处理的问题,如下图所示。
前端皮皮
2022/08/17
1.3K0
Python对象写入json文件,小括号变中括号咋解决呢?
如何在Node.js中读取和写入JSON对象到文件
本文翻译自How to read and write a JSON object to a file in Node.js
ccf19881030
2020/10/28
22.1K0
Python: 将TXT文件写入MySQ
安装MySQLdb时,报错缺少Visual C++ 9.0。解决方法:下载并安装MySQL-python 1.2.5 . https://pypi.python.org/pypi/MySQL-python/1.2.5
py3study
2020/01/07
2.1K0
.NET Core的日志[4]:将日志写入EventLog
面向Windows的编程人员应该不会对Event Log感到陌生,以至于很多人提到日志,首先想到的就是EventLog。EventLog不仅仅记录了Windows系统自身针对各种事件的日志,我们的应用也可以利用提供的API将日志消息写到EventLog中。与EventLog相关的API都定义在System.Diagnostics.EventLog这个类型中,我们不仅仅可以利用它读取、写入和删除日志,还可以使用它来创建和删除Event Source。.NET Core的日志模型利用EventLogLogger
蒋金楠
2018/01/15
8810
.NET Core的日志[4]:将日志写入EventLog
python 将读取的数据写入txt文件_c中怎样将数据写入txt文件
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/09
6.4K0
19.JAVA-从文件中解析json、并写入Json文件(详解)
json与xml相比, 对数据的描述性比XML较差,但是数据体积小,传递速度更快.
诺谦
2019/12/19
12.2K0
React技巧之将useState作为对象
原文链接:https://bobbyhadz.com/blog/react-type-usestate-object[1]
chuckQu
2022/08/19
9560
将 windows 磁盘作为共享盘挂载到 Linux 上
在 Linux 处理组学数据,硬盘真是经不起消耗的东西。而本地办公的电脑主要以开浏览器、看文献、交流、做PPT等为主,除了C盘小的时候容易炸,其他磁盘使用量很少。所以我最近遇到了工作站没法装大点的测序数据,但 PC 却有好几个盘上 T 的空闲。这篇文章就简单做个笔记,记录下如何将 Windows 的磁盘共享给 Linux 存数据使用。
王诗翔呀
2023/02/28
4.9K0
将 windows 磁盘作为共享盘挂载到 Linux 上
.NET性能优化-使用内存+磁盘混合缓存
其实这个问题比较简单的是吧?Redis 其实属于网络存储,我对照下面的这个表格,可以很容易的得出结论,既然网络存储的速度慢,那我们就可以使用内存 RAM 存储,把放 Redis 里面的数据给放内存里面就好了。
InCerry
2023/03/08
4240
.NET性能优化-使用内存+磁盘混合缓存
python将print输出结果写入文件
重定向标准输出流有两种方式,既可以在每个print方法中进行重定向,如下所示:
种花家的奋斗兔
2020/11/13
10.9K0
点击加载更多

相似问题

将浮动导航元素保持在一条线上

12

将光标位置保持在textView Swift的底线上

124

如何将标识与导航条对齐?

18

如何将文本保持在与图标相同的行中?

13

无法将CSS箭头保持在与标题相同的行中

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文