与关系数据库不同,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);