了解CONSTRUCT模板

时间:2018-09-13 17:41:30

标签: sparql fuseki

我现在正在学习SPARQL,但在理解CONSTRUCT模板的局限性时遇到了麻烦。通常,一切正常,就和我期望的一样。但是,当我开始制作在语义上没有意义的模板时,我的理解就破裂了。这是一个示例:

我存储了以下数据:

me:     a        foaf:Person .
foaf:mbox  rdfs:label  "Email" .

使用默认模板?s ?p ?o,显然我可以得到确切的数据。如果我选择了一些荒谬的方法,例如:

CONSTRUCT {
    ?type ?labeled ?label
}
WHERE {
    me: a ?type .
    ?labeled rdfs:label ?label .
}

我回到了这个三人组:

foaf:Person  foaf:mbox  "Email" .

这对我来说很有意义,因为有三个变量,每个变量只能绑定到数据集中的一个值。但是,一旦我将模板中变量的顺序切换为?type ?label ?labeled,就一无所获。这是为什么?模板?type ?labeled ?label已经破坏了数据的原始结构,但我仍然得到了回报,为什么?type ?label ?labeled会有所不同?

0 个答案:

没有答案