SlideShare una empresa de Scribd logo
en la Web Semántica




Santiago Coffey - PyCon 2009 - Buenos Aires
WEB
WEB
Global Internet traffic estimates (TB/month)

9.000.000

7.500.000

6.000.000

4.500.000

3.000.000

1.500.000

       0
        1990 1992            1994     1996 1998 2000 2002 2004 2006 2008



            Source: Cisco Visual Networking Index Forecast. http://www.cisco.com/go/vni
LA MUERTE DE LA WEB 2.0
QUÉ fue LA
    ES

WEB
2.0
La web 2.0 es la
segunda generación del
desarrollo y diseño web
¿Cuál es la receta para esa nueva forma
                       de hacer la web?
12 patrones
PATTERN #1   
INFORMATION
    SHARING
1.0                2.0




     FUENTE      FUENTE Y SUMIDERO
DE INFORMACIÓN    DE INFORMACIÓN
WEB SITES
WEB APPLICATIONS
 WEB SERVICES
                   3.0     SEMANTIC WEB




                   USERS
PATTERN #2   
USER-CENTERED
       DESIGN
WEB 1.0                WEB 2.0




CENTRADO EN RECURSOS   CENTRADO EN USUARIOS
http         email

  socket          xmlrpc          xml
cgi     PYTHON 3.0                   ssl
         BATTERIES INCLUDED
smtpd
                                   hashlib
 urllib       smtplib      json

        wsgiref      codecs       html
Babel      lxml           Paste    Beaker

 boto          NumPy      nltk      WebHelpers
PIL
      PYTHON MODULES
 Twisted        SWISS ARMY KNIFE               PyYAML

                                  FormEncode
      SQLAlchemy
          BeautifulSoup          feedparser
      python-memcached              pycrypto
PATTERN #3   
 MODEL-VIEW-
 CONTROLLER
ARCHITECTURE
HTTP://WWW.E-XAMPLE.COM   http://examp.le


                                        BROWSER
    DIRECTORY
    DIRECTORY                        WEB SERVER

      DIRECTORY
             JPG                  ROUTE DISPATCHER

             GIF
                                      CONTROLLER
       JS
       HTML
       HTML                     MODEL        VIEW


    HTML
    HTML                          DATA
                                   BASE


 SITIO WEB: REPOSITORIO      APLICACIÓN WEB:
  DE PÁGINAS ESTÁTICAS    MULTI-CAPA, CON ESTADO
Python Web Frameworks
 • Django       • Zope

 • Pylons       • Plone

 • TurboGears   • MoinMoin

 • Google App   • Python Paste
   Engine
                • CherryPy
Alternative DBMS
• memcachedb       • Key-value
                     storage
• HBase + Thrift
                   • No joins, non-
• flat files (CSV)
                     transactional
• BerkeleyDB
                   • Scalable,
• Map Reduce         fault-tolerant
PATTERN #4   
PARTICIPATION &
COLLABORATION
WEB 1.0                 WEB 2.0




PUBLICACIÓN INDIVIDUAL   EDICIÓN COLABORATIVA
PATTERN #5   
     SOCIAL
NETWORKING
1.0                2.0




RED DE COMPUTADORAS   RED DE AMIGOS
IDEA SIMPLE
   GRANDES
RESULTADOS
PATTERN #6   
       SEARCH &
RECOMMENDATION
        ENGINES
WEB 1.0: NAVEGAR TODO PARA DESCUBRIR




                    WEB 2.0: TEORÍA DEL ICEBERG
                            (SÓLO SE VE EL 10%)
¿Qué hace una web semántica?

 • Integración (aggregation)
 • Definición de ontologías
 • Análisis semántico
 • Agregado de valor (filtrado,
   asociación, recomendación, etc.)
¿Cuál es la misión
de la web semántica?
¿De qué habla (cuál es el significado)
                        el contenido de un determinado
                                     documento HTML?


 ¿Cuál es el contenido
relevante de un determinado
documento HTML?



                                 ¿En qué idioma está un
                                    texto determinado?
¿Qué palabras son equivalentes
entre sí? (stemming)


                              ¿Se pueden inferir tags
                             automáticamente a partir
                                        de un texto?


¿Cómo se pueden eliminar palabras
comunes como artículos y
preposiciones (stop words)?
¿Cuál es la estructura sintáctica
                         de una oración o proposición?
                                        (part of speech)


¿Cómo se puede eliminar la
ambigüedad entre los distintos
significados de una misma palabra?


                                    ¿Es posible agregar
                               información del contexto
                                        eficientemente?
¿Cómo se puede mejorar la relación
                  señal-ruido (signal to noise ratio) de la
                   información que consume un usuario?



¿Cómo se pueden identificar
digramas en un texto?



                    ¿Cuántas y cuáles son las categorías
                   apropiadas para clasificar contenidos
                        en una determinada ontología?
