我正在我的图形知识库中为不同的人定义一个模式。当然,人的实体在其属性星座中是独一无二的。然而,假设理论上我们会有两个同名("John“)的人,其他的东西都一样,年龄、出生地等等。如果我不插入一个人的身份证,TypeDB会把他们当作同一个人吗?我试图了解TypeDB如何在其数据结构中区分不同的实体。例如,如果两个只是在一个属性上不同的人,那么TypeDB会有两个不同的John实例吗?
发布于 2022-03-16 14:31:55
你会得到两个无名氏的例子。这很容易验证;TypeDB中的每个实体都有一个内部标识符(称为iid)。如果您打开控制台并执行此insert语句(假设为兼容的模式)两次,您将得到两个具有不同iid的实体:
insert $p isa person, has first_name "John";
结果:
db-name::data::write*> insert $p isa person, has first_name "John";
{ $p iid 0x826e80097ffffffffffffffd isa person; $_0 "John" isa first_name; }
answers: 1, total (with concept details) duration: 12 ms
db-name::data::write*> insert $p isa person, has first_name "John";
{ $p iid 0x826e80097ffffffffffffffc isa person; $_0 "John" isa first_name; }
answers: 1, total (with concept details) duration: 8 ms
https://stackoverflow.com/questions/71436349
复制相似问题