! ! Rodrigo D. A. Senra! ! ! Rodrigo D. A. Senra! Apenas um rapaz latino americano... • Engenheiro de Computação Graduação-MSc-PhD IC-Unicamp • Pythonista pioneiro (desde 1999) de Software • Especialista no mercado desde 1996 na Globo.com desde 08/2012 2 Apenas um rapaz latino americano... • Engenheiro de Computação Graduação-MSc-PhD IC-Unicamp • Pythonista pioneiro (desde 1999) de Software • Especialista no mercado desde 1996 na Globo.com desde 08/2012 2 BROADCAST MOVIES EVENTS RADIO NETWORK PAY TV NEW VENTURES INTERNET MUSIC PUBLISHING NEWSPAPER BROADCAST MOVIES EVENTS RADIO NETWORK PAY TV NEW VENTURES INTERNET MUSIC PUBLISHING NEWSPAPER Vamos falar sobre … Vamos falar sobre … Semântica • Aplicações • Modelo RDF Vamos falar sobre … Semântica • Aplicações • Modelo RDF Brainiak API: • • • • • Por que foi criado ? O que é ? Como funciona ? Quem desenvolve ? Quando vira open-source ? O ator Charles Chapling, famoso pelo personagem Carlitos, personificou Adolph Hitler em “O Grande Ditador”. globo esporte .com globo esporte .com Anotações Semânticas Anotações Semânticas Caso Isabella Nardoni Túmulo de Isabella vira local de visitação em SP; casal Nardoni está preso. Juliana Cardilli G1 SP Isabella Nardoni foi morta em 29 de março de 2008 Isabella de Oliveira Nardoni, de 5 anos, foi morta na noite de 29 de março de 2008. A perícia concluiu que a menina foi atirada do sexto andar do prédio onde moravam seu pai, Alexandre Nardoni, sua madrasta, Anna Carolina Jatobá, e dois filhos pequenos do casal, na Vila Isolina Mazzei, na zona norte de São Paulo. Anotações Semânticas Caso Isabella Nardoni Túmulo de Isabella vira local de visitação em SP; casal Nardoni está preso. Juliana Cardilli G1 SP Isabella Nardoni foi morta em 29 de março de 2008 Isabella de Oliveira Nardoni, de 5 anos, foi morta na noite de 29 de março de 2008. A perícia concluiu que a menina foi atirada do sexto andar do prédio onde moravam seu pai, Alexandre Nardoni, sua madrasta, Anna Carolina Jatobá, e dois filhos pequenos do casal, na Vila Isolina Mazzei, na zona norte de São Paulo. Anotações Semânticas Caso Isabella Nardoni Túmulo de Isabella vira local de visitação em SP; casal Nardoni está preso. Juliana Cardilli G1 SP Isabella Nardoni foi morta em 29 de março de 2008 Isabella de Oliveira Nardoni, de 5 anos, foi morta na noite de 29 de março de 2008. A perícia concluiu que a menina foi atirada do sexto andar do prédio onde moravam seu pai, Alexandre Nardoni, sua madrasta, Anna Carolina Jatobá, e dois filhos pequenos do casal, na Vila Isolina Mazzei, na zona norte de São Paulo. FOAF GEO Dublin Core SKOS RDF Jornalista CMA Jornalista â CMA ia s r e é t õ Ma otaç An m Se ca nti s Jornalista â CMA ia s r e é t õ Ma otaç An m Se ca nti s cita cita http://semantica.globo.com/base/cita_a_entidade http://globoesporte.globo.com/…/noticia-tal http://semantica.globo.com/base/cita_a_entidade http://globoesporte.globo.com/…/noticia-tal http://semantica.globo.com/base/cita_a_entidade http://semantica.globo.com/esportes/Equipe/Barcelona sujeito http://globoesporte.globo.com/…/noticia-tal predicado http://semantica.globo.com/base/cita_a_entidade objeto http://semantica.globo.com/esportes/Equipe/Barcelona sujeito predicado objeto http://semantica.globo.com/esportes/Equipe/Barcelona sujeito http://semantica.globo.com/esportes/Equipe/Barcelona predicado objeto sujeito http://semantica.globo.com/esportes/Equipe/Barcelona predicado http://www.w3.org/1999/02/22-rdf-syntax-ns#type objeto http://semantica.globo.com/esportes/Equipe Consulta SPARQL listar todos times select ?id ?nome! from esportes:! where {! ! ?id rdf:type esportes:Equipe .! ?id rdfs:label ?nome .! } Resposta SPARQL ?id ?nome Jornalista â CMA CDA ia s r e é t õ Ma otaç An m Se ca nti s Jornalista â CMA CDA ia s r e é t õ Ma otaç An m Se ca nti s Jornalista â CMA ia s r e é t õ Ma otaç An m Se ca nti s CDA Caches Jornalista â CMA ia s r e é t õ Ma otaç An m Se ca nti s CDA Caches Jornalista â CMA ia s r e é t õ Ma otaç An m Se ca nti s Internauta Browser Web CDA Caches Jornalista â CMA ia s r e é t õ Ma otaç An m Se ca nti s Internauta Browser Web CDA Caches Inicialmente Solr Virtuosos Inicialmente Solr Virtuosos Inicialmente Solr Virtuosos Inicialmente Solr Virtuosos Inicialmente Solr Virtuosos Atualmente Solr Legado Virtuosos Atualmente Solr Legado Virtuosos ElasticSearch Brainiak Atualmente Solr Legado Barramento Mercury Brainiak Virtuosos ElasticSearch Atualmente Solr Virtuosos Legado ElasticSearch Barramento Mercury Brainiak Eureka VoceDaNota A-Z Sitemaps CMAaS Atualmente Solr Virtuosos Legado ElasticSearch Barramento Mercury Brainiak Eureka VoceDaNota Autenticação e Autorização A-Z Sitemaps Backstage CMAaS Futuramente ElasticSearch Barramento Brainiak Virtuosos Autenticação e Autorização Eureka VoceDaNota A-Z Sitemaps Backstage CMAaS Brainiak é … ! • 100% Python • API RESTful • Hipermídia (HATEOAS) • Json-schema ☜☞ RDF Vamos examinar como o Brainiak opera. Consulta SPARQL listar todos times select ?id ?nome! from esportes:! where {! ! ?id rdf:type esportes:Equipe .! ?id rdfs:label ?nome .! } Consulta ao Brainiak GET /esportes/Equipe Resposta do Brainiak {! "items": [! {! "title": "Atlético-MG",! "@id": "http://semantica.globo.com/esportes/equipe/282",! "class_prefix": "esportes",! "resource_id": "282"! },! {! "title": "Bahia de Feira",! "@id": "http://semantica.globo.com/esportes/equipe/2590",! "class_prefix": "esportes",! "resource_id": "2590"! }[! ],! "@id": "esportes:Equipe"! } Esquema do Brainiak /esportes/Equipe/_schema {! "links": [! {! "href": "/esportes/Equipe/_schema?class_prefix=http://semantica.globo.com/esportes/",! "method": "GET",! "rel": "class"! },! {! "href": "/esportes/Equipe?class_prefix=http://semantica.globo.com/esportes/",! "method": "POST",! "rel": "create",! "schema": {"$ref": "{+_base_url}"}! },! {! "href": "/_/_/_?instance_uri={value}",! "method": "GET",! "rel": "relatedInstance"! },! … Mapa de Hiper-navegação > pip freeze SPARQLWrapper==1.5.0-authdigest DAD==1.0.2 ESTester==1.1.0 Fabric==1.6.0 Jinja2==2.7.1 MarkupSafe==0.18 Pygments==1.6 Sphinx==1.1.3 Unidecode==0.04.14 alf==0.4 astroid==1.0.0 coverage==3.7 distribute==0.7.3 docutils==0.11 ecdsa==0.9 nose-exclude==0.1.9 paramiko==1.12.0 pep8==1.4.1 pinocchio==0.3.1 pycrypto==2.6 pycurl==7.19.0 pyflakes==0.7.3 pylint==1.0.0 python-dateutil==2.2 python-slugify==0.0.7 rdflib==3.2.3 redis==2.7.6 requests==2.0.1 greenlet==0.4.0 gunicorn==0.14.6 isodate==0.4.9 jsonschema==2.3.0 ogilab-common==0.60.0 meld3==0.6.10 selenium==2.37.2 semantic-web-pygments==0.1.0 simplejson==3.3.1 six==1.5.2 sphinx-bootstrap-theme==0.1.8 sphinxcontrib-programoutput==0.8 splinter==0.5.4 stomp.py==3.1.3 supervisor==3.0b2 tornado==3.1 tornado-cors==0.3.2 ujson==1.33 uritemplate==0.6 wsgiref==0.1.2 mock==1.0.1 logilab-common==0.60.0 meld3==0.6.10 mock==1.0.1 nose==1.2.1 Vamos liberar o Brainiak ! ! @brainiak_api Desenvolvedores Desenvolvedores Ícaro Medeiros Tatiana Al-Chueyr Rodrigo Senra … e grande elenco de colaboradores ! globodev.tumblr.com Obrigado a todos pela atenção. Rodrigo Dias Arruda Senra ! [email protected] http://rodrigo.senra.nom.br @rodsenra As opiniões e conclusões expressas nesta apresentação são de exclusiva responsabilidade de Rodrigo Senra. ! É necessário requisitar permissão do autor para o uso de partes ou do todo desta apresentação, favor consultar o autor. ! As ilustrações do Brainiac foram obtidas de domínio público e são de autoria de Alex Ross.