由于SPARQL查询,如何在我的本体中添加新类?

时间:2015-07-20 14:00:16

标签: sparql jena ontology topbraid-composer

我有我的本体,我能够运行像SELECT查询这样的SPARQL查询。但我找不到为我的本体添加/创建新类的方法。 我在网上寻找解决方案,但我看到的所有信息都是对本体的修改。我的意思是在两个资源之间转换或添加现有的ObjectProperty,它们也存在。

我正在使用TopBraid Composer免费版

我试过了:

CONSTRUCT {
  rule:Kayaking a owl:Class .
  rule:Kayaking rdfs:subClassOf rule:Activity .
  rule:Kayaking rdfs:label "Kayaking" .
}
WHERE {
}

其中myprefix => http://myapplication/

但它不起作用,我无法弄清楚如何将它合并到我的本体中..(我没有足够的声誉发布图片抱歉......)

1 个答案:

答案 0 :(得分:0)

我认为你在Composer的SPARQL View窗格中执行了这个查询?这将在SPARQL视图右侧的网格中将结果显示为三元组。但是CONSTRUCT只会返回三元组。然后,您需要告诉系统如何处理这些三元组。

因此,选择查询生成的三元组(在右侧网格中选择all)。滚动该窗格顶部的图标。选择肥胖的蓝色箭头将会出现'#34;断言"选中的三元组进入当前打开的图形。选择三个蓝色圆圈将暂时"推断"当前打开的图表中的三元组。

作为替代方案,请使用SPARQL Update:

INSERT {
  rule:Kayaking a owl:Class .
  rule:Kayaking rdfs:subClassOf rule:Activity .
  rule:Kayaking rdfs:label "Kayaking" .
}
WHERE {}

...将三元组置于当前打开的图形中。如果要将插入定位到特定图形,请使用GRAPH:

INSERT {
  GRAPH <graph-url> {
     rule:Kayaking a owl:Class .
     rule:Kayaking rdfs:subClassOf rule:Activity .
     rule:Kayaking rdfs:label "Kayaking" .
  }
}
WHERE {}