Sparql 为本体的所有类创建测试个体

Sparql 为本体的所有类创建测试个体,sparql,owl,Sparql,Owl,我想测试一个OWL本体。由于它很大,我想自动创建命名的个人作为每个类的成员,每个类一个,具有类的名称,并附加“1”。据我所知,SPARQL更新中没有迭代机制。但可能还有其他方法来实现这一目标。任何想法都将不胜感激 应该没那么难: SELECT?cls?ind{ ?cls猫头鹰:职业。 绑定(IRI(CONCAT(STR(?cls),“1”))为?ind) } 此查询为每个类生成一个单独的查询。您可以将此SELECT查询放在SPARQL更新查询的WHERE部分(未测试): 插入{ ?ind a?

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

应该没那么难:

SELECT?cls?ind{
?cls猫头鹰:职业。
绑定(IRI(CONCAT(STR(?cls),“1”))为?ind)
}
此查询为每个类生成一个单独的查询。您可以将此SELECT查询放在SPARQL更新查询的WHERE部分(未测试):

插入{
?ind a?cls。
}何处{
?cls a
绑定(iri(concat(str(?cls),“1”))为?ind)
}

应该没那么难:

SELECT?cls?ind{
?cls猫头鹰:职业。
绑定(IRI(CONCAT(STR(?cls),“1”))为?ind)
}
此查询为每个类生成一个单独的查询。您可以将此SELECT查询放在SPARQL更新查询的WHERE部分(未测试):

插入{
?ind a?cls。
}何处{
?cls a
绑定(iri(concat(str(?cls),“1”))为?ind)
}
SPARQL匹配中有“迭代”。可以这样认为,引擎生成一个结果集,其中包含
WHERE
子句中的每个匹配项。然后执行
SELECT
/
构造
/
删除
/
插入
/。。。每个匹配的子句。因此,SPARQL更像是一种声明性语言,试图用过程的术语来考虑它并不符合这种范式。可以这样认为,引擎生成一个结果集,其中包含
WHERE
子句中的每个匹配项。然后执行
SELECT
/
构造
/
删除
/
插入
/。。。每个匹配的子句。因此,SPARQL更像是一种声明性语言,试图用过程的术语来考虑它不符合这种范式。