PATTERN #7   
FOLKSONOMY
WEB 1.0                      WEB 2.0




         TAXONOMY                     FOLKSONOMY
(HIERARCHICAL CLASSIFICATION)   (COLLABORATIVE TAGGING)
PATTERN #8   
COMMUNITY &
   COLLECTIVE
 INTELLIGENCE
WEB 1.0                WEB 2.0




CONSTRUIR PORTALES   CONSTRUIR COMUNIDADES
PATTERN #9   
INTER-OPERABILITY &
  DATA PORTABILITY
RSS

                                                 Atom


                                                {json}
                                     Widgets

                                                 JSON


                                                <xml/>
                                     RDF

                                              XML-RPC




WEB CRAWLERS / SPIDERS / BOTS   WEB SYNDICATION, WIDGETS,
      (HTML SCRAPING)            OPEN APIs, AGGREGATION
Ejemplo: Atom feed
from feedparser import parse

url = 'http://blog.ianbicking.org/' 
     'feed/atom/'
feed = parse(url)
titles = [i['title'] for i in 
     feed['entries']]
print 'n'.join(titles)
Ejemplo: Twitter API
from urllib2 import urlopen
from simplejson import loads

url = 'http://twitter.com/statuses/' 
     'user_timeline/JohnCLeese.json'
raw_data = urlopen(url).read()
tweets = [i['text'] for i in 
     loads(raw_data)]
print 'n'.join(tweets)
Ejemplo: GData API
from gdata.service.youtube import 
     YoutubeService

url = 'http://gdata.youtube.com/feeds/' 
     'api/users/MontyPython/uploads'
client = YouTubeService()
feed = client.GetYouTubeVideoFeed(url)
titles = [i.title.text for i in 
     feed.entry]
print 'n'.join(titles)
Ejemplo: HTML Scraping
from urllib2 import urlopen
from lxml.html import fromstring

url = ...
html = urlopen(url).read()
root = fromstring(html)


• Demo con Microformats en LinkedIn
PATTERN #10   
 RICH USER
EXPERIENCE
CLIENT-SIDE SCRIPTING CON
INTERACCIÓN POR FORMULARIOS
                              INTERACCIÓN ASINCRÓNICA
   (CON RECARGA DE PÁGINA)
                                       (e.g.: AJAX)
Web OS?
PATTERN #11   
SEPARATION OF
 CONTENT AND
 PRESENTATION
<HTML>

<HEAD>
<TITLE>My Homepage</TITLE>
</HEAD>
                                                    STRUCTURE &
                                                     CONTENT
<BODY BGCOLOR="YELLOW">                      XHTML
<SCRIPT>window.status="Hello!"</SCRIPT>


                                                         +
<TABLE WIDTH="640">
<TR><TD>



                                             
<CENTER>
<MARQUEE>Welcome to my homepage!</MARQUEE>

                                                     PRESENTATION
<IMG SRC="animation.gif" WIDTH="180"
HEIGHT="31" BORDER="1">
</CENTER>
                                             CSS

                                                         +
<P><FONT COLOR="blue">This is a <BR>
<FONT FACE="Arial"><U>fake link</U>!
</FONT></P>
</TD>

<TD ALIGN="RIGHT">
<P>Sign my <A HREF="/cgi-bin/sign"
TARGET="_parent">guestbook</A></P>
<BLINK>Under <B>construction</B>!</BLINK>
                                                    CLIENT-SIDE
                                                     SCRIPTING
                                              JS
</TD></TR>
</TABLE>
</BODY>
</HTML>
                                              STRUCTURE & CONTENT
             CLUTTERED HTML
                                                 ≠ PRESENTATION
PATTERN #12   
  WEB AS A
 PLATFORM
(UBIQUITY)

           WEB



                                      TV
                                               

       YOUR SYSTEM
          IS THE
        PLATFORM
                             
                              
                                     THE WEB
                                               
                                      IS THE
                                    PLATFORM




PROPRIETARY SPECIFICATIONS      WEB STANDARDS
  PLATFORM DEPENDENCE         DEVICE INDEPENDENCE
      BROWSER WARS           CROSS-PLATFORM DESIGN
OMNIPRESENCIA (UBIQUITY)




THE WEB IS WATCHING YOU!
• Robot no exactamente
  electro-mecánico
• Sensores:
  Humanos-Máquinas
• Actuadores:
  Humanos-Máquinas
• Entorno: Mundo
• AI: Webapps +
  Semantic Web + ...
• Procesa datos y
  responde a estímulos
• ¿Es autónomo?
• ¿Es consciente?
• Es tolerante a fallas
• Es “inteligente”
• Aprende
• Evoluciona

                          © John W Liberto
Suena ilusorio ¿no?




¿Pero podíamos imaginar hace 20 años
una web como la que hoy conocemos?




                      Además, ya hay aplicaciones...
