gpt4 book ai didi

graph - 如何在图形中包含 "citation"属性/特性?

转载 作者:行者123 更新时间:2023-12-01 13:17:20 24 4
gpt4 key购买 nike

我正在创建一个特定于领域的模型,其中包括具有需要定义其原始来源或引用的属性的实体。

以 graql 为例:


定义
“国家”子实体
有人口;
“证据”子属性数据类型字符串;
“人口”子属性数据类型字符串
有证据;

这似乎定义了一个属性的属性,并且在概念上似乎使属性的含义依赖于特定的上下文,可以说将其建模为与其他实体有关系的带注释的“事实”实体更好。

在不增加模型复杂性的情况下,对这些属性建模的最简单方法是什么?

最佳答案

属性的属性属性的属性不一定像您预期的那样工作。重要的是要记住,在 Grakn 中,对于具有特定值的特定类型的属性,图中只有一个节点。

也就是说人口类型的属性值六千万在知识图谱中只会出现一次。

如果我们稍微更改您的架构以添加国家名称(也不需要在类型周围加上单引号):

define
country sub entity
has population,
has name;
name sub attribute datatype string;
evidence sub attribute datatype string;
population sub attribute datatype string
has evidence;

然后将两个国家添加到知识图:

insert $uk isa country, has name 'UK', has population $p; $p 'sixty million' has evidence 'journal';
insert $fr isa country, has name 'France', has population $p; $p 'sixty million' has evidence 'wikipedia';
commit;

如果我们将其可视化,我们可以看到我们无法分别说出每个国家/地区的人口来源,因为这两个国家/地区和两个证据都与同一个人口实例相关联。

Visualised in Grakn Workbase Visualiser

(在 Grakn Workbase Visualiser 中可视化)

属性的属性在以下情况下有意义:属性 phraseHi there! 拥有一个属性 languageEnglish。也就是说,language 属性指的是 phrase 属性的

这意味着如果您想记录属性的来源,您需要采取不同的做法。我建议三种可能的选择。请注意,对于以下三个想法中的每一个,population 都不应拥有 evidence,原因已提及。在上面的模式中,population sub attribute datatype string has evidence; 应该变成population sub attribute datatype string;

<强>1。隐式关系

在底层,Grakn 具有实现属性所有权的隐式关系,总是自动生成并以 @has- 为前缀,例如 @has-population。我们可以将属性附加到这些隐式关系!

首先删除我们上面插入的实例(这将删除图中的所有实体和属性,小心!):

match $x isa entity; $y isa attribute; delete $x, $y;

然后定义隐式population属性可以拥有evidence并添加示例:

define @has-population has evidence;

insert $uk isa country, has name 'UK', has population $p via $r; $p 'sixty million'; $r has evidence 'journal';
insert $fr isa country, has name 'France', has population $p via $r; $p 'sixty million'; $r has evidence 'wikipedia';

enter image description here

现在我们能够消除英国人口证据与法国人口证据的歧义。我们可以查询这个:

match $c isa country, has name $n, has population $p via $r; 
$p 'sixty million'; $r has evidence $e; get $n, $e;

结果:

{$n val "France" isa name; $e val "wikipedia" isa evidence;}
{$n val "UK" isa name; $e val "journal" isa evidence;}

<强>2。关系到隐式关系

如果证据比单个属性更复杂,那么最好将其建模为关系,@has-population 在其中发挥作用。

define 
information-sourcing sub relationship,
relates sourced-information,
relates information-source;

@has-population plays sourced-information;

publication sub entity,
plays information-source;

insert $uk isa country, has name 'UK', has population $p via $r; $p 'sixty million'; $pub isa publication; $i(sourced-information: $r, information-source: $pub) isa information-sourcing;
insert $uk isa country, has name 'France', has population $p via $r; $p 'sixty million'; $pub isa publication; $i(sourced-information: $r, information-source: $pub) isa information-sourcing;

Link to implicit relationships via normal relationships

<强>3。正常关系

最后,您可以创建一个链接 populationcountryevidence 的关系,避免使用隐式关系复杂。

结论

使用哪种方法取决于您建模的领域。在回答您的问题时,第一种方法向架构中添加的附加元素最少。

关于graph - 如何在图形中包含 "citation"属性/特性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53538566/

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