0
下面我创建了三组:名称,地址和主机。地址字段将名称映射到地址。主机字段将地址映射到主机。为什么我会得到两个关系连接和三个关系连接的相同图形?
sig Name {
addr: Address
}
sig Address {
host: Host
}
sig Host {}
在这里,我要求合金分析器创建一个两个关系连接的实例:addr和host。
run {one addr.host} for 1
这是所生成的图形:
接着,请问合金分析仪以产生用于连接三个关系的一个实例:地址,相同的原子的三元关系在每个元组和主机中。
run {one addr.{a, b, c: univ | a = b and b = c}.host} for 1
令人惊讶的是,生成的图形与上面显示的相同。为什么是这样?
啊!我没有意识到这一点。再次感谢你丹尼尔! –