Graql 插入查询:重复的 Var 对象
Graql insert query: duplicate Var objects
Var message = var().isa("message");
insert(message).execute();
Var relation = var().isa("connection")
.rel("role1", id("existing-id"))
.rel("role2", message);
insert(relation).execute();
执行以下命令会创建一条消息的两个实例。
这是预期的吗?如果是,是因为我没有分配ID,还是因为我用了两个insert语句?
这是预期的行为。您猜测分配 id 将解决问题是正确的:
Var message = var().id("my-message").isa("message");
发生这种情况的原因是因为 Var
不代表单个概念。相反,它表示要在图中匹配的模式。在这种情况下,Var
只说 "things that are messages",而不是任何特定的消息。
您还可以指定一个变量名,例如Var message = var("x"). ...
为此,您只需执行一个 insert
.
Var message = var().isa("message");
insert(message).execute();
Var relation = var().isa("connection")
.rel("role1", id("existing-id"))
.rel("role2", message);
insert(relation).execute();
执行以下命令会创建一条消息的两个实例。
这是预期的吗?如果是,是因为我没有分配ID,还是因为我用了两个insert语句?
这是预期的行为。您猜测分配 id 将解决问题是正确的:
Var message = var().id("my-message").isa("message");
发生这种情况的原因是因为 Var
不代表单个概念。相反,它表示要在图中匹配的模式。在这种情况下,Var
只说 "things that are messages",而不是任何特定的消息。
您还可以指定一个变量名,例如Var message = var("x"). ...
为此,您只需执行一个 insert
.