SlideShare una empresa de Scribd logo
1 de 27
Descargar para leer sin conexión
II Encontro Python 7Masters!
26 de Março de 2014!
!
Rodrigo D. A. Senra!
Apenas um rapaz latino americano...
• Especialista de Software

no mercado desde 1996
na Globo.com desde 08/2012
• Engenheiro de Computação 

Graduação-MSc-PhD IC-Unicamp
• Pythonista pioneiro (desde 1999)
3
BROADCAST MOVIES PAY TV INTERNET
EVENTS MUSIC
PUBLISHING
NEW VENTURES NEWSPAPERRADIO NETWORK
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.
Túmulo de Isabella vira local de visitação em SP; casal Nardoni está
preso.
Caso Isabella Nardoni
Juliana Cardilli
 G1 SP
Motivação
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.
Túmulo de Isabella vira local de visitação em SP; casal Nardoni está
preso.
Caso Isabella Nardoni
Juliana Cardilli
 G1 SP
RDF
FOAF
GEO
Dublin
Core
SKOS
Motivação
Ontologias
Solr
Virtuosos
Inicialmente
Atualmente
Legado Virtuosos
Solr
Barramento
Mercury
Brainiak
ElasticSearch
Autenticação e Autorização
Backstage
Eureka VoceDaNota A-Z Sitemaps CMAaS
Futuramente
Virtuosos
Barramento
Brainiak
ElasticSearch
Autenticação e Autorização
Backstage
Eureka VoceDaNota A-Z Sitemaps CMAaS
Brainiak é …
!
• 100% Python	

•API RESTful 	

• Hipermídia (HATEOAS)	

