无法使用Gremlin查询Titan的顶点属性

时间:2013-12-11 10:12:17

标签: graph gremlin titan

我有一个样本属性图加载到带有BDB后端的Titan。在每个顶点上,有4个属性,即“ ID ”,“first_name”,“middle_name”和“last_name”。我在顶点属性“ ID ”上构建了唯一索引。类型定义代码如下。

TitanKey keyID = g.makeKey("__ID__").dataType(String.class).indexed(Vertex.class).unique().make();
TitanKey keyFName = g.makeKey("first_name").dataType(String.class).make();
TitanKey keyMName = g.makeKey("middle_name").dataType(String.class).make();
TitanKey keyLName = g.makeKey("last_name").dataType(String.class).make();
//then for each edge label
//using signature to make the DB more compact
TitanLabel lbl = g.makeLabel(label_name).signature(keyID).signature(keyFName).signature(keyMName).signature(keyLName).make();

但是,当我通过Gremlin(通过控制台,即“gremlin.sh”或REST API)查询图形时,奇怪的是顶点属性似乎是“懒惰”加载的:

  1. 如果我发送查询"g.v(100).__ID__",它将返回null;
  2. 如果我发送查询"g.v(100).map.iterate();g.v(100).__ID__",则会返回 ID 属性。
  3. 在配置中,我禁用了storage.transactions,并将storage.read-only设置为true。还试图将fast-property设置为true或false,但结果没有区别。

    是否还有其他必须配置以避免此问题?

0 个答案:

没有答案