当前位置: 首页 > 知识库问答 >
问题:

在Spring中从Json构建Neo4J图

郎飞航
2023-03-14

我想知道使用Spring从json在Neo4j中创建图形的最佳方法是什么。想象一下,我有一个简单的NodeEntity人:

@NodeEntity public class Person {
  private Set<Person> friends;
}

我想通过json对象建立人与人之间的友谊图,如:

{
  persons: [
    {name:"Fritz", friend:["Hans"]},
    {name:"Hans", friends:["Fritz", "Georg"]},
    {name:"Georg", friends:["Hans"]}
  ]
}

我可以使用SpringDataRESTAPI将json直接反序列化到节点实体和关系吗?

共有1个答案

蓝侯林
2023-03-14

好问题,过去我只尝试为单个实体而不是有关系的实体编写SD-REST。

我可能会编写自己的rest控制器,并将JSON转换为正确的对象。

您还可以直接使用Cypher,并将json根作为参数json传递给Cypher。

UNWIND {json}.persons as person
// MERGE = get-or-create
MERGE (p:Person {name:person.name})
UNWIND person.friends as friend
// because the friend can come earlier as friend than as a person
MERGE (f:Person {name:friend.name})
// merge on relationship to make sure it only exists once, no matter the direction
MERGE (p)-[:KNOWS]-(f)

此查询可以是SDN存储库的一部分,也可以通过Neo4jTemplate或-Session调用

在SDN4中,您可以使用直接从域对象创建的。

 类似资料:
  • 问题内容: 我正在尝试使用Python将JSON文本转换为标准数据表,但是对此我缺乏经验,当我在线搜索解决方案时,发现我很难实现任何解决方案。 我正在尝试使用,但一直收到我无法解决的错误。 引发ValueError(’格式错误的节点或字符串:’+ repr(node)) JSON: 所需的表格格式(已调整值以适合显示目的): 任何直接的帮助,或只是很好的资源来学习这一点,将不胜感激。我很难找到可以

  • 我正在处理非常长的嵌套JSON文件中的数据。问题是,这些文件的结构并不总是相同的,因为有些文件缺少其他文件的列。我想从一个包含所有列的空JSON文件创建一个定制模式。如果我稍后将JSON文件读入这个预定义的模式,不存在的列将被空值填充(至少计划是这样的)。到目前为止我所做的: 将测试 JSON(不包含预期的所有列)加载到数据帧中 将其架构写入 JSON 文件 在文本编辑器中打开此 JSON 文件并

  • 我正在尝试将单个csv加载到Neo4j DB中。我遵循了这个指导方针,但仍然不明白为什么对我不起作用。 列,instaGramId,imageDateCreated,imageTagCount,imageFilter,googleLabel_list 0,116 5524631240624607_638926073,1453161384,7,Normal,“[卡通,漫画,艺术品]” ... 我遵循

  • 问题内容: 我想我需要反射包才能做到这一点。说我有一个像这样的结构: 说我想生成ResolutionValue结构的JSON表示…是否有某种方法可以创建不实例化的JSON表示? 问题答案: 即使使用反射,也需要使用实际值来获取类型。因此,我建议您只使用类型的零值。

  • 是否可以在单个cypher查询中返回特定路径的不同节点和边缘。例如,使用电影图,下面的查询分别返回电影和演员,我想一起返回所有节点。使用path p=(...)和节点(p)实际上返回成对的节点,而不管使用不同的。 match(m:Movie { name:" Rain " })-(p:Person)return { nodes:collect(distinct { name:m . title }

  • 问题内容: 我有正在使用nodeJS读取的csv文件。我在阅读之前将每个文件转换为文本。 文件中的每一行都有以’=’分隔的数据。 每行看起来像 “ =“之前的第一部分代表我应用程序中json对象的索引。我的目的是解析此数据并为其构建json表示,以便上面的行成为 使用javascript / node js; 如何将应该表示嵌套JSON键序列的字符串转换为上述json对象? 问题答案: 您可以分割