Você está na página 1de 41

Laboratory for Advanced Collaboration

L A C
Karin Breitman
Jos Viterbo
Edgard Marx
Percy Salas
3.1 Fundamentos de SPARL
2
Objetivo deste mdulo
1.Apresentar conceitos bsicos sobre SPARQL
3
Sumrio
1. Introduo
2. Arquitetura
3. SPARQL em 3 partes
4. onsu!ta
". Protoco!o
#. onc!uso
4
onstituem rea!mente a primeira
camada sem$ntica da %eb
Introduo
Triplas RDF
5
SPARQL no topo...
&ma !in'ua'em de consu!ta
e protoco!o de acesso a
dados em
RDF
RDF
Introduo
6
SPARQL significa
SPARQL Protoco! and R()
Quer* Lan'ua'e
Introduo
7
Arquitetura
8
SPARQL ! 3 parts
parte 1+ !in'ua'em de consu!ta
parte 2+ ,ormato dos resu!tados
parte 3+ protoco!o de acesso
SparQL
"
SELECT ...
FROM ...
WHERE { ... }
Consulta
#$
Para identi,icar que -a!ores iro
retornar
!usu!a S.L./
Consulta
##
%l&'s'la FR()
Para identi,icar que ,ontes de
dados de-em ser consu!tadas
Consulta
#2
%l&'s'la *+,R,
0s padr1es de trip!as2'ra,os a
serem !oca!i3ados na base R()
Consulta
#3
%l&'s'la *+,R,
&ma con4uno de trip!as+

