如何在 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",它们的图标是棕色的,而不是黄色的。
我正在尝试通过在 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:
那么我的问题是,是否可以在 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",它们的图标是棕色的,而不是黄色的。