39
PythonBrasil [10] 2014 06 de Novembro de 2014 Rodrigo D. A. Senra

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

Embed Size (px)

DESCRIPTION

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

Citation preview

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

PythonBrasil [10] 201406 de Novembro de 2014

Rodrigo D. A. Senra

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

Apenas um rapaz latino americano...

• 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

• Engenheiro de Computação Grad-MSc-PhD IC-Unicamp

• Entusiasta de FLOSS(atuante na comunidade Python desde 2000)

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

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

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

globoesporte.com

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

CMA

Jornalista

Matéria

Anotações Semânticas

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

cita

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

http://globoesporte.globo.com/…/noticia-tal

http://semantica.globo.com/esportes/Equipe/Barcelona

http://semantica.globo.com/base/cita_a_entidade

sujeito

predicado

objeto

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

http://semantica.globo.com/esportes/Equipe/Barcelona

http://www.w3.org/1999/02/22-rdf-syntax-ns#type

sujeito

predicado

objetohttp://semantica.globo.com/esportes/Equipe

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

Ontologia Base

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

Upper

Person Place Organization

Music

Politics

Programme Education

Sports

Ontologias de Domínio

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

CMA

Jornalista

CDA

Browser

Internauta

Web

Caches

Matéria

Anotações Semânticas

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

listar todos timesConsulta SPARQL

select ?id ?nomefrom esportes:where {

?id rdf:type esportes:Equipe . ?id rdfs:label ?nome .}

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

Resposta SPARQL?id ?nome

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

Solr

Virtuosos

Inicialmente

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

Migração

Legado Virtuosos

Solr

Barramento

Mercury

Autenticação e AutorizaçãoBackstage

Eureka VoceDaNota A-Z Sitemaps CMAaS

Brainiak

ElasticSearch

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

Cenário Ideal

Virtuosos

Barramento

Brainiak

ElasticSearch

Autenticação e AutorizaçãoBackstage

Eureka VoceDaNota A-Z Sitemaps CMAaS

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

Brainiak é …

• 100% Python• API RESTful • Hipermídia (HATEOAS)

• Json-schema ☜☞ RDF

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

Vamos examinar como o Brainiak opera.

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

listar todos timesConsulta SPARQL

select ?id ?nomefrom esportes:where {

?id rdf:type esportes:Equipe . ?id rdfs:label ?nome .}

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

/esportes/Equipe

Consulta ao Brainiak

GET

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

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"}

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

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

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

Mapa de Hiper-navegação

Page 31: Brainiak: Um plano maligno de dominação semântica hipermídia
Page 32: Brainiak: Um plano maligno de dominação semântica hipermídia
Page 33: Brainiak: Um plano maligno de dominação semântica hipermídia
Page 34: Brainiak: Um plano maligno de dominação semântica hipermídia

> pip freeze

SPARQLWrapper==1.5.0-authdigestDAD==1.0.2ESTester==1.1.0Fabric==1.6.0Jinja2==2.7.1MarkupSafe==0.18Pygments==1.6Sphinx==1.1.3Unidecode==0.04.14alf==0.4astroid==1.0.0coverage==3.7distribute==0.7.3docutils==0.11ecdsa==0.9

nose-exclude==0.1.9paramiko==1.12.0pep8==1.4.1pinocchio==0.3.1pycrypto==2.6pycurl==7.19.0pyflakes==0.7.3pylint==1.0.0python-dateutil==2.2python-slugify==0.0.7rdflib==3.2.3redis==2.7.6requests==2.0.1greenlet==0.4.0gunicorn==0.14.6isodate==0.4.9jsonschema==2.3.0meld3==0.6.10

selenium==2.37.2semantic-web-pygments==0.1.0simplejson==3.3.1six==1.5.2sphinx-bootstrap-theme==0.1.8sphinxcontrib-programoutput==0.8splinter==0.5.4stomp.py==3.1.3supervisor==3.0b2tornado==3.1tornado-cors==0.3.2ujson==1.33uritemplate==0.6wsgiref==0.1.2mock==1.0.1logilab-common==0.60.0meld3==0.6.10mock==1.0.1nose==1.2.1

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

O Brainiak agora é open-source!

@brainiak_api

https://github.com/globocom/brainiak_api

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

Desenvolvedores

Ícaro Medeiros

Tatiana Al-Chueyr

Rodrigo Senra

… e grande elenco de colaboradores !

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

Obrigado a todos pela atenção.

Rodrigo Dias Arruda Senra

http://rodrigo.senra.nom.br [email protected]

@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.