i_u*_*net 3 amazon-web-services gremlin tinkerpop amazon-neptune
我正在做一个小的 POC 项目,我想使用亚马逊的海王星图来表示一个村庄的道路网络。
我有我打算在这个图中用作顶点的交叉点,以及街道作为边缘。一个简单的表示是:
Intersection {
id: 1089238983,
name: 'Madrid & 99th'
labels: ['has_pedestrian_signals', 'four_way_intersection']
}
Street {
id: 9808787868,
name: 'Madrid St'
from_int_id: 1089238983,
to_int_id: 1089238973,
labels: ['has_hospital_on_street', 'is_snow_route', 'is_one_way_street']
}
Run Code Online (Sandbox Code Playgroud)
问题是AWS 的文档指出 Edges 只能有 1 个标签。
我希望能够最终根据边的属性执行遍历。我曾尝试寻找将更多数据合并到 Tinkerpop 图表中的方法,但没有发现任何有用的信息。
如果有任何建议,我将不胜感激。
Gremlin 确实像顶点属性一样支持边缘属性。 http://tinkerpop.apache.org/docs/3.4.6/reference/#addge-step
// define 'a' and 'b' vertices
g.addE('friendlyCollaborator').from('a').to('b').
property(id,23).property('project',select('c').values('name'))
Run Code Online (Sandbox Code Playgroud)
唯一的标注是与仅读取边缘标签相比,获取边缘属性是一个额外的跳跃。
例如:
g.V(1).outE('knows') -> Gets the matching out edge in 2 hops.
g.V(1).outE().hasProperty('knows') -> An added hop to get to your edge.
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
328 次 |
| 最近记录: |