Graph 无法查询Titan';使用Gremlin的s顶点属性

Graph 无法查询Titan';使用Gremlin的s顶点属性,graph,gremlin,titan,Graph,Gremlin,Titan,我有一个使用BDB后端加载到Titan的示例属性图。在每个顶点上,有4个属性,即“ID”、“名字”、“中间名”和“姓氏”。我在顶点属性“ID”上建立了唯一索引。类型定义代码如下所示 TitanKey keyID = g.makeKey("__ID__").dataType(String.class).indexed(Vertex.class).unique().make(); TitanKey keyFName = g.makeKey("first_name").dataType(String.

我有一个使用BDB后端加载到Titan的示例属性图。在每个顶点上,有4个属性,即“ID”、“名字”、“中间名”和“姓氏”。我在顶点属性“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)查询图形时,奇怪的是顶点属性似乎是“惰性”加载的:

  • 如果我发送查询
    “g.v(100)。\uu ID\uuuuuu”
    ,它将返回null
  • 如果我发送查询
    “g.v(100).map.iterate();g.v(100)。\uu ID\uu”
    ,它将返回ID属性
  • 在配置中,我禁用了storage.transactions,并将storage.read-only设置为true。还尝试将fast属性设置为true或false,但结果没有差异


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

    我尝试了几种方法重新创建您的问题,但未能成功。请你修改一下你的问题,加入定义泰坦类型的代码好吗?您是否也可以澄清您关于使用“控制台”造成此问题的说法?你是说“rexster console.sh”还是标准的“gremlin.sh”?谢谢Stephen。我更新了帖子。对于控制台,它是标准的“gremlin.sh”。实际上,如果我没有在“ID”上创建唯一索引而填充数据库,使用数据类型(Object.class)而不是数据类型(String.class),并且不在make edge标签上使用signature(),问题就不会发生。即使使用类型定义,我仍然无法重新创建问题。我有一个完整的Gremlin会话,它创建一个新数据库,添加您定义的类型,添加一个顶点,提交(),然后作为
    g.v(4)查询回来。我会让其他人看一看,看看他们是否看到了表面上的错误。我唯一能要求的是显示问题的完整REPL会话的输出。请注意,我的测试是使用Titan 0.4.1完成的。啊,我使用了Titan 0.4.0。让我先试试泰坦0.4.1。谢谢