在进行RDF数据查询或描写叙述的时候。Sparql不管从出身、标准抑或操作习惯上都是一个不错的选择。然而对于一个刚開始学习的人来说多多少少有些“禁忌”的意味,操作起来也有点畏首畏尾。所以正好利用这段时间进行语言的总结与学习,顺道对语言特性进行一一破解。
简单查询
1、总决式(基本要诀)
select ?o
where
{
s p ?o
}
破法:类SQL讲究选择映射,同一时候sparql本身基于rdf中的三元组(s p o)——主谓宾。全部查询就变成了主谓宾的描写叙述,同一时候,返回某一变量。变量值用问号?进行表示。select进行映射。
口诀:有定义方可使用,有定义方可进行选取,全部方法均可描写叙述成三元组的组成结构。相当于用三元组的知识来回答一些问题。
2、破剑式(兼容并蓄)
select ?o1 ?o2
where
{
?s p1 ?o1.
?s p2 ?o2
}
破法:兼容并蓄。以总决式进行引导。针对能够对当中的各个变量抑或參数进行属性的关联操作与展示,能够主主关联、主宾关联等等(主谓、谓宾非常多时候都是不同类所以可能无法关联),同一时候能够有若干个属性,若干次迭代过程。从而形成了变化莫測的查询。
口诀:依变量索骥,依照语义进行理解,变量起合适名称,相当于进行若干次、若干步骤的推理工作。
3、破刀式(以轻御重)
select ?s ?p
where
{
?s ?
p X
}
破法:以轻御重,以快敌慢。与之前变量不同。此时的宾语为固定值。此固定值可能是字符串、数字抑或iri地址。同一时候规定了一些基础格式比如@en等进行语言的描写叙述,使用此方法能够实现通过已知推导未知,从而实现了针对某个属性的查询。
口诀:依RDF类型及属性进行写入。如需特殊使用參见标签方法。相当于使用一个没有进入系统的标签来回答系统中的一种问题。
4、破气式(存乎一心)
select ?s ?
o
where
{
?s p ?o
}
破法:运用之妙,存乎一心。与总决及上面其它形式类似,然而所破之物有细微区别,专门针对没有实在的主语或者称之为匿名主语。此时返回结果可能不过在域中随便起的名字。
口诀:无名亦有名,假名亦真名,相当于使用一个占位符来表示对应的空间。