agens-graph - 如何避免 AgensGraph 上的重复顶点节点?
问题描述
我想在两个顶点上创建边缘。
agens=# create (:v1{id:1}), (:v1{id:2});
GRAPH WRITE (INSERT VERTEX 2, INSERT EDGE 0)
agens=# create (:v1{id:1})-[:e1{id:3}]->(:v1{id:2});
GRAPH WRITE (INSERT VERTEX 2, INSERT EDGE 1)
agens=# match (n:v1) return n;
n
------------------
v1[3.1]{"id": 1}
v1[3.2]{"id": 2}
v1[3.3]{"id": 1}
v1[3.4]{"id": 2}
(4 rows)
但是,上面有重复的顶点。
如何避免 AgensGraph 上的重复顶点节点?
解决方案
首先,使用 match 找到顶点
之后,使用找到的顶点添加边。
agens=# create (:v1{id:1}), (:v1{id:2});
GRAPH WRITE (INSERT VERTEX 2, INSERT EDGE 0)
agens=# match (n1:v1{id:1}), (n2:v1{id:2}) create (n1)-[:e1{id:3}]->(n2);
GRAPH WRITE (INSERT VERTEX 0, INSERT EDGE 1)
agens=# match (n:v1) return n;
n
------------------
v1[3.1]{"id": 1}
v1[3.2]{"id": 2}
(2 rows)
推荐阅读
- c++ - 为什么填充也放在聚合类型的末尾,而不仅仅是成员之间?
- python - 字符串地址
- reactjs - 呈现嵌套 JSON 数据的集合
- android - 在 Flutter/Android 上防止启动屏幕变黑
- arcgis - 是否可以在 ArcGIS Pro 中一次划分多个要素?
- javascript - 猫鼬将值添加到数组
- reactjs - 在 React Native 创建的 dom 元素中显示 id 或 name 属性
- r - 如何将“19”填充到字符串
- windows - Windows Docker Image 在 Azure 上不断挂起(网络应用程序)
- c++ - 使用不同方法计算函数时的不同结果 y = f(x)