JanusGraph的数据模型

JanusGraph的schema主要是由edge label(边),vertex label(顶点)和property key(属性的键)组成。edge label和vertex label可以拥有多个property。edge label的property的cardinality属性只能是SINGLE。

JanusGraph支持显式和隐式定义。官方建议显式定义schema,可以提供协同开发效率。edge label,vertex label,property一经定义是不能修改和删除的(但提供了修改名称的方法),主要是为了保证模型的稳定性。

一、定义Edge Label

Edge(边),定义两个顶点间的关系,edge label的名称在一个图中必须是唯一的。JanusGraph提供一个builder方法创建edge label,这个builder还提供了一个方法定义边的多重性(mulitiplicit)。边标签的多重性定义了该标签的所有边上的多重性约束,即顶点对之间的最大边数。

1. 边标签的多重性

MULIT: 允许多条相同标签的边在两个顶点之间,即多重图,边的多重性没有约束。

SIMPLE: 只允许给定的标签在顶点对之间是唯一的。

MANY2ONE:在一个图中,允许给定的标签在任意顶点上只有一条传出边(outgoing edge),而不对传入边(incoming edge)施加限制。举例,父子关系,儿子只有一个父亲,而父亲有多个儿子。

ONE2MANY:与MANY2ONE相反,允许给定的标签在任意顶点上只有一条传入边(incoming edge

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值