如何在TopBraid Composer中插入Sparql?

如何在TopBraid Composer中插入Sparql?,sparql,owl,ontology,rdfs,topbraid-composer,Sparql,Owl,Ontology,Rdfs,Topbraid Composer,我试图通过在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 rdf

我试图通过在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}
前缀ft:
前缀rdfs:
插入
{ft:Berry rdfs:ft子类:水果}
但是出现了一条错误消息,说
遇到了“insert”。我们期待的是:“基本”、“选择”和…

一篇类似的帖子:说Sparql查询与Sparql更新是不同的语言。另一篇帖子说,Protege不支持Sparql更新,但Composer支持Sparql更新(出于这个原因,我下载了Composer)。我还查看了Composer手册:,其中提到了Sparql更新,但没有说太多

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


很抱歉提出这样一个新手问题。非常感谢您的帮助。

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

你把它们混在一起了

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

INSERT DATA
    { kennedys:UralStateUniversity a kennedys:College }
作为一个未知URI,主题在查询编辑器中加下划线,但只需按下“ExecuteSparql”按钮

更新

在你的特殊情况下,你应该说

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

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

尝试
插入数据
而不是
插入
@StanislavKralin我尝试了
插入数据
。在
ft:Berry
ft:Fruit
下有红线。我右键单击它们,它给出的唯一选项是
Reset to empty SELECT query
Reset to empty CONSTRUCT query
。似乎它对插入
还是不满意。我试过了,它确实有效!我能够在变更历史中看到更新。非常感谢。一个后续问题:这是否意味着您的原始本体被修改了?我该怎么做才能使它出现在类视图的层次结构中?我终于让显示正常了!通过长时间的
INSERT
查询,还成功显示了类定义。非常感谢!