• Json-schema ☜☞ RDF
Vamos examinar como o
Brainiak opera.
listar todos times
Consulta SPARQL
/esportes/Equipe
Consulta ao Brainiak
GET
Resposta SPARQL
Resposta do Brainiak
{!
@context: {!
@language: pt!
},!
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
{!
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!
},!
…
/esportes/Equipe/_schema
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
Desenvolvedores
Ícaro Medeiros
Tatiana Al-Chueyr
Rodrigo Senra
Vamos liberar o Brainiak !
!
@brainiak_api
Obrigado a todos
pela atenção.
Rodrigo Dias Arruda Senra
rodrigo.senra@corp.globo.com
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.

Más contenido relacionado

Destacado

Cases de Python no 7Masters 2012
Cases de Python no 7Masters 2012Cases de Python no 7Masters 2012
Cases de Python no 7Masters 2012Rodrigo Senra
 
Depurador onisciente
Depurador oniscienteDepurador onisciente
Depurador oniscienteRodrigo Senra
 
Show Pyrotécnico - Keynote PythonBrasil[9] 2013
Show Pyrotécnico - Keynote PythonBrasil[9] 2013Show Pyrotécnico - Keynote PythonBrasil[9] 2013
Show Pyrotécnico - Keynote PythonBrasil[9] 2013Rodrigo Senra
 
Linked data at globo.com
Linked data at globo.comLinked data at globo.com
Linked data at globo.comRodrigo Senra
 
Rest, Gateway e Compiladores
Rest, Gateway e CompiladoresRest, Gateway e Compiladores
Rest, Gateway e CompiladoresRodrigo Senra
 
Python: A Arma Secreta do Cientista de Dados
Python: A Arma Secreta do Cientista de DadosPython: A Arma Secreta do Cientista de Dados
Python: A Arma Secreta do Cientista de DadosRodrigo Senra
 
Semantic day 2013 linked data at globo.com
Semantic day 2013   linked data at globo.comSemantic day 2013   linked data at globo.com
Semantic day 2013 linked data at globo.comSemantic Team
 
Integração entre times e o desafio de desenvolver uma aplicação (v2)
Integração entre times e o desafio de desenvolver uma aplicação (v2)Integração entre times e o desafio de desenvolver uma aplicação (v2)
Integração entre times e o desafio de desenvolver uma aplicação (v2)Victor Pantoja
 
Python Brasil 2010 - Potter vs Voldemort - Lições ofidiglotas da prática Pyth...
Python Brasil 2010 - Potter vs Voldemort - Lições ofidiglotas da prática Pyth...Python Brasil 2010 - Potter vs Voldemort - Lições ofidiglotas da prática Pyth...
Python Brasil 2010 - Potter vs Voldemort - Lições ofidiglotas da prática Pyth...Rodrigo Senra
 
pa-pe-pi-po-pure Python Text Processing
pa-pe-pi-po-pure Python Text Processingpa-pe-pi-po-pure Python Text Processing
pa-pe-pi-po-pure Python Text ProcessingRodrigo Senra
 
Construindo Sua Primeira Ontologia
Construindo Sua Primeira OntologiaConstruindo Sua Primeira Ontologia
Construindo Sua Primeira OntologiaVictor Pantoja
 
O CartolaFC e o processo de desenvolvimento na globo.com
O CartolaFC e o processo de desenvolvimento na globo.comO CartolaFC e o processo de desenvolvimento na globo.com
O CartolaFC e o processo de desenvolvimento na globo.comAlexandre Saboia Fuziyama
 
Python e Django na Globo.com
Python e Django na Globo.comPython e Django na Globo.com
Python e Django na Globo.comricobl
 
Python: a arma secreta do Cientista de Dados
Python: a arma secreta do Cientista de DadosPython: a arma secreta do Cientista de Dados
Python: a arma secreta do Cientista de DadosRodrigo Senra
 

Destacado (15)

Cases de Python no 7Masters 2012
Cases de Python no 7Masters 2012Cases de Python no 7Masters 2012
Cases de Python no 7Masters 2012
 
Cientista de Dados
Cientista de DadosCientista de Dados
Cientista de Dados
 
Depurador onisciente
Depurador oniscienteDepurador onisciente
Depurador onisciente
 
Show Pyrotécnico - Keynote PythonBrasil[9] 2013
Show Pyrotécnico - Keynote PythonBrasil[9] 2013Show Pyrotécnico - Keynote PythonBrasil[9] 2013
Show Pyrotécnico - Keynote PythonBrasil[9] 2013
 
Linked data at globo.com
Linked data at globo.comLinked data at globo.com
Linked data at globo.com
 
Rest, Gateway e Compiladores
Rest, Gateway e CompiladoresRest, Gateway e Compiladores
Rest, Gateway e Compiladores
 
Python: A Arma Secreta do Cientista de Dados
Python: A Arma Secreta do Cientista de DadosPython: A Arma Secreta do Cientista de Dados
Python: A Arma Secreta do Cientista de Dados
 
Semantic day 2013 linked data at globo.com
Semantic day 2013   linked data at globo.comSemantic day 2013   linked data at globo.com
Semantic day 2013 linked data at globo.com
 
Integração entre times e o desafio de desenvolver uma aplicação (v2)
Integração entre times e o desafio de desenvolver uma aplicação (v2)Integração entre times e o desafio de desenvolver uma aplicação (v2)
Integração entre times e o desafio de desenvolver uma aplicação (v2)
 
Python Brasil 2010 - Potter vs Voldemort - Lições ofidiglotas da prática Pyth...
Python Brasil 2010 - Potter vs Voldemort - Lições ofidiglotas da prática Pyth...Python Brasil 2010 - Potter vs Voldemort - Lições ofidiglotas da prática Pyth...
Python Brasil 2010 - Potter vs Voldemort - Lições ofidiglotas da prática Pyth...
 
pa-pe-pi-po-pure Python Text Processing
pa-pe-pi-po-pure Python Text Processingpa-pe-pi-po-pure Python Text Processing
pa-pe-pi-po-pure Python Text Processing
 
Construindo Sua Primeira Ontologia
Construindo Sua Primeira OntologiaConstruindo Sua Primeira Ontologia
Construindo Sua Primeira Ontologia
 
O CartolaFC e o processo de desenvolvimento na globo.com
O CartolaFC e o processo de desenvolvimento na globo.comO CartolaFC e o processo de desenvolvimento na globo.com
O CartolaFC e o processo de desenvolvimento na globo.com
 
Python e Django na Globo.com
Python e Django na Globo.comPython e Django na Globo.com
Python e Django na Globo.com
 
Python: a arma secreta do Cientista de Dados
Python: a arma secreta do Cientista de DadosPython: a arma secreta do Cientista de Dados
Python: a arma secreta do Cientista de Dados
 

Último

Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuisKitota
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfSamaraLunas
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 

Último (8)

Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 

Brainiak - uma API REST Hipermedia