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