5 ?x rdf:type ex:Person
?x ex:name ?name }
Consulta
#4
PR,F-.
Para dec!arar o esquema
usado na consu!ta
Consulta
#5
PREF! ex: <http://inria.fr/schema#>
SELECT ?person ?name
WHERE {
?person rdf:type ex:Person
?person ex:name ?name .
}
,/!plo0 Pessoas e seus nomes
Consulta
#6
"?xm# $ers%on&'(.)'?*
"spar+# xm#ns&',ttp:--...../.or0-1))2-spar+#3res4#ts5' *
",ead*
"$ar%a6#e name&'person'-*
"$ar%a6#e name&'name'-*
"-,ead*
"res4#ts ordered&'fa#se' d%st%n7t&'fa#se'*
"res4#t*
"6%nd%n0 name&'person'*
"4r%*,ttp:--%nr%a.fr-s7,ema5f0"-4r%*
"-6%nd%n0*
"6%nd%n0 name&'name'*
"#%tera#*0andon"-#%tera#*
"-6%nd%n0*
"-res4#t*
"res4#t* ...
Consulta
#7
F-LT,R
Para adicionar restri1es aos
padr1es de 'ra,os.
6p.e7.8 numerica! !i9e !*(8 :
Consulta
#8
,/!plo0 Pessoas com pe!o menos 1; anos
PREF! ex: <http://inria.fr/schema#>
SELECT ?person ?name
WHERE {
?person rdf:type ex:Person
?person ex:name ?name .
?person ex:age ?a0e .
FLTER 9?a0e * (8:
}
Consulta
#"
Pode usar di-ersos
operadores8 ,un1es
6p.e7+ e7press1es
re'u!ares: e mesmo
e7tens1es do usurio
)IL/.R
Consulta
2$
(PT-(1AL
Para tornar uma parte do padro
opciona!
Consulta
2#
,/!plo0 Recuperar a idade8 se dispon<-e!
PREF! ex: <http://inria.fr/schema#>
SELECT ?person ?name ?a0e
WHERE {
?person rdf:type ex:Person
?person ex:name ?name .
OPTO;<L { ?person ex:age ?a0e }
}
Consulta
22
21-(1
Para de,inir padr1es a!ternati-os
em uma consu!ta.

Consulta
23
,/!plo0 Adu!tos imp!<citos e e7p!<citos
PREF! ex: <http://inria.fr/schema#>
SELECT ?name
WHERE {
?person ex:name ?name .
{
{ ?person rdf:type ex:Adult}
=;O;
{ ?person ex:age ?a0e
FLTER 9?a0e * (8: }
}
}
Consulta
24
%lassifica34o For!ato
OR>ER ?@ para c!assi,icar
LMT para o n=mero de resu!tados
OFFSET antes do primeiro resu!tado
Consulta
25
,/!plo0 Resu!tados 21 a 4> ordenados por nome
PREF! ex: <http://inria.fr/schema#>
SELECT ?person ?name
WHERE {
?person rdf:type ex:Person
?person ex:name ?name .
}
OR>ER ?@ ?name
LMT 1)
OFFSET 1)
Consulta
26
215(21D
/esta se uma -ari-e! est ou
no instanciada ? usado para
ne'ao por ,a!@a
Consulta
27
,/!plo0 Pessoas que no so autores con@ecidos
PREF! ex: <http://inria.fr/schema#>
SELECT ?name
WHERE {
?person ex:name ?name .
OPTO;<L { ?person ex:author ?x }
!"#$% & A6o4nd9?x:'
}
Consulta
28
1ga34o
A traioeira e erros podem
ocorrer ,aci!mente.
Consulta
2"
Isto encontra as pessoas que no sabem B4a-aBC
PREF! ex: <http://inria.fr/schema#>
SELECT ?name
WHERE {
?person ex:name ?name .
?person ex:(no)s ?x
!"#$% & ?x A& 'Ba$a' '
}
Consulta
,/!plo0
3$
16(7
/ambDm recupera todas as
pessoas que sabem Ea-a e
a!'uma coisa a mais7
Joo ex:knows "Java"
Joo ex:knows "C++"
Joo uma resposta...
Consulta
3#
A8(RA S-)7
Pssoas 9' n4o s con:c sa;r <=a>a? ...
1ga34o @ '!a op34o.
PREF! ex: <http://inria.fr/schema#>
SELECT ?name
WHERE {
?person ex:name ?name .
OPTO;<L { ?person ex:(no)s ?x
!"#$% & ?x & 'Ba$a' ' }
!"#$% & *+ound&?x' '
}
Consulta
32
ASA
Para -eri,icar se @ pe!o
menos uma resposta. 0
resu!tado D BtrueB ou B,a!seB
Consulta
33
PREF! ex: <http://inria.fr/schema#>
<SC
{
?person ex:age ?a0e
FLTER 9?a0e * (8:
}
,/!plo0 F uma pessoa com mais de 1G anosC
Consulta
34
%(1STR2%T
Retorna um 'ra,o R() espec<,ico
para cada resu!tado
34
Consulta
35
PREF! ex: <http://inria.fr/schema#>
CO;STR=CT
{
?person rdf:type ex:Adult
}
WHERE
{
?person ex:age ?a0e
FLTER 9?a0e * (8:
}
,/!plo0 Resu!tados inst$ncias de adu!tos para
pessoas com mais de 1G anos
Consulta
36
Protocolo SPARQL
.n-ia consu!tas e seus
resu!tados atra-Ds da %eb
Protocolo
37
DET -spar+#-?+4ery&<encoded query> HTTP-(.(
Host: ....%nr%a.fr
=ser3a0ent: my3spar+#37#%ent-).(
,/!plo co! +TTP
Protocolo
38
"?xm# $ers%on&'(.)' en7od%n0&'=TF3E'?*
"soapen$:En$e#ope xm#ns:soapen$&',ttp:--...../.or0-1))/-)2-soap3
en$e#ope-'
xm#ns:xsd&',ttp:--...../.or0-1))(-!MLS7,ema'
xm#ns:xs%&',ttp:--...../.or0-1))(-!MLS7,ema3%nstan7e'*
"soapen$:?ody*
"+4ery3re+4est xm#ns&',ttp:--...../.or0-1))2-)F-spar+#3
proto7o#3types-5'*
"+4ery*SELECT ?x ?p ?y WHERE {?x ?p ?y}"-+4ery*
"-+4ery3re+4est*
"-soapen$:?ody*
"-soapen$:En$e#ope*
,/!plo co! S(AP
Protocolo
3"
SPARQL B...
uma !in'ua'em de consu!ta...
um ,ormato para os resu!tados...
um protoco!o de acesso ...
... para RDF
Concluso
4$
SPARQL 9'rC lang'ag
baseado no mode!o de trip!as C7 Cp C*
,i!tros para adicionar restri1es
Concluso
4#
Principais e!er"ncias
Haseado na apresentao SPARQL Bsico8 de Lui3 A I Pa!a33o. (ispon<-e! em
@ttp+22ia.ucpe!.tc@e.br2J!pa!a33o2Au!as2I%S2m>32Recursos2SPARQL.ppt
.. PrudK@ommeau7 e A. Seaborne 6editores:. SPARQL Query Language for
RDF. 0n!ine8 2>>;. (ispon<-e! em+ @ttp+22LLL.L3.or'2/R2rd,Msparq!Mquer*2N
O.P. !ar98 L. )ei'enbaum e .. /orres 6editores:. SPARQL Protocol for RDF.
0n!ine8 2>>;. (ispon<-e! em+ @ttp+22LLL.L3.or'2/R22>>;2R.Mrd,Msparq!M
protoco!M2>>;>11"2N

Você também pode gostar