OrientDB:是否可以动态地将 add/set 字段添加到现有的 class?

OrientDB: is it possible to add/set fields to an existing class on the fly?

这里是 OrientDB 初学者!

我正在设置一个图表来模拟社交网络。我已经开始创建一个新的 class 人,并且我有几个要输入的人的档案。

但我的问题是并非所有字段都始终存在。我要输入的第一个人有 FirstName 和 FamilyName。第二个条目有那两个而且还有年龄。

但是当我运行

select from Person

我的结果窗格只显示我的两条记录的 FirstName 和 FamilyName。我的假设是我会看到所有三列 FirstName、FamilyName 和 Age,其中 Age 对于第一个条目为空。

所以我假设不接受即时添加新的 "field" 或 属性。

考虑到我在开始之前不知道所有可能的字段(无架构)

,那么动态添加额外内容的最佳做法是什么 属性

如果您首先执行以下语句:

create class Person extends V
create vertex Person set FirstName = "Jon", FamilyName = "Doe"
create vertex Person set FirstName = "Johanna", FamilyName = "Doe", Age = 30

然后执行select,输出将是这样的:

orientdb {db=DoctorDB}> select * from Person


+----+-----+------+---------+----------+----+
|#   |@RID |@CLASS|FirstName|FamilyName|Age |
+----+-----+------+---------+----------+----+
|0   |#91:0|Person|Jon      |Doe       |    |
|1   |#92:0|Person|Johanna  |Doe       |30  |
+----+-----+------+---------+----------+----+ 

然后:

update #92:0 set Sex = "Female"

现在 select 输出:

orientdb {db=DoctorDB}> select * from Person

+----+-----+------+---------+----------+----+------+
|#   |@RID |@CLASS|FirstName|FamilyName|Age |Sex   |
+----+-----+------+---------+----------+----+------+
|0   |#91:0|Person|Jon      |Doe       |    |      |
|1   |#92:0|Person|Johanna  |Doe       |30  |Female|
+----+-----+------+---------+----------+----+------+