如何在 TopBraid Composer 中插入 Sparql?

How to Sparql INSERT in TopBraid Composer?

我正在尝试通过在 TopBraid Composer (ME 5.5.2) 中使用 Sparql 来插入新的 classes。我的简单 ontology 看起来像这样:

然后我写了一个 Sparql 查询来插入 Berry 作为 Fruit 的子 class:

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", ...

类似的post: says that Sparql Query is a different language from Sparql Update. Some other post says that Sparql Update is not supported in Protege but is supported in Composer (for which reason I downloaded Composer). I also checked the Composer manual: https://www.topquadrant.com/docs/TBC-Getting-Started-Guide52.pdf,其中提到了Sparql Update,但没有说太多。

那么我的问题是,是否可以在 TopBraid 中插入 classes 和公理?如果是这样,如何?我的最终目标是插入的 classes 将出现在分层视图中,并且它们插入的 class 定义也可以在侧面看到。如果 Composer 不能做到这一点,我还能使用什么 tools/workflows?

抱歉这样的新手问题。任何帮助表示赞赏。

SPARQL 1.1 更新中 INSERT 有两种形式:

你把它们搞混了。

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

INSERT DATA
    { kennedys:UralStateUniversity a kennedys:College }

作为未知 URI,主题在查询编辑器中带有下划线,但只需按 "Execute SPARQL" 按钮即可。

更新

在你的具体情况下,你应该这样说

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

请注意使用了owl:Class。 TBC 将 rdfs:Class 的实例视为 "system classes",它们的图标是棕色的,而不是黄色的。