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