全部产品
云市场

Gremlin查询

更新时间:2019-11-04 15:59:12

在完成前述一系列操作,包括SDK引用、Client创建、Schema构建和数据导入以后,即可开始对图数据进行简单的查询或应用具体的图算法。示例如下:

简单查询

GraphCompute对于图数据的查询只要在client的submit函数中提交相应的查询语句。

  1. ResultSet results = client.submit("g.V()");
  2. for (Result result : results) {
  3. Vertex vertex = result.getVertex();
  4. CompositeId id = (CompositeId) vertex.id();
  5. Iterator<VertexProperty<Object>> propIter = vertex.properties();
  6. System.out.println("vertex id " + id.toString());
  7. while (propIter.hasNext()) {
  8. VertexProperty<Object> prop = propIter.next();
  9. System.out.println("property key=" + prop.key() + " value=" + prop.value());
  10. }
  11. }

图算法

目前图算法执行方式与查询类似,只要准备好相应的gremlin语句,即可提交给sumbit函数运行。

  1. String cc = "g.timeoutSec(600).E().hasLabel('cname_to').subgraph('s').cap('s')"
  2. + " .program(Program.graphCC().output('cid')"
  3. + " .iteration(30))"
  4. + " .map(Prop.fill('domain_name', 'cid'))"
  5. + " .map(Output.writeOdps()"
  6. + " .endpoint('http://service.odpsstg.aliyun-inc.com/stgnew')"
  7. + " .accessId(\"${ODPS_KEY}\")"
  8. + " .accessKey(\"${ODPS_KEY_SECRET}\")"
  9. + " .project(\"biggraph_dev\").table(\"cc_output_tmp\")"
  10. + " .write('domain_name', 'cid'))";
  11. client.submit(cc);