在 sparql 查询中使用CONSTRUCT
时,输出是单个 RDF 图,也就是一组三元组,本质上是新数据。但总的来说,我认为CONSTRUCT
这是一种手动创建理论上应该可重用的规则的方法。
在 的示例用法中CONSTRUCT
,假设我想定义数据中尚未包含的内容。这是取自一篇关于 CONSTRUCT 的文章的一个很好的例子。
@prefix : <http://some.site.com/ont#> .
:jane :hasParent :gene .
:gene :hasParent :pat ;
:gender :female .
:joan :hasParent :pat ;
:gender :female .
:pat :gender :male .
:mike :hasParent :joan .
“以下 CONSTRUCT 语句根据上述三元组创建新的三元组,以指定谁是祖父:”
PREFIX : <http://some.site.com/ont#>
CONSTRUCT { ?p :hasGrandfather ?g . }
WHERE {?p :hasParent ?parent .
?parent :hasParent ?g .
?g :gender :male .
}
结果:
@prefix : <http://some.site.com/ont#> .
:jane :hasGrandfather :pat .
:mike :hasGrandfather :pat .
一旦我作为查询的结果生成了新的三元组CONSTRUCT
,这是否意味着我必须获取该数据并将其输入回数据库才能开始使用/重用:hasGrandfather
?还是可以像引用 SQL 中的动态表一样引用生成的 RDF 图?
是否有其他有用的方法可以与使用生成的三元组进行交互CONSTRUCT
?