Resumen: Los 12 patrones
• Information sharing       • Folksonomy

• User-centered design      • Community & collective
                              intelligence
• MVC Architecture
                            • Inter-operability & Data
• Participation &             portability
  collaboration
                            • Rich User Experience
• Social networking
                            • Content ≠ Presentation
• Search & recommendation
  engines                   • Web as a Platform
Conclusiones

• Web como AI (como un robot)
• Misión de la web semántica:
  Agregar valor a la información
• ¿Tecnología? No, patrones
¡Gracias!




santiago.coffey@popego.com
    http://twitter.com/scoffey
   http://scoffey.popego.com
Python en la Web Semántica
Python en la Web Semántica
Python en la Web Semántica
Python en la Web Semántica
Python en la Web Semántica
Python en la Web Semántica

Más contenido relacionado

Destacado

Linking the world with Python and Semantics
Linking the world with Python and SemanticsLinking the world with Python and Semantics
Linking the world with Python and Semantics
Tatiana Al-Chueyr
 
Semantic web, python, construction industry
Semantic web, python, construction industrySemantic web, python, construction industry
Semantic web, python, construction industry
Reinout van Rees
 
Euroscipy SemNews 2011
Euroscipy SemNews 2011Euroscipy SemNews 2011
Euroscipy SemNews 2011
Logilab
 
The Semantic Web and its Impact on International Websites
The Semantic Web and its Impact on International WebsitesThe Semantic Web and its Impact on International Websites
The Semantic Web and its Impact on International Websites
Martin Hepp
 
ISKO 2010: Linked Data in E-Commerce – The GoodRelations Ontology
ISKO 2010: Linked Data in E-Commerce – The GoodRelations OntologyISKO 2010: Linked Data in E-Commerce – The GoodRelations Ontology
ISKO 2010: Linked Data in E-Commerce – The GoodRelations Ontology
Martin Hepp
 
Semantic Web-based E-Commerce: The GoodRelations Ontology
Semantic Web-based E-Commerce: The GoodRelations OntologySemantic Web-based E-Commerce: The GoodRelations Ontology
Semantic Web-based E-Commerce: The GoodRelations Ontology
Martin Hepp
 
The GoodRelations Ontology: Making Semantic Web-based E-Commerce a Reality
The GoodRelations Ontology: Making Semantic  Web-based E-Commerce a RealityThe GoodRelations Ontology: Making Semantic  Web-based E-Commerce a Reality
The GoodRelations Ontology: Making Semantic Web-based E-Commerce a Reality
Martin Hepp
 
Semantic keyword research for e commerce site architecture planning
Semantic keyword research for e commerce site architecture planningSemantic keyword research for e commerce site architecture planning
Semantic keyword research for e commerce site architecture planning
Semrush
 
Semantic Web Landscape 2009
Semantic Web Landscape 2009Semantic Web Landscape 2009
Semantic Web Landscape 2009
LeeFeigenbaum
 
A Short Introduction to Semantic Web-based E-Commerce: The GoodRelations Voca...
A Short Introduction to Semantic Web-based E-Commerce: The GoodRelations Voca...A Short Introduction to Semantic Web-based E-Commerce: The GoodRelations Voca...
A Short Introduction to Semantic Web-based E-Commerce: The GoodRelations Voca...
Martin Hepp
 
Evolution Towards Web 3.0: The Semantic Web
Evolution Towards Web 3.0: The Semantic WebEvolution Towards Web 3.0: The Semantic Web
Evolution Towards Web 3.0: The Semantic Web
LeeFeigenbaum
 

Destacado (11)

Linking the world with Python and Semantics
Linking the world with Python and SemanticsLinking the world with Python and Semantics
Linking the world with Python and Semantics
 
Semantic web, python, construction industry
Semantic web, python, construction industrySemantic web, python, construction industry
Semantic web, python, construction industry
 
Euroscipy SemNews 2011
Euroscipy SemNews 2011Euroscipy SemNews 2011
Euroscipy SemNews 2011
 
The Semantic Web and its Impact on International Websites
The Semantic Web and its Impact on International WebsitesThe Semantic Web and its Impact on International Websites
The Semantic Web and its Impact on International Websites
 
ISKO 2010: Linked Data in E-Commerce – The GoodRelations Ontology
ISKO 2010: Linked Data in E-Commerce – The GoodRelations OntologyISKO 2010: Linked Data in E-Commerce – The GoodRelations Ontology
ISKO 2010: Linked Data in E-Commerce – The GoodRelations Ontology
 
Semantic Web-based E-Commerce: The GoodRelations Ontology
Semantic Web-based E-Commerce: The GoodRelations OntologySemantic Web-based E-Commerce: The GoodRelations Ontology
Semantic Web-based E-Commerce: The GoodRelations Ontology
 
