0

我想将来自两个不同关系数据库的数据集成到一个带标签的属性图中。数据库具有不同的数据结构,例如:

System a:
First Name: Barack
Last Name: Obama

System b:
Name: Donald Trump

Defined Labels:
    :Person
    :SystemA
    :SystemB

具有以下属性的已定义节点LabeledPropertyGraph

:Person :SystemA
First Name: Barack
Last Name: Obama

:Person :SystemB
Name: Donald Trump

是否可以像描述的那样将来自两个数据库的数据集成到属性图中?

4

1 回答 1

0

是的,这是可能的。Neo4j 对节点之间可以使用哪些属性没有限制,因此相同标签(:Person)的节点可以具有完全不同的属性键。

您当然会希望在某个时间点对此进行协调,以便您可以以某种常见的方式查询数据。

同时,您可以使用诸如coalesce()之类的函数来帮助您处理不同的数据。例如,如果您想显示所有 :Person 节点的名称,并且它们采用这两种不同的格式,您可以查询如下:

MATCH (p:Person)
RETURN coalesce(p.Name, p.`First Name` + ' ' p.`Last Name`) as name

函数遇到的第一个非空值将被使用,因此如果Name属性存在,它将被使用,否则它将尝试将名字和姓氏属性进行字符串连接。

于 2019-01-23T08:00:50.893 回答