为 ontology 的所有 类 创建测试个体

Creating test individuals for all classes of an ontology

我想测试一个 OWL ontology。由于它很大,我想自动创建命名个人作为每个 class 的成员,每个 class 一个,具有 class 的名称,并附加“1”。据我所知,SPARQL 更新中没有迭代机制。但可能还有其他方法可以实现它。任何想法,将不胜感激。

应该没那么难:

SELECT ?cls ?ind {
  ?cls a owl:Class .
  BIND(IRI(CONCAT(STR(?cls), "1")) AS ?ind)
}

此查询为每个 class 生成一个个体。您可以将此 SELECT 查询放在 SPARQL 更新查询的 WHERE 部分(未测试):

INSERT {
  ?ind a ?cls .
} WHERE { 
   ?cls a <http://www.w3.org/2002/07/owl#Class>
    BIND(iri(concat(str(?cls), "1")) AS ?ind)
}