2

我正在使用 Titan 和 Blueprint API 创建一个图形数据表。我使用 HBase 作为后端。我知道如何为关键索引定义数据类型。

例子:

TitanKey name = graph.makeType().name("name").dataType(String.class).functional().makePropertyKey();

现在我实际上想在 Titan DB Graph 中表示一个 RDBMS 表。是否有任何过程可以在 Titan Graph Model 中实现“列数据类型”(如在 RDBMS 表中)?

4

1 回答 1

4

与关系数据库不同,Titan 的模式是灵活的。这意味着,您可以在数据库运行时添加新的属性键和边缘标签,而无需昂贵的“ALTER TABLE”命令。此外,Titan 没有“表”的概念,因为每个实体都由一个顶点表示,并且每个顶点都可以通过一条边连接到任何其他顶点。

如果您有一个包含 NAME、AGE、UID 列的 USER 表(其中 UID 是该表的唯一主键),您将在 Titan 中定义以下属性键:

graph.makeType().name("name").dataType(String.class).functional().makePropertyKey()
graph.makeType().name("age").dataType(Integer.class).functional().makePropertyKey()
graph.makeType().name("uid").dataType(Long.class).functional().indexed().unique().makePropertyKey()

然后,为该表中的每个用户创建一个顶点并设置这些属性:

v = g.addVertex(null);
v.setProperty("name","john");
v.setProperty("age",29);
v.setProperty("uid",23482234);
于 2013-02-04T20:46:37.453 回答