6.1. Acesso a dados

Propaganda
Publicação de Dados Governamentais
no Padrão Linked Data
6.1 – A c es s o a da do s
C lick to edit M aster subtitle style
LAC
09/06/10
Laboratory for Advanced Collaboration
1
Karin Breitman
Jos é Viterbo
E dgard M arx
P ercy S alas
A c es s o a da do s : S P A R Q L
E ndP o int
• “Indica um local específico para acessar um
Web S ervice utilizando um protocolo e formato
de dados específicos ” - Web S ervices D escription
R equirements
• P erm ite
• Usuários (humanos ou outros ) poss am consultar
uma base de conhecimentos através da
linguagem S P AR Q L.
• R es ulta dos
• Normalmente retornados em um ou mais
formatos proces s áveis por máquina
2
09/06/10
A c es s o a da do s : S P A R Q L
E ndP o int
3
09/06/10
P roject
Addres s
B B C P rogrammes and M usic
http://bbc .o penlink s w .c om /s pa rql/
B io2R D F
http://www.freebase.com/view/user/bio2rdf/public/sparql
US Government ”data.gov”
http://s em a ntic .da ta .g o v/s pa rql
UK Government ”data.gov.uk”
http://data.gov.uk/sparql
D B LP B ibliography D atabase
http://www4.wiwiss.fu-berlin.de/dblp/sparql
D bpedia
http://dbpedia .o rg /s pa rql
D rugB ank
http://www4.wiwiss.fu-berlin.de/drugbank/sparql
FlyAtlas
http://openflydata.org/query/flyatlas_20080916
Linked M ovie D ata B ase
http://da ta .link edm db.o rg /s pa rql
M us icbrainz from D B Tune
http://dbtune.org/musicbrainz/sparql
S TW Thes aurus for E conomics
http://zbw.eu/beta/sparql
S pace TALIS
http://a pi.ta lis .c o m /s to res /s pa c e/item s /tuto ria l/s
pa red.htm l
Linked P eriodicals
4
09/06/10
http://api.talis.com/stores/periodicals/services/sparql
G ra fo L ink ed O pen D a ta
5
09/06/10
Frameworks
6
C ommercial or
O pen-source
E nvironment
JE NA
O pen-source
Java
S esame
O pen-source
Java
AR C
O pen-source
P HP
R AP
O pen-source
P HP
C AR A
O pen-source
P erl
R ena (reformulated)
O pen-source
R uby
Hercules
O pen-source
JavaS cript
R owlex
O pen-source
C #, .Net
S parta
O pen-source
P hyton
S P AR Q L Wrapper
O pen-source
P hyton
09/06/10
JENA
• L ic enç a
• Hewlett-P ackard D evelopment C ompany , O pen S ource
• I m plem enta do
• Java
• R equis itos
• JD K 5
• P lataforma de desenvolvimento para Java
• E clipse
• NetB eans
7
09/06/10
J E N A : I ntro duç ã o
• Jena é um framework Java para criar
aplicações da Web S emântica
• Utilizado para criar e manipular grafos
RDF
• Interfaces
•
•
•
•
8
R es ource interface : R epres enta C lasses
P roperty interface : R epresenta P ropriedades
Literal interface : R epresenta Literais
M odel interface : R epres enta o Grafo
09/06/10
J E N A : C ria ndo um g ra fo
RDF
// D efinição
static S tring pers onUR I = "http://s omewhere/JohnS mith";
static S tring fullName =
;
// criar um Grafo vazio
M odel model = M odelFactory.createD efaultM odel();
// create uma class e
R esource johnS mith = model.createR es ource(pers onUR I);
S
// adicionar uma propriedade e s eu res pectivo valor
johnS mith.addP roperty(VC AR D .FN, fullName);
O
P
9
09/06/10
J E N A : C o ns ulta S P A R Q L
im port com.hp.hpl.jena.query.*;
String service = "..."; // Endereço do SPARQL EndPoint
String query = "SELECT ..."; // a Consulta SPARQL
QueryExecution e = QueryExecutionFactory.sparqlService( service,
query );
ResultSet results = e.execSelect();
w hile ( results.hasNext() )
{
QuerySolution s = results.nextSolution();
// …
}
e.close();
10
09/06/10
ARC
• L ic enç a
• O pen s ource framework
• I m plem enta do
• P HP 4 e P HP 5
• R equis ito s
• W eb S erver
• Apache (recomendado)
• IIS
• PHP
• M yS Q L
11
09/06/10
A R C : I ntro duç ã o
• AR C é um R D F ToolKit e S P AR Q L AP I
para manipulação de dados
representados em grafos R D F.
• P rincipais M ódulos
• P ars ers : M odulo que realiza a conversão de
dados
• S erializer : M odulo que realiza a serialização
• S parql : M odulo que implementa a AP I
S P AR Q L
• S tore : M odulo da lógica de armazenamento
12
09/06/10
A R C : C o nfig ura ç ã o do
E ndP o int
inc lude_o nc e('pa th/to /a rc /A R C 2.php');
$configR emote = array
(
'remote_store_endpoint' => 'http://dbpedia .o rg /s pa rql’,
);
$s to reR em o te = AR C 2::g etR em o teS tore($configR emote);
$config = array
(
'db_host' => 'localhos t', 'db_name' => 'my_db’,'db_user' => 'user’,
'db_pwd' => 'secret’,
'store_name' => 'my_store',
);
$s to reL o c a l = AR C 2::g etS to re($config);
13
09/06/10
A R C : I ns erta r tripla em
g ra fo R D F
$personUR I =“http://somewhere/JohnS mith”;
$property = “http://www.w3.org/2006/vcard/ns#FN”
$fullName = "John S mith";
$query = 'INS E R T INTO <http://O ntology/>
{ <'.$personUR I .'> <'$property.'> <'.$fullName.'>. }’;
$result = $s toreL o c a l->query($query);
14
09/06/10
A R C : C o ns ulta S P A R Q L
$query = ’
P R E FIX xsd: <http://www.w3.org/2001/X M LS chema#>
P R E FIX foaf: <http://xmlns.com/foaf/0.1/>
S E LE C T D IS TINC T ? pre ? obj
WHE R E {
<’.pers onUR I.'> ? pre ? obj
}’;
$rs = $s to reL o c a l>query($query ,’rows’);
Foreach( $rows as $row)
{
echo “P redicado : ”.$row[‘pre’];
echo “O bjecto: ”.$row[‘obj’];
}
15
09/06/10
$rs = $s to reR em o te>query($query ,’rows’);
P rinc ipa is R eferênc ia s
• S emantic Web D evelopment Tools , site
http://esw.w3.org/S emanticWebTools#P rogramming_
, C ons ultado 24/05/10
• Introducing AR C 2, s ite
http://arc.semsol.org/docs /v2/intro, C onsultado
24/05/10
• Jena – A S emantic Web Framework for Java,
site http://jena.sourceforge.net/, C onsultado
24/05/10
16
09/06/10
Download