当前位置: 代码迷 >> java >> 如何用Java查询Grakn?
  详细解决方案

如何用Java查询Grakn?

热度:15   发布时间:2023-07-26 14:32:23.0

我浏览了Java api的文档来查询Grakn数据库。

Grakn.Transaction readTransaction = session.transaction(GraknTxType.READ);
GetQuery query = Graql.match(var("p").isa("person")).limit(10).get();
Stream<ConceptMap> answers = query.withTx(readTransaction).stream();
answers.forEach(answer -> System.out.println(answer.get("p").id()));

它是打印ID,但我想查看数据,与该人相关的名称。 我想看看结果中的内容。 它只是显示id。

作为Graql查询的结果提供的答案是您在查询本身中指定的变量(及其值)的集合。

在这种情况下,要获取person实例的name ,您可以将其包含在查询中,如下所示:

GetQuery query = Graql.match(var("p").isa("person").has("name", var("n"))).limit(10).get();

Graql等价物match $p isa person, has name $n; get; match $p isa person, has name $n; get;

现在,您可以使用提供的方法来检索每个变量的可用信息。

在这种情况下,变量n包含一个attribute ,你想要检索它的value() ,如下所示:

answers.forEach(answer -> System.out.println(answer.get("n").asAttribute().value()))

  相关解决方案