Star

2个不同的实体共用一个vid?

nebula-java案例里面:

怎么理解 不同的实体共用一个vid?

执行:
INSERT EDGE select(grade) VALUES 101 -> 101:(5);
INSERT EDGE like(likeness) VALUES 101 -> 101:(92.5);

db_dump工具查看节点信息:
image

再问一个问题 db_dump 输出的key是什么意思?
machine1上
image

machine2上
image

machine3上
image

比如一个 person的 节点, 这个节点 有个tag是工程师类型,有技能和工龄等属性, 还有一个tag是运动员类型,有运动类别,排名等属性,


从这里 的key和 db_dump的 [vertex] key: 2, 101, course value: Math, 3, 不是同一个吧?

实体的唯一标识是vid 但是可关联多个tag?

实体的唯一标识是vid 但是可关联多个tag?

是的,一个vertex 可以绑定多个tag

可以这样理解哈:
点代表现实中的实体,VID是它的唯一标识,而tag其实就是点的类型。
现实中一个人可以同时是一个工程师、健身爱好者、父亲/母亲、儿子/女儿,等等。当把这个人的信息抽象为Nebula Graph中的一个vertex,这些现实中的角色都可以是这个vertex的tag。

如果想给一个vertex打上不同的tag,可以用INSERT语句。

1赞

@Amber 看看有没有必要记录一下 我之前以为tag就是实体
这个在数据模型文档里面有解释过

@Amber 看看有没有必要记录一下 我之前以为tag就是实体
这个在数据模型文档里面有解释过

数据模型 - Nebula Graph Database 手册

是不是直接给这个解释的页面链接更友好?我猜测 @xrfinbj 应该是在文档里没有找到这个解释,才在这里 at 你建议要加在文档里的,但是你给个文档的首页链接,他应该还是找不到

@Amber @jamieliu1023 是的 有疑问的地方 肯定可以做的更好

结合我的疑问 这个地方描述其实可以更好

其实这个文档的地方 可以把同一个vid 不同的tag加上 可能好些

1赞

@Amber 多姿多才的文档小姐姐,如何?

对,可以这样理解。

实体=唯一的个体、具体的元素,比如人。其vid也是唯一的,类似每个人的身份证号
tag=属性,是通用于不通实体的信息。比如身份证上的姓名、性别、出生日期。不具备vid。

一个实体可以根据需求添加多种属性。

今天有同事还有类似的问题 我给它了这篇帖子
@min.wu
我之前看文档 都没有案例 一个vid 对应多个tag的案例 nGQL

1赞

一个vid,两个tag ?


我粗略看了一下手册,也许可以给一个例子,避免歧义。
create tag tag1
create tag tag2
insert vertex tag1
insert vertex tag2

2赞

vid 是实体 tag是角色 实体下面有多个角色 这个认知 一定要强调 不然还会有人踩坑 (实体之间的链接 不是tag之间的链接)

1赞

浙ICP备20010487号