O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Brainiak: Um plano maligno de dominação semântica hipermídia

1.487 visualizações

Publicada em

Presentation given at PythonBrasil[10] on 6th November, 2014 in Porto de Galinhas-PE. This presentaion explanis

Publicada em: Software

Brainiak: Um plano maligno de dominação semântica hipermídia

  1. 1. PythonBrasil [10] 2014 06 de Novembro de 2014 Rodrigo D. A. Senra
  2. 2. Apenas um rapaz latino americano... • Engenheiro de Computação Grad-MSc-PhD IC-Unicamp • Engenheiro de Software • GPr Sistemas (11 anos) • HI Tecnologia (5 anos) • Professor Universitário - PUC-Campinas (2 anos) • Especialista - Globo.com (2 anos) • Cientista Pesquisador - EMC2 • Entusiasta de FLOSS (atuante na comunidade Python desde 2000)
  3. 3. Vamos falar sobre … • Semântica • Aplicações • Modelo RDF • Brainiak API: • Por que foi criado ? • O que é ? • Como funciona ? • Quem desenvolve ? • Open-source o/ • Recados Finais
  4. 4. gelospboorte .com
  5. 5. CMA Jornalista Matéria Anotações Semânticas
  6. 6. cita
  7. 7. sujeito http://globoesporte.globo.com/…/noticia-tal predicado http://semantica.globo.com/base/cita_a_entidade objeto http://semantica.globo.com/esportes/Equipe/Barcelona
  8. 8. sujeito predicado http://www.w3.org/1999/02/22-rdf-syntax-ns#type objeto http://semantica.globo.com/esportes/Equipe Equipe/Barcelona
  9. 9. Ontologia Base
  10. 10. Ontologias de Domínio Upper Person Place Organization Music Programme Education Politics Sports
  11. 11. CMA Jornalista CDA Browser Internauta Web Matéria Anotações Semânticas Caches
  12. 12. Consulta SPARQL listar todos times select ?id ?nome from esportes: where { ?id rdf:type esportes:Equipe . ?id rdfs:label ?nome . }
  13. 13. Resposta SPARQL ?id ?nome
  14. 14. Solr Inicialmente Virtuosos
  15. 15. Migração Solr Legado Virtuosos Barramento Mercury Autenticação e Autorização Backstage Brainiak Eureka VoceDaNota A-Z Sitemaps CMAaS ElasticSearch
  16. 16. Cenário Ideal Virtuosos Barramento Brainiak ElasticSearch Autenticação e Autorização Backstage Eureka VoceDaNota A-Z Sitemaps CMAaS
  17. 17. Brainiak é … • 100% Python • API RESTful • Hipermídia (HATEOAS) • Json-schema ☜☞ RDF
  18. 18. Vamos examinar como o Brainiak opera.
  19. 19. Consulta SPARQL listar todos times select ?id ?nome from esportes: where { ?id rdf:type esportes:Equipe . ?id rdfs:label ?nome . }
  20. 20. Consulta ao Brainiak /esportes/Equipe GET
  21. 21. 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" }
  22. 22. 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
  23. 23. Mapa de Hiper-navegação
  24. 24. > 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 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
  25. 25. O Brainiak agora é open-source! @brainiak_api https://github.com/globocom/brainiak_api
  26. 26. Desenvolvedores Ícaro Medeiros Tatiana Al-Chueyr Rodrigo Senra … e grande elenco de colaboradores !
  27. 27. Obrigado a todos pela atenção. Rodrigo Dias Arruda Senra http://rodrigo.senra.nom.br rodsenra@gmail.com @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.

×