postgresql 在AGE中创建顶点和边的选项有哪些?

pdtvr36n  于 2023-04-11  发布在  PostgreSQL
关注(0)|答案(6)|浏览(156)

我知道在APACHE AGE中有几种方法来创建顶点和边。除了create子句,还有什么其他的方法?
在AGE中创建顶点和边的多种方法

vsaztqbk

vsaztqbk1#

您可以使用复制命令将数据加载到图形中。复制命令可用于通过指定数据格式创建顶点和边。还可以尝试探索MERGE子句,如果某个条件为真,则可用于创建边/顶点。

MERGE (p:Person {name: 'abcd'})
ON CREATE SET p.age = 30, p.email = 'abc@abc.com'
RETURN p

这将检查一个名为'abcd'的顶点Person是否已经存在,如果不存在,则创建一个新的。

ncgqoxb0

ncgqoxb02#

你也可以通过从csv文件中加载数据来创建顶点和边。在apacheAGE docs中,它详细解释了如何从csv文件中加载图形,顶点和边,以及csv文件的格式应该是什么。

e0uiprwp

e0uiprwp3#

如果顶点存在,可以使用MATCH子句在现有顶点之间创建边。该子句可用于查找满足指定条件的现有顶点,然后在它们之间创建边。

s1ag04yj

s1ag04yj4#

在AGE中创建顶点和边的另一种方法是使用MERGE子句。如果不存在,它可以用于创建新的顶点或边,或者如果存在,则更新现有的顶点或边。下面是使用MERGE创建新用户顶点的示例:

SELECT *
FROM cypher('graph_name', $$
    MERGE(:User{name:"user"})
$$) AS (result agtype)
jyztefdp

jyztefdp5#

在Apache时代,有几种创建顶点和边的方法。
首先你可以使用load子句从csv文件中加载数据。
LOAD CSV FROM 'data.csv' AS row CREATE(:USER {name:row[0],age:row[1]})
第二,你可以使用合并:MERGE(:USER {name:'name',age:20})
第三,使用SET:MATCH(p:USER {name:'name' })SET p.age = 33

vngu2lb8

vngu2lb86#

在Apache AGE中有几种方法可以创建顶点和边。下面是其中的一些:

1.导入CSV文件:

您可以使用load_labels_from_fileload_edges_from_file命令从CSV文件加载数据并创建顶点和边。请参阅官方Apache Age documentation了解更多信息。

2.使用UNWIND:

可以使用UNWIND命令从列表或数组中一次创建多个顶点或边。下面是一个示例:

SELECT * FROM cypher('graph_name', $$ 
UNWIND ['Alice', 'Bob', 'Charlie'] AS name
CREATE (:Person {fname: name})
$$) as (fname agtype);

3.使用Merge子句:

如果顶点或边不存在,则可以使用MERGE命令创建它们。如果匹配的顶点或边已经存在,则将使用新属性更新它。添加到前面的示例中,以下是如何使用merge:

SELECT * FROM cypher('graph_name', $$ 
MERGE (:Person {fname: 'Bella'})
$$) as (fname agtype);

相关问题