The GoodRelations Ontology: Making Semantic Web-based E-Commerce a Reality
The GoodRelations Ontology: Making Semantic  Web-based E-Commerce a RealityThe GoodRelations Ontology: Making Semantic  Web-based E-Commerce a Reality
The GoodRelations Ontology: Making Semantic Web-based E-Commerce a Reality
 
Semantic keyword research for e commerce site architecture planning
Semantic keyword research for e commerce site architecture planningSemantic keyword research for e commerce site architecture planning
Semantic keyword research for e commerce site architecture planning
 
Semantic Web Landscape 2009
Semantic Web Landscape 2009Semantic Web Landscape 2009
Semantic Web Landscape 2009
 
A Short Introduction to Semantic Web-based E-Commerce: The GoodRelations Voca...
A Short Introduction to Semantic Web-based E-Commerce: The GoodRelations Voca...A Short Introduction to Semantic Web-based E-Commerce: The GoodRelations Voca...
A Short Introduction to Semantic Web-based E-Commerce: The GoodRelations Voca...
 
Evolution Towards Web 3.0: The Semantic Web
Evolution Towards Web 3.0: The Semantic WebEvolution Towards Web 3.0: The Semantic Web
Evolution Towards Web 3.0: The Semantic Web
 

Similar a Python en la Web Semántica

Introdución a la web: HTTP, URL y HTML
Introdución a la web: HTTP, URL y HTMLIntrodución a la web: HTTP, URL y HTML
Introdución a la web: HTTP, URL y HTML
Joaquín Salvachúa
 
Presentacion Curso CSS
Presentacion Curso CSSPresentacion Curso CSS
Presentacion Curso CSS
Ismael Celis
 
Web2 Quiensomos
Web2 QuiensomosWeb2 Quiensomos
Web2 Quiensomos
Joaquín Salvachúa
 
Diseño web
Diseño webDiseño web
Diseño web
valenciaredsocial
 
Diseño web
Diseño webDiseño web
Diseño web
valenciaredsocial
 
Que es html
Que es htmlQue es html
Que es html
vasquezcarranza
 
Sesion 2 Profundización
Sesion 2 ProfundizaciónSesion 2 Profundización
Sesion 2 Profundización
Pedro Jimenez
 
Diseño web
Diseño webDiseño web
Diseño web
valenciaredsocial
 
Los secretos detrás de cómo hacer la web
Los secretos detrás de cómo hacer la webLos secretos detrás de cómo hacer la web
Los secretos detrás de cómo hacer la web
neoAV
 
Bw
BwBw
Bw
emiyan
 
BW ITV
BW ITVBW ITV
BW ITV
emiyan
 
Diseño web
Diseño webDiseño web
Diseño web
valenciaredsocial
 
Jc Web2.0 Java Ee5 Net Beans
Jc Web2.0 Java Ee5 Net BeansJc Web2.0 Java Ee5 Net Beans
Jc Web2.0 Java Ee5 Net Beans
vicosw
 
Diseño web
Diseño webDiseño web
Diseño web
valenciaredsocial
 
Tarea 8
Tarea 8Tarea 8
Tarea 8
lcarrillop
 
Las Ventajas de usar HTML5 Y CSS3
Las Ventajas de usar HTML5 Y CSS3Las Ventajas de usar HTML5 Y CSS3
Las Ventajas de usar HTML5 Y CSS3
Gerson Perez Aguilar
 
Presentación RodrigoPolo.com @ Barcamp Guatemala '09
Presentación RodrigoPolo.com @ Barcamp Guatemala '09Presentación RodrigoPolo.com @ Barcamp Guatemala '09
Presentación RodrigoPolo.com @ Barcamp Guatemala '09
Rodrigo Polo
 
Javascript en proyectos reales: jQuery
Javascript en proyectos reales: jQueryJavascript en proyectos reales: jQuery
Javascript en proyectos reales: jQuery
David Arango
 
HTML5
HTML5HTML5
HTML5
vivispato
 
WORKSHOP I: Introducción a API REST
WORKSHOP I: Introducción a API RESTWORKSHOP I: Introducción a API REST
WORKSHOP I: Introducción a API REST
BEEVA_es
 

Similar a Python en la Web Semántica (20)

Introdución a la web: HTTP, URL y HTML
Introdución a la web: HTTP, URL y HTMLIntrodución a la web: HTTP, URL y HTML
Introdución a la web: HTTP, URL y HTML
 
Presentacion Curso CSS
Presentacion Curso CSSPresentacion Curso CSS
Presentacion Curso CSS
 
Web2 Quiensomos
Web2 QuiensomosWeb2 Quiensomos
Web2 Quiensomos
 
Diseño web
Diseño webDiseño web
Diseño web
 
Diseño web
Diseño webDiseño web
Diseño web
 
Que es html
Que es htmlQue es html
Que es html
 
Sesion 2 Profundización
Sesion 2 ProfundizaciónSesion 2 Profundización
Sesion 2 Profundización
 
