删除具有相同属性值的重复实体

Delete duplicate entities with the same attribute values

我正在使用 Grakn。我想删除具有相同属性值(名称)的重复实体。这就是我现在拥有的:

test> match $p isa person, has name $n; get;
{$p id V4176 isa person; $n "John" isa name;}
{$p id V40968336 isa person; $n "John" isa name;}

我想删除id为V4176的那个。但是,如果我执行下面的查询,它会删除两个实体:

match $p isa person, has name "John"; delete $p; 

如何只删除两者之一?

Grakn 为每个实例分配一个自动生成的 id。虽然这个 id 是由 Grakn 生成的,仅供内部使用,但确实可以找到一个带有它的 Grakn id 的实例。为此,我们使用 id 关键字,然后使用 Grakn 分配给实例的 id

match $p id V4176; delete $p;

现在,您查询的原因

match $p isa person, has name "John"; delete $p; 

删除两个实体是因为它们都是personhas name John,所以它们都匹配你的match子句。

您可以在此处找到更多信息https://dev.grakn.ai/docs/query/match-clause#one-particular-instance