首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Grakn,创建由实体组成的实体?

Grakn,创建由实体组成的实体?
EN

Stack Overflow用户
提问于 2017-10-24 08:44:36
回答 2查看 311关注 0票数 2

我对GRAKN.AI非常陌生,我想知道在GRAKN的图表中,我是否可以创建一个由"enitity“组成的”实体“。我知道我可以执行以下代码:

代码语言:javascript
复制
table sub entity
   has book;

book sub resources datatype string;

,但我可以将“图书”作为一个实体与“表”??联系起来吗?

我需要把“书”作为一个复杂的概念而不是简单的资源。

谢谢,

戴维德

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-10-24 09:00:54

另一种解决方案是通过一种允许您更明确地定义事物的关系。例如,

要定义一种关系,首先要定义角色,这些角色为事物如何相互关联提供了上下文。例如:

代码语言:javascript
复制
insert
    thing-on-top-of-table sub role;
    table-with-thing-on-top sub role;

然后说明这些角色如何链接到关系和实体:

代码语言:javascript
复制
insert    
    sits-on sub relation 
        relates thing-on-top-of-table
        relates table-with-thing-on-top;
    table plays table-with-thing-on-top;
    book plays thing-on-top-of-table;

上面的内容基本上就是简单知识库的模式。

现在我们可以添加一些数据。假设某张桌子上有一本书:

代码语言:javascript
复制
insert 
    $book isa book;
    $table isa table;
    (thing-on-top-of-table: $book, table-with-thing-on-top: $table) isa sits-on

自然,你可以从这里展开东西。例如,您可以通过资源为您的书命名。

侧记:资源与实体

将某物与资源或另一实体相关联的基本经验规则取决于您想要在模型中表示多少信息,以及是否可以由数据文本(例如字符串、Int、Long等)定义一些信息。。。)。

例如,一本书是一个实体,因为它是由多个资源组成的,这些资源有助于识别书。即标题、isbn等。。另一方面,这些资源是简单的数据值。一个标题只不过是一个字符串,所以没有理由让标题成为一个实体,这应该只是一个资源。

票数 3
EN

Stack Overflow用户

发布于 2017-10-24 08:53:07

您可以将模型分为两个booktable,并有一个可以称为belongs之类的关系,并添加您需要的角色,例如book-roletable-role

如果这些概念与层次结构相关,则可以使用继承。

代码语言:javascript
复制
table sub entity
  has some property

book sub table
  has additional property

继承对于分类是有用的,您可以很容易地理解两个子实体是相关的,可以通过查询父实体来检索两个子实体。

代码语言:javascript
复制
match $t isa table;

还书,因为它们是表中的子实体。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46905934

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档