2

我正在尝试通过在 TopBraid Composer(ME 5.5.2)中使用 Sparql 来插入新类。我的简单本体如下所示:

在此处输入图像描述

然后我写了一个 Sparql 查询Berry作为子类插入Fruit

PREFIX ft: <http://www.semanticweb.org/ontologies/2018/7/fruit#>
PREFIX rdfs: <ttp://www.w3.org/2000/01/rdf-schema#>

INSERT
{ft:Berry    rdfs:subClassOf  ft:Fruit}

但是出现了一条错误消息,说Encountered "insert". Was expecting one of: "base, "select", ...

类似的帖子:Sparql insert data not working说 Sparql Query 是与 Sparql Update 不同的语言。其他一些帖子说 Protege 不支持 Sparql 更新,但 Composer 支持(为此我下载了 Composer)。我还查看了 Composer 手册:https : //www.topquadrant.com/docs/TBC-Getting-Started-Guide52.pdf ,其中提到了 Sparql 更新但没有说太多。

那么我的问题是,是否可以在 TopBraid 中插入类和公理?如果是这样,怎么做?我的最终目标是插入的类将出现在分层视图中,并且它们插入的类定义也可以在侧面看到。如果 Composer 无法做到这一点,我还可以使用哪些其他工具/工作流程?

对不起,这样的新手问题。任何帮助表示赞赏。

4

1 回答 1

1

INSERTSPARQL 1.1 更新中有两种形式:

你把它们混在一起了。

以下针对kennedys.ttl示例在 TBC 5.5.2 免费版中适用于我:

INSERT DATA
    { kennedys:UralStateUniversity a kennedys:College }

作为一个未知的 URI,主题在查询编辑器中带有下划线,但只需按“执行 SPARQL”按钮。

更新

在您的特定情况下,您应该说类似

INSERT DATA
    { ft:Berry rdfs:subClassOf ft:Fruit; a owl:Class }

请注意owl:Class使用。TBC 将实例rdfs:Class视为“系统类”,它们的图标是棕色的,而不是黄色的。

于 2018-07-31T18:53:18.633 回答