在 orientdb 上表示多语言数据库的最佳方式

Best way to represent multilingual database on orientdb

我有一个 MySQL 数据库来支持多语言网站,其中数据表示如下:

表1

id
is_active
created

table1_lang

table1_id
name
surname
address

在图形数据库上实现相同目标的最佳方法是什么? 创建两个类,然后定义它们之间的关系,这样对吗?

是的。你可以有这样的东西:

create class Table1 extends V
create property Table1.isActive boolean
create property Table1.created datetime

create class Table1Lang extends V
create property Table1Lang.name string
create property Table1Lang.surname string
create property Table1Lang.address string

create class Relation extends E


create vertex Table1 set isActive = true, created = sysdate()
// returns #12:0
create vertex Table1Lang set name = 'name', surname = 'surname', address = 'address'
// returns #13:0

create edge Relation from #12:0 to #13:0

正如您所看到的,我已经从两个表中删除了 ID 并改用记录 ID。如果性能对您很重要,您也应该这样做。

如果,例如,您想要来自 Table1Lang 的记录与来自 表1,你可以:

select expand(out('Relation')) from #12:0
// returns #13:0