Ibm cloud 获取具有labelname的所有顶点

Ibm cloud 获取具有labelname的所有顶点,ibm-cloud,ibm-graph,Ibm Cloud,Ibm Graph,我在bluemix中使用ibmgraph,这是我的新手 我使用bluemix提供的GUI创建了一个名为“test”的图,并在该图中上载了ibm提供的示例数据“Music Festival” 现在,我尝试使用下面的查询查询标签为“attendee”的所有顶点 def gt=graph.traversal(); gt.V().hasLabel(“与会者”) 但我也有错误 错误:评估脚本def gt=graph.traversal()时遇到错误;gt.V().hasLabel(“与会者”);原因是co

我在bluemix中使用ibmgraph,这是我的新手

我使用bluemix提供的GUI创建了一个名为“test”的图,并在该图中上载了ibm提供的示例数据“Music Festival”

现在,我尝试使用下面的查询查询标签为“attendee”的所有顶点

def gt=graph.traversal();
gt.V().hasLabel(“与会者”)

但我也有错误

错误:评估脚本def gt=graph.traversal()时遇到错误;gt.V().hasLabel(“与会者”);原因是com.thinkaurelius.titan.core.titan异常:找不到合适的索引来回答图形查询,图形扫描被禁用:[(~label=attendee)]:VERTEX

不知道我做错了什么

有人能告诉我哪里出了问题吗

如何消除此错误并获得预期的输出


谢谢

@Radhika,您的小精灵查询是有效的小精灵查询。但是,一些供应商(如IBM Graph和Titan)选择只允许用户使用索引查询开始查询。这是为了确保您获得查询的性能。单独调用
hasLabel()
将导致
找不到合适的索引…
错误,因为您无法为标签创建索引。您需要做的是,按照此步骤执行一个使用索引属性的步骤,如此查询中所示:

graph.traversal();gt.V().hasLabel("band").has("genre","pop");
已在模式中为示例音乐节数据创建了
流派
索引,如下所示

{
  "propertyKeys": [
   { "name": "name", "dataType": "String", "cardinality": "SINGLE" },
   { "name": "gender", "dataType": "String", "cardinality": "SINGLE" },
   { "name": "age", "dataType": "Integer", "cardinality": "SINGLE" },
   { "name": "genre", "dataType": "String", "cardinality": "SINGLE" },
   { "name": "monthly_listeners", "dataType": "String", "cardinality": "SINGLE" },
   { "name":"date","dataType":"String","cardinality":"SINGLE" },
   { "name":"time","dataType":"String","cardinality":"SINGLE" }
  ],
  "vertexLabels": [
   { "name": "attendee" },
   { "name": "band" },
   { "name": "venue" }
  ],
  "edgeLabels": [
   { "name": "bought_ticket", "multiplicity": "MULTI" },
   { "name":"advertised_to","multiplicity":"MULTI" },
   { "name":"performing_at","multiplicity":"MULTI" }
  ],
  "vertexIndexes": [
   { "name": "vByName", "propertyKeys": ["name"], "composite": true, "unique": false },
   { "name": "vByGender", "propertyKeys": ["gender"], "composite": true, "unique": false },
   { "name": "vByGenre", "propertyKeys": ["genre"], "composite": true, "unique": false}
  ],
  "edgeIndexes" :[
    { "name": "eByBoughtTicket", "propertyKeys": ["time"], "composite": true, "unique": false }
  ]
这就是为什么上面的查询有效,您也需要这样做

  • 如果没有架构,请创建一个。您可以按照 高于或跟随

  • 为要开始的特性创建(顶点/标签)索引 您从中的遍历。在本例中,
    姓名、性别和体裁
    顶点属性和边属性的
    name

  • 打电话给 将架构添加到图形中的步骤

  • 建议在向中添加任何数据之前创建架构 您可以创建图形,以便以后不必重新编制索引。那会救你的 很多时间

  • 一旦创建了模式,就不能修改所创建的内容 已经存在,但您可以稍后添加新的属性/索引

  • 查看以下代码示例,以了解要使用的确切代码


    我希望这能有所帮助

    谢谢阿拉。我花了整整一天的时间来找出这个查询的错误,即使它是有效的,但它不会起作用。。。那是disappointing@Radhika,很遗憾听到这个消息。请随时发布您的问题,以便当您看到,我们会立即回答您。欢迎加入我们的slack频道,我们的开发团队也会很乐意为您提供帮助