gpt4 book ai didi

graph - 为什么 Grakn 在关系上使用名词语义而不是动词?

转载 作者:行者123 更新时间:2023-12-04 01:39:51 25 4
gpt4 key购买 nike

我正在查看一些文档 here .

我很好奇为什么 Grakn 选择使用名词语义而不是动词语义来表示关系?在我介绍过的大多数其他图形工作和研究中,认为两个实体(名词)由动词链接通常是有道理的,例如在公司工作的人。事实上,对于我正在处理的一些实体,将关系作为名词进行推理有点困难,例如 artist remixed track

我倾向于使用动词作为关系,但我想知道这是否不是我应该在 Grakn 设置中考虑的方式。如果我决定使用动词语义,我最终会遇到困难吗?

最佳答案

通常,图数据库使用有向边来表示二元关系。在这种情况下,使用动词来描述关系是有意义的,因为动词通常表示主语和宾语之间的定向 Action 。

Grakn 是一个知识图谱,其工作方式不同。这是因为 Grakn 中的关系充当超边。这意味着关系中可以有两个以上的参与者(称为角色扮演者)。这对于灵活建模非常有用,但它会打破动词命名约定。

要从您的示例开始,而不是artist remixed track,我们可以(在这种情况下非常方便)使用名词remix 作为关系。对领域模型进行猜测,一位艺术家重新混合了一条轨道,结果他们创造了一条新轨道。这是在 grakn 中建立三元(3 向)关系的好机会。其模型如下:

define 
remix sub relation,
relates original-track,
relates remixed-track,
relates remixing-artist;

track sub entity,
plays original-track,
plays remixed-track;

artist sub entity,
plays remixing-artist;

一旦在 Grakn 中定义了上述模式,我们就可以添加一个 remix 实例来连接两个新轨道和一个新艺术家,如下所示:

insert 
$o isa track, has name "Brimful of Asha";
$rt isa track, has name "Brimful of Asha (Norman Cook Remix)";
$a isa artist, has name "Norman Cook";
$r(original-track: $o, remixed-track: $rt, remixing-artist: $a) isa remix;

然后证明使用名词来表示关系是有用的,因为它不会以二元方式连接它可以拥有的 3 个角色扮演者中的任何一个。相反,我们命名了位于两条轨道和艺术家之间的概念。

通过这种方式,我们看到关系很好地描述了任何一对角色之间的(无向)链接:

original-track <-remix-> remixed-track
original-track <-remix-> remixing-artist
remixed-track <-remix-> remixing-artist

我们可以看到使用 remixed 代替 remix 效果不佳,它会尝试向这些没有方向的链接添加方向。

Grakn 的数据模型可以即时扩展。因此,即使您从二元关系开始,如果以后添加更多角色,使其成为三元或 N 元,动词命名将不再有意义。

用名词命名关系并不总是那么容易。我的建议是:

  • 首先尝试将动词(用作形容词)的过去分词或现在分词与名词结合使用。例如角色 remixing-artist 就使用了这个。
  • 在使用名词真的很尴尬时求助于动词,和/或如果您处理的是您期望始终是二元关系的关系。

关于graph - 为什么 Grakn 在关系上使用名词语义而不是动词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57925545/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com