我可以为同一标签的两个不同节点中的相同值定义不同的属性吗?
Can I define different attributes for the same values in two different nodes for the same label?
我想将来自两个不同关系数据库的数据整合到一个标记为 属性 的图表中。
数据库具有不同的数据结构,例如:
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
是否可以将来自两个数据库的数据整合到 属性 图表中,就像描述的那样?
是的,这是可能的。 Neo4j 对节点之间可以使用哪些属性没有限制,因此同一标签 (:Person) 的节点可以具有完全不同的 属性 键。
您当然希望在某个时间点对此进行协调,以便您可以通过某种常用方式查询数据。
同时您可以使用 coalesce() 等函数来帮助您处理不同的数据。例如,如果你想显示所有 :Person 节点的名称,并且它们是这两种不同的格式,你可以这样查询:
MATCH (p:Person)
RETURN coalesce(p.Name, p.`First Name` + ' ' p.`Last Name`) as name
函数遇到的第一个非空值将被使用,因此如果 Name
属性 存在,它将被使用,否则它将尝试将名字和姓氏连接起来属性。
我想将来自两个不同关系数据库的数据整合到一个标记为 属性 的图表中。 数据库具有不同的数据结构,例如:
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
是否可以将来自两个数据库的数据整合到 属性 图表中,就像描述的那样?
是的,这是可能的。 Neo4j 对节点之间可以使用哪些属性没有限制,因此同一标签 (:Person) 的节点可以具有完全不同的 属性 键。
您当然希望在某个时间点对此进行协调,以便您可以通过某种常用方式查询数据。
同时您可以使用 coalesce() 等函数来帮助您处理不同的数据。例如,如果你想显示所有 :Person 节点的名称,并且它们是这两种不同的格式,你可以这样查询:
MATCH (p:Person)
RETURN coalesce(p.Name, p.`First Name` + ' ' p.`Last Name`) as name
函数遇到的第一个非空值将被使用,因此如果 Name
属性 存在,它将被使用,否则它将尝试将名字和姓氏连接起来属性。