Diseño web
Diseño webDiseño web
Diseño web
 
Los secretos detrás de cómo hacer la web
Los secretos detrás de cómo hacer la webLos secretos detrás de cómo hacer la web
Los secretos detrás de cómo hacer la web
 
Bw
BwBw
Bw
 
BW ITV
BW ITVBW ITV
BW ITV
 
Diseño web
Diseño webDiseño web
Diseño web
 
Jc Web2.0 Java Ee5 Net Beans
Jc Web2.0 Java Ee5 Net BeansJc Web2.0 Java Ee5 Net Beans
Jc Web2.0 Java Ee5 Net Beans
 
Diseño web
Diseño webDiseño web
Diseño web
 
Tarea 8
Tarea 8Tarea 8
Tarea 8
 
Las Ventajas de usar HTML5 Y CSS3
Las Ventajas de usar HTML5 Y CSS3Las Ventajas de usar HTML5 Y CSS3
Las Ventajas de usar HTML5 Y CSS3
 
Presentación RodrigoPolo.com @ Barcamp Guatemala '09
Presentación RodrigoPolo.com @ Barcamp Guatemala '09Presentación RodrigoPolo.com @ Barcamp Guatemala '09
Presentación RodrigoPolo.com @ Barcamp Guatemala '09
 
Javascript en proyectos reales: jQuery
Javascript en proyectos reales: jQueryJavascript en proyectos reales: jQuery
Javascript en proyectos reales: jQuery
 
HTML5
HTML5HTML5
HTML5
 
WORKSHOP I: Introducción a API REST
WORKSHOP I: Introducción a API RESTWORKSHOP I: Introducción a API REST
WORKSHOP I: Introducción a API REST
 

Último

Presentación Seguridad Digital Profesional Azul Oscuro (1).pdf
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdfPresentación Seguridad Digital Profesional Azul Oscuro (1).pdf
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdf
giampierdiaz5
 
Mantenimiento de sistemas eléctricos y electrónicosarticles-241712_recurso_6....
Mantenimiento de sistemas eléctricos y electrónicosarticles-241712_recurso_6....Mantenimiento de sistemas eléctricos y electrónicosarticles-241712_recurso_6....
Mantenimiento de sistemas eléctricos y electrónicosarticles-241712_recurso_6....
MiguelAtencio10
 
Refrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y ForzadoRefrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y Forzado
NicandroMartinez2
 
INFORMATICA Y TECNOLOGIA
INFORMATICA Y TECNOLOGIAINFORMATICA Y TECNOLOGIA
INFORMATICA Y TECNOLOGIA
renzocruz180310
 
Nuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsadNuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsad
larapalaciosmonzon28
 
Manual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computoManual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computo
mantenimientocarbra6
 
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
AbrahamCastillo42
 
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdfPLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
70244530
 
computacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADOcomputacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADO
YaniEscobar2
 
625204013-64-Camino-a-----La-Lectura.pdf
625204013-64-Camino-a-----La-Lectura.pdf625204013-64-Camino-a-----La-Lectura.pdf
625204013-64-Camino-a-----La-Lectura.pdf
yuberpalma
 
mantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptxmantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptx
MiguelAtencio10
 
Manual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputosManual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputos
cbtechchihuahua
 
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANOREVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
gisellearanguren1
 
Inteligencia Artificial
Inteligencia ArtificialInteligencia Artificial
Inteligencia Artificial
YashiraPaye
 
Programming & Artificial Intelligence ebook.pdf
Programming & Artificial Intelligence ebook.pdfProgramming & Artificial Intelligence ebook.pdf
Programming & Artificial Intelligence ebook.pdf
Manuel Diaz
 
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIAMONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
leia ereni
 
Flows: Mejores Prácticas y Nuevos Features
Flows: Mejores Prácticas y Nuevos FeaturesFlows: Mejores Prácticas y Nuevos Features
Flows: Mejores Prácticas y Nuevos Features
Paola De la Torre
 
Modo test refrigeradores y codigos de errores 2018 V2.pdf
Modo test refrigeradores y codigos de errores 2018 V2.pdfModo test refrigeradores y codigos de errores 2018 V2.pdf
Modo test refrigeradores y codigos de errores 2018 V2.pdf
ranierglez
 
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfqedublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
larapalaciosmonzon28
 
Second Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro TapiaSecond Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro Tapia
al050121024
 

Último (20)

Presentación Seguridad Digital Profesional Azul Oscuro (1).pdf
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdfPresentación Seguridad Digital Profesional Azul Oscuro (1).pdf
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdf
 
Mantenimiento de sistemas eléctricos y electrónicosarticles-241712_recurso_6....
Mantenimiento de sistemas eléctricos y electrónicosarticles-241712_recurso_6....Mantenimiento de sistemas eléctricos y electrónicosarticles-241712_recurso_6....
Mantenimiento de sistemas eléctricos y electrónicosarticles-241712_recurso_6....
 
Refrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y ForzadoRefrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y Forzado
 
INFORMATICA Y TECNOLOGIA
INFORMATICA Y TECNOLOGIAINFORMATICA Y TECNOLOGIA
INFORMATICA Y TECNOLOGIA
 
Nuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsadNuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsad
 
Manual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computoManual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computo
 
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
 
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdfPLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
 
computacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADOcomputacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADO
 
625204013-64-Camino-a-----La-Lectura.pdf
625204013-64-Camino-a-----La-Lectura.pdf625204013-64-Camino-a-----La-Lectura.pdf
625204013-64-Camino-a-----La-Lectura.pdf
 
mantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptxmantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptx
 
Manual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputosManual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputos
 
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANOREVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
 
Inteligencia Artificial
Inteligencia ArtificialInteligencia Artificial
Inteligencia Artificial
 
Programming & Artificial Intelligence ebook.pdf
Programming & Artificial Intelligence ebook.pdfProgramming & Artificial Intelligence ebook.pdf
Programming & Artificial Intelligence ebook.pdf
 
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIAMONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
 
Flows: Mejores Prácticas y Nuevos Features
Flows: Mejores Prácticas y Nuevos FeaturesFlows: Mejores Prácticas y Nuevos Features
Flows: Mejores Prácticas y Nuevos Features
 
Modo test refrigeradores y codigos de errores 2018 V2.pdf
Modo test refrigeradores y codigos de errores 2018 V2.pdfModo test refrigeradores y codigos de errores 2018 V2.pdf
Modo test refrigeradores y codigos de errores 2018 V2.pdf
 
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfqedublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
 
Second Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro TapiaSecond Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro Tapia
 

Python en la Web Semántica

  • 1. en la Web Semántica Santiago Coffey - PyCon 2009 - Buenos Aires
  • 2. WEB
  • 3. WEB
  • 4. Global Internet traffic estimates (TB/month) 9.000.000 7.500.000 6.000.000 4.500.000 3.000.000 1.500.000 0 1990 1992 1994 1996 1998 2000 2002 2004 2006 2008 Source: Cisco Visual Networking Index Forecast. http://www.cisco.com/go/vni
  • 5. LA MUERTE DE LA WEB 2.0
  • 6. QUÉ fue LA ES WEB 2.0
  • 7. La web 2.0 es la segunda generación del desarrollo y diseño web
  • 8. ¿Cuál es la receta para esa nueva forma de hacer la web?
  • 9.
  • 11. PATTERN #1  INFORMATION SHARING
  • 12. 1.0 2.0 FUENTE FUENTE Y SUMIDERO DE INFORMACIÓN DE INFORMACIÓN
  • 13. WEB SITES WEB APPLICATIONS WEB SERVICES 3.0 SEMANTIC WEB USERS
  • 14. PATTERN #2  USER-CENTERED DESIGN
  • 15. WEB 1.0 WEB 2.0 CENTRADO EN RECURSOS CENTRADO EN USUARIOS
  • 16.
  • 17. http email socket xmlrpc xml cgi PYTHON 3.0 ssl BATTERIES INCLUDED smtpd hashlib urllib smtplib json wsgiref codecs html
  • 18. Babel lxml Paste Beaker boto NumPy nltk WebHelpers PIL PYTHON MODULES Twisted SWISS ARMY KNIFE PyYAML FormEncode SQLAlchemy BeautifulSoup feedparser python-memcached pycrypto
  • 19. PATTERN #3  MODEL-VIEW- CONTROLLER ARCHITECTURE
  • 20. HTTP://WWW.E-XAMPLE.COM http://examp.le BROWSER  DIRECTORY  DIRECTORY WEB SERVER  DIRECTORY  JPG ROUTE DISPATCHER  GIF CONTROLLER  JS  HTML  HTML MODEL VIEW  HTML  HTML DATA BASE SITIO WEB: REPOSITORIO APLICACIÓN WEB: DE PÁGINAS ESTÁTICAS MULTI-CAPA, CON ESTADO
  • 21. Python Web Frameworks • Django • Zope • Pylons • Plone • TurboGears • MoinMoin • Google App • Python Paste Engine • CherryPy
  • 22. Alternative DBMS • memcachedb • Key-value storage • HBase + Thrift • No joins, non- • flat files (CSV) transactional • BerkeleyDB • Scalable, • Map Reduce fault-tolerant
  • 23. PATTERN #4  PARTICIPATION & COLLABORATION
  • 24. WEB 1.0 WEB 2.0 PUBLICACIÓN INDIVIDUAL EDICIÓN COLABORATIVA
  • 25.
  • 26. PATTERN #5  SOCIAL NETWORKING
  • 27. 1.0 2.0 RED DE COMPUTADORAS RED DE AMIGOS
  • 28. IDEA SIMPLE GRANDES RESULTADOS
  • 29.
  • 30. PATTERN #6  SEARCH & RECOMMENDATION ENGINES
  • 31. WEB 1.0: NAVEGAR TODO PARA DESCUBRIR WEB 2.0: TEORÍA DEL ICEBERG (SÓLO SE VE EL 10%)
  • 32.
  • 33. ¿Qué hace una web semántica? • Integración (aggregation) • Definición de ontologías • Análisis semántico • Agregado de valor (filtrado, asociación, recomendación, etc.)
  • 34. ¿Cuál es la misión de la web semántica?
  • 35. ¿De qué habla (cuál es el significado) el contenido de un determinado documento HTML? ¿Cuál es el contenido relevante de un determinado documento HTML? ¿En qué idioma está un texto determinado?
  • 36. ¿Qué palabras son equivalentes entre sí? (stemming) ¿Se pueden inferir tags automáticamente a partir de un texto? ¿Cómo se pueden eliminar palabras comunes como artículos y preposiciones (stop words)?
  • 37. ¿Cuál es la estructura sintáctica de una oración o proposición? (part of speech) ¿Cómo se puede eliminar la ambigüedad entre los distintos significados de una misma palabra? ¿Es posible agregar información del contexto eficientemente?
  • 38. ¿Cómo se puede mejorar la relación señal-ruido (signal to noise ratio) de la información que consume un usuario? ¿Cómo se pueden identificar digramas en un texto? ¿Cuántas y cuáles son las categorías apropiadas para clasificar contenidos en una determinada ontología?
  • 39.
  • 40. PATTERN #7  FOLKSONOMY
  • 41. WEB 1.0 WEB 2.0 TAXONOMY FOLKSONOMY (HIERARCHICAL CLASSIFICATION) (COLLABORATIVE TAGGING)
  • 42.
  • 43. PATTERN #8  COMMUNITY & COLLECTIVE INTELLIGENCE
  • 44. WEB 1.0 WEB 2.0 CONSTRUIR PORTALES CONSTRUIR COMUNIDADES
  • 45.
  • 46. PATTERN #9  INTER-OPERABILITY & DATA PORTABILITY
  • 47. RSS Atom {json} Widgets JSON <xml/> RDF  XML-RPC WEB CRAWLERS / SPIDERS / BOTS WEB SYNDICATION, WIDGETS, (HTML SCRAPING) OPEN APIs, AGGREGATION
  • 48.
  • 49. Ejemplo: Atom feed from feedparser import parse url = 'http://blog.ianbicking.org/' 'feed/atom/' feed = parse(url) titles = [i['title'] for i in feed['entries']] print 'n'.join(titles)
  • 50. Ejemplo: Twitter API from urllib2 import urlopen from simplejson import loads url = 'http://twitter.com/statuses/' 'user_timeline/JohnCLeese.json' raw_data = urlopen(url).read() tweets = [i['text'] for i in loads(raw_data)] print 'n'.join(tweets)
  • 51. Ejemplo: GData API from gdata.service.youtube import YoutubeService url = 'http://gdata.youtube.com/feeds/' 'api/users/MontyPython/uploads' client = YouTubeService() feed = client.GetYouTubeVideoFeed(url) titles = [i.title.text for i in feed.entry] print 'n'.join(titles)
  • 52. Ejemplo: HTML Scraping from urllib2 import urlopen from lxml.html import fromstring url = ... html = urlopen(url).read() root = fromstring(html) • Demo con Microformats en LinkedIn
  • 53. PATTERN #10  RICH USER EXPERIENCE
  • 54. CLIENT-SIDE SCRIPTING CON INTERACCIÓN POR FORMULARIOS INTERACCIÓN ASINCRÓNICA (CON RECARGA DE PÁGINA) (e.g.: AJAX)
  • 56. PATTERN #11  SEPARATION OF CONTENT AND PRESENTATION
  • 57. <HTML> <HEAD> <TITLE>My Homepage</TITLE> </HEAD>  STRUCTURE & CONTENT <BODY BGCOLOR="YELLOW"> XHTML <SCRIPT>window.status="Hello!"</SCRIPT> + <TABLE WIDTH="640"> <TR><TD>  <CENTER> <MARQUEE>Welcome to my homepage!</MARQUEE> PRESENTATION <IMG SRC="animation.gif" WIDTH="180" HEIGHT="31" BORDER="1"> </CENTER> CSS + <P><FONT COLOR="blue">This is a <BR> <FONT FACE="Arial"><U>fake link</U>! </FONT></P> </TD> <TD ALIGN="RIGHT"> <P>Sign my <A HREF="/cgi-bin/sign" TARGET="_parent">guestbook</A></P> <BLINK>Under <B>construction</B>!</BLINK>  CLIENT-SIDE SCRIPTING JS </TD></TR> </TABLE> </BODY> </HTML> STRUCTURE & CONTENT CLUTTERED HTML ≠ PRESENTATION
  • 58.
  • 59. PATTERN #12  WEB AS A PLATFORM (UBIQUITY)
  • 60. WEB TV  YOUR SYSTEM IS THE PLATFORM   THE WEB  IS THE PLATFORM PROPRIETARY SPECIFICATIONS WEB STANDARDS PLATFORM DEPENDENCE DEVICE INDEPENDENCE BROWSER WARS CROSS-PLATFORM DESIGN
  • 62. • Robot no exactamente electro-mecánico • Sensores: Humanos-Máquinas • Actuadores: Humanos-Máquinas • Entorno: Mundo • AI: Webapps + Semantic Web + ...
  • 63. • Procesa datos y responde a estímulos • ¿Es autónomo? • ¿Es consciente? • Es tolerante a fallas • Es “inteligente” • Aprende • Evoluciona © John W Liberto
  • 64. Suena ilusorio ¿no? ¿Pero podíamos imaginar hace 20 años una web como la que hoy conocemos? Además, ya hay aplicaciones...
  • 65.
  • 66. Resumen: Los 12 patrones • Information sharing • Folksonomy • User-centered design • Community & collective intelligence • MVC Architecture • Inter-operability & Data • Participation & portability collaboration • Rich User Experience • Social networking • Content ≠ Presentation • Search & recommendation engines • Web as a Platform
  • 67. Conclusiones • Web como AI (como un robot) • Misión de la web semántica: Agregar valor a la información • ¿Tecnología? No, patrones
  • 68. ¡Gracias! santiago.coffey@popego.com http://twitter.com/scoffey http://scoffey.popego.com

Notas del editor

  1. Buenos a d&amp;#xED;as a todos.
  2. La presentaci&amp;#xF3;n que hoy tengo el honor de compartir con Uds. se trata de la web. De la evoluci&amp;#xF3;n de la web.
  3. Piensen lo siguiente: Hoy en d&amp;#xED;a Internet es una tecnolog&amp;#xED;a que ha transformado al mundo en muchos aspectos, econ&amp;#xF3;micos, sociales, etc. y que BOOM! Hace 20 a&amp;#xF1;os no exist&amp;#xED;a.
  4. &amp;#xBF;Qu&amp;#xE9; hicimos con Internet para que esto sea posible? La web 2.0. &amp;#xBF;Y qu&amp;#xE9; es la web 2.0? Bueno, en realidad deber&amp;#xED;amos preguntarnos qu&amp;#xE9; FUE la web 2.0. Porque la idea de esta charla es hablar un poco tambi&amp;#xE9;n de las tendencias que se empiezan a vislumbrar en el futuro de la web.
  5. La web 2.0 es una segunda generaci&amp;#xF3;n del desarrollo y dise&amp;#xF1;o web. Entonces, tratemos de analizar cu&amp;#xE1;les fueron esos cambios entre la vieja y la nueva forma de &quot;hacer las cosas&quot; en la web. Para simplificar vamos a referirnos a estas 2 formas de hacer las cosas como web 1.0 y 2.0 respectivamente.
  6. Esto es como cuando alguien cocina algo que sale muy bien. &amp;#xBF;Qu&amp;#xE9; hizo para que le salga tan bien? O sea, &amp;#xBF;cu&amp;#xE1;l es la receta para una web 2.0?
  7. Bueno, se pueden mencionar muchos ingredientes secretos.
  8. Pero creo que se pueden resumir en 12 ingredientes. S&amp;#xF3;lo que los ingenieros de software llaman a esos ingredientes patrones de dise&amp;#xF1;o.
  9. Web 1.0: Internet = Fuente de informaci&amp;#xF3;n Web 2.0: Internet = Fuente de informaci&amp;#xF3;n &lt;=&gt; Sumidero de informaci&amp;#xF3;n PATTERN 1: INFORMATION SHARING
  10. ++ Ejemplos...
  11. Todos pueden editar y colaborar. Participaci&amp;#xF3;n con comentarios.
  12. Recomendaci&amp;#xF3;n = Valor agregado
  13. ++Meaningtool
  14. Tags: Mejor clasificaci&amp;#xF3;n. Colecciones emergentes.
  15. Wisdom of crowds
  16. ++ RDF, DBPedia ++ Aprovechar otros servicios (ejemplo: Twitter: EC2 Amazon y URL shorteners, YouTube: CDN Akamai, Facebook: Google Images para thumbnails de links)
  17. Publisher-Subscriber
  18. Demo Microformats LinkedIn
  19. Demo Microformats LinkedIn
  20. Rich Internet Application. Sin cargar nueva p&amp;#xE1;gina. Manejo de eventos por Javascript. Web sem&amp;#xE1;ntica: Web OS?
  21. Ubiquity