Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes productivos

40
Presentación de Web Semántica de la teoría a la práctica lecciones aprendidas en ambientes productivos

description

En el INFOTEC se ha privilegiado la Web Semántica como plataforma de desarrollo por más de 10 años, lo cual ha tenido como resultado la construcción de varios productos Open Source, como lo es el SemanticWebBuilder el cual está siendo utilizado en gran parte de los principales portales del gobierno mexicano. En esta presentación deseamos compartir nuestras experiencias y lecciones aprendidas en el uso de las técnicas y tecnologías asociadas a la Web Semántica en entornos productivos, buscando tener un número mayor de casos de éxito en esta tendencia de desarrollo.

Transcript of Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes productivos

Page 1: Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes productivos

Presentación de

Web Semántica de la teoría a la prácticalecciones aprendidas en ambientes productivos

Page 2: Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes productivos

Agenda

¿Quién es Infotec?1

En la práctica4

Resumen de la Web Semántica3

Conclusiones6

Ejemplos5

Preguntas7

Infotec y la Web Semántica2

Page 3: Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes productivos

¿Quién es INFOTEC?

Page 4: Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes productivos

¿Quién es INFOTEC?

Administración Integral de Infraestructura

Sistemas de Información Estratégica

Consultoría Estratégica

Oferta

Investigación Aplicada y Bajo Demanda

Formación de Capital Humano

Somos un Centro Público de Innovación y Desarrollo Tecnológico que contribuye a la competitividad del Gobierno y de las PyMEs, a través del uso estratégico de Tecnologías de Información y Comunicaciones.

INFOTEC = I + D + DT x i

Estrategia basada en Arquitecturas Empresariales

Page 5: Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes productivos

INFOTEC y la Web Semántica

Page 6: Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes productivos

WB 1.0 WB 1.5 WB 2.0 ●WB 2.1 ●

WB 2.5 ● ●

WB 3.1 ●●

+ Semántica

●●2000 2001

2002

20042003

2005

2007

2006

2009

2011

Evolución de SemanticWebBuilder

Soluciones Llave en mano (GLD, SWB SIP) ● 2010

● 2009

SWB CONORG ● 2012

Platfaroma de Datos Abiertos, SWBScoreCard ● 2013

SWB Social Command Center, SWB SBELL II, SWB4 Cloud ● 2014

Necesidades deNavegación y Búsqueda

Necesidades deAdministración y Publicación

Page 7: Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes productivos

SemanticWebBuilder es una

suite de herramientas para el

desarrollo de aplicaciones y

portales semánticos.

¿Qué es SemanticWebBuilder?

Page 8: Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes productivos

SWB Process•Modelador de Procesos (BPMN 2.0), Motor de procesos, Administrador de Formas, Monitoreo de Procesos, Repositorio de Documento de Proceso

SWB4Cloud•Aprovisionamiento automático de instancias (IaaS)

SWB Portal• Servidor de Portales, con administración de múltiples sitios e idioma., Administración de componentes (Portlets) y API de desarrollo, Administración de

contenidos, Administración de contextos de información, Administración de Usuarios, Roles, Grupos y Reglas de Negocio, Monitoreo y Seguimiento de Usuarios, Reportes de Accesos, Componentes, Sesiones, FullPageCache (Modo ataque)

SWB EndPoint•Punto de acceso para consultas semánticas (SPARQL)

SWB Platform•Plataforma Semántica, Integración de Información (Fuentes externas), Generación de código basado en ontologías, Administración de cache de datos, Integración de Modelos Remotos

SWB Triple Store• Persistencia de Datos (RDF), Soporte a integración de Base de Datos Semánticas, Relacional y Documentos

SemanticWebBuilder Suite

Page 9: Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes productivos

SWB4Domotic• Automatización y control de Ambientes Inteligentes

SWB Score Card• Administración y Seguimiento de la planeación estrategia corporativa

SWB Conorg• Administración del Conocimiento Organizacional

Plataforma de Datos Abiertos• Administración y publicación de fuentes de datos

SWB Social Media Command Center• Publicación de contenido a redes sociales, Identificación de sentimientos

SWB GLD• Plataforma de Gobiernos Locales Digitales

SemanticWebBuilder Suite

Page 10: Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes productivos

En INFOTEC por su naturaleza como Centro de Investigación y Desarrollo Tecnológico del CONACYT y buscando como principal objetivo el apoyo a la comunidad más que el beneficio económico, se tomo la decisión de liberar el producto bajo un esquema de código abierto con la finalidad de:

– Apoyar al crecimiento de la industria de TI en el país

– Abrir una oportunidad de negocia a la iniciativa privada

– Buscar el apoyo de la comunidad para crecer y evolucionar la herramienta

– Incrementar el potencial de penetración en el mercado

Esta decisión esta encaminada a brindar a la sociedad en general la oportunidad de contar con herramientas que le permitan el desarrollo de nuevas oportunidades de negocio en distintos ámbitos.

SemanticWebBuilder como Código Abierto

Page 11: Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes productivos

SemanticWebBuilder Portal

Page 12: Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes productivos

SemanticWebBuilder Portal

Page 13: Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes productivos

Resumen de la Web Semántica

Page 14: Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes productivos

La Web Semántica según Tim Berners Lee

La web semántica es una red de datos que pueden ser procesados directa o

indirectamente por máquinas.

Es una web extendida que permitirá a humanos y máquinas trabajar en

cooperación mutua.

Page 15: Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes productivos

?

El problema…

Page 16: Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes productivos

Web Semántica

Page 17: Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes productivos

RDF

Componentes de la Web Semántica

Sparql

OWLLinked Data

LINKED OPEN DATA

Page 18: Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes productivos

En la Práctica

Page 19: Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes productivos

RDF es un modelo de datos para los recursos y las relaciones que se puedan establecer entre ellos. Aporta una semántica básica para este modelo de datos que puede representarse mediante XML.

RDF proporciona información descriptiva simple sobre los recursos que se encuentran en la Web y que se utiliza, por ejemplo, en catálogos de libros, directorios, colecciones personales de música, fotos, eventos, etc.

Triple:

Sujeto – Propiedad – Objeto

¿Qué es Resource Definition Framework?

<casa><hecha de><piedra><casa><hecha de><madera><casa><usada para><vivir><casa><tiene><habitación><casa><es una><construcción><casa><pertenece a><Homero Simpson>< habitación><tiene><puerta>< habitación><tiene><ventana>

TRIPLAS

Page 20: Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes productivos

RDF vs Relacional vs Objetos vs Herarquica

Page 21: Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes productivos

• Sin persistencia (En memoria)– Jena– GraphCached (SWB)

• Base de Datos Relacionales– Jena RDB– Jena SDB– SWBTS– SWBTSE– Sesame

• Base de Datos Nativas– Jena TDB– Virtuoso (Jena TS, SWBTS4Virtuoso)– BigData (SWBTS4BigData)– 4Store– AlegroGraph

• Base de Datos Documentos– MongoDB (SWBTS4MongoDB)

Persistencia del RDF (Triple Stores)

Page 22: Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes productivos

SPARQL es lenguaje de consulta sobre RDF, que permite hacer búsquedas sobre los recursos de la Web Semántica utilizando distintas fuentes datos.

¿Qué es SPARQL?

Page 23: Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes productivos

DBPedia.org

Page 24: Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes productivos

SPARQL

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>PREFIX prop: <http://www.swb.com/prop#>PREFIX onto: <http://www.swb.com/ontology#>PREFIX swb: <http://www.semanticwebbuilder.org/swb4/ontology#>

select *where { ?s prop:nombre ?nombre. ?s a onto:Persona. ?s prop:telefono ?telefono. ?s prop:direccion ?direccion. ?direccion prop:estado ?estado. OPTIONAL { ?s prop:empresa ?empresa . ?empresa prop:nombre ?nempresa . ?empresa prop:fake ?fake. ?empresa prop:telefono ?telempresa. }} ORDER BY desc(?nombre) OFFSET 10 LIMIT 100

Transformación de Sparql a SQL

SQL

select t3.subj as s, t0.obj as nombre, t2.obj as telefono, t4.subj as direccion, t4.obj as estado, t5.obj as empresa, t6.obj as nempresa, t7.obj as fake, t8.obj as telempresa from swb_graph_ts3 as t0 inner join swb_graph_ts3 as t1 on (t1.subj=t0.subj and t1.prop='uri|http://www.w3.org/1999/02/22-rdf-syntax-ns#type' and t1.obj='uri|http://www.swb.com/ontology#Persona') inner join swb_graph_ts3 as t2 on (t2.subj=t1.subj and t2.prop='uri|http://www.swb.com/prop#telefono') inner join swb_graph_ts3 as t3 on (t3.subj=t2.subj and t3.prop='uri|http://www.swb.com/prop#direccion') inner join swb_graph_ts3 as t4 on (t4.subj=t3.obj and t4.prop='uri|http://www.swb.com/prop#estado') left join swb_graph_ts3 as t5 on (t5.subj=t3.subj and t5.prop='uri|http://www.swb.com/prop#empresa') left join swb_graph_ts3 as t6 on (t6.subj=t5.obj and t6.prop='uri|http://www.swb.com/prop#nombre') left join swb_graph_ts3 as t7 on (t7.subj=t5.obj and t7.prop='uri|http://www.swb.com/prop#fake') left join swb_graph_ts3 as t8 on (t8.subj=t5.obj and t8.prop='uri|http://www.swb.com/prop#telefono') where t0.prop='uri|http://www.swb.com/prop#nombre'order by t0.obj desclimit 100 offset 10

Page 25: Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes productivos

• Jena y SesameSon marcos de desarrollo para almacenamiento, consulta y razonamiento con RDF y RDF Schema. Puede ser usado como base de datos para RDF y RDF Schema, o como una librería de Java para aplicaciones que necesitan trabajar internamente con RDF.

Apis de desarrollo de la Web Semántica

Page 26: Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes productivos

SemWB Platform es el núcleo de la suite de herramientas, y es el principal componente de la plataforma para la construcción acelerada de aplicaciones basadas en modelos ontológicos.

Esta plataforma permite definir en una ontología (OWL), la estructura de información, la arquitectura de objetos, sus dependencias y su representación gráfica, de forma que mediante estos elementos se pueda ejecutar un proceso automatizado que genera el código del modelo de objetos definido y su persistencia en una base de datos semántica (basada en RDF).

¿SemanticWebBuilder Platform?

Page 27: Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes productivos

Desarrollo Dirigido por Ontologías

El Desarrollo Dirigido por Ontologías es un nuevo paradigma de desarrollo que toma como punto de partida el conocimiento de un dominio capturado en una ontología para generar de manera automática la arquitectura y funcionalidad básica de un sistema de software cuyos objetos son persistentes de manera nativa en RDF

Page 28: Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes productivos

Generar Código

Transformación de Modelo Ontológico a Código

Page 29: Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes productivos

Generar Código

Transformación de Modelo Ontológico a Código

Page 30: Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes productivos

34

Data store tier

Application tier

Client tier

Presentation tier Business Logic tier Data access tier

Ajax, DOJO, Xforms

File systems

JDBC

Caching

Web service client

Office plug-in

RESTful Web Services

Security

Calendars, blogs, Forums,

banners, Search engines.

SPARQL queries

External Data

Model-Driven Code Generation Platform

External portlets

WordExcel

Power Point

J2EE Application Server:jBoss, jetty, Apache tomcat, Glasfish, WebLogic

HTML, Servlets, Portlets,

JSPs

SWB Resources

Portal Management

User: groups, roles

Monitoring: SWB resources,

memory, hits

Content: SWB Resources,

templates, languages

Navigation

Versioning

Error handler

HTTP/HTTPS

SOAP & WSDLXML & HTTP

LDAP server

Connection Pool

Querying tools

Databases

MySQL, Oracle, DB2, Postgre SQL,

Microsoft SQL Server 2005, HSQLDB,

Apache Derby, Jena SDB

RDF repositories

Bigdata, Jena TDB, MongoDB

Jena RDF API

SWB

Arch

itect

ure

SPARQL Endpoint

Rules: user, display,

Publishing flow

Scheduling pages

User repositories

Databases

RDF repositories

Logging

Page 31: Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes productivos

OWL es un mecanismo para desarrollar temas o vocabularios específicos en los cuales asociar los recursos. Lo que hace OWL es proporcionar un lenguaje para definir ontologías estructuradas que pueden ser utilizadas a través de diferentes sistemas. Las ontologías incluyen definiciones de conceptos básicos en un campo determinado y la relación entre ellos.

Específicamente OWL es un vocabulario para describir las propiedades y las clases de los recursos RDF, ya que permite establecer jerarquías de generalización entre dichas propiedades y clases, además de describir relaciones entre clases como disyunción, cardinalidad (por ejemplo "únicamente uno"), igualdad, tipologías de propiedades más complejas, caracterización de propiedades (por ejemplo simetría) o clases enumeradas.

¿Qué es Ontology Web Language?

Page 32: Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes productivos

• Compartir el entendimiento común de la estructura de información entre personas o agentes de software

• Permitir la reutilización de conocimiento de un dominio• Separar el conocimiento del dominio del conocimiento

operacional• Analizar el conocimiento de un dominio

Ventajas

Page 33: Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes productivos

Ontología VisitMexico

Page 34: Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes productivos

Ontología SWB Portal

Page 35: Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes productivos

Ontología SWB Process

Page 36: Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes productivos

Linked Data

Linked Data es una propuesta para publicar datos estructurados de tal forma que estos puedan ser conectados entre si y por lo tanto ser más útiles para el usuario.

Linked Data propone utilizar tecnologías semánticas para:1. Publicar datos estructurados en la

Web,2. Crear ligas entre los datos de

nuestra aplicación con datos de otras fuentes de datos publicadas en la Web.

B C

RDF

RDFlink

A D E

RDFlinks

RDFlinks

RDFlinks

RDF

RDF

RDF

RDF

RDF RDF

RDF

RDF

RDF

Page 37: Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes productivos

Linked Data

Linked Data puede ser visto como el corazón de La Web Semántica: la integración a gran escala de datos en la Web, la cual pueda ser utilizada para realizar razonamientos y obtener conocimiento a partir de los datos.

Tim Berners-Lee's TED talk in Feb 09

Page 38: Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes productivos

Ejemplos

Page 39: Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes productivos

Conclusiones

La Web Semántica es ya una realidad y nos abre las puertas a un nuevo mundo de posibilidades, en donde la integracion de datos de diferentes fuentes es el puento principal.

Tenemos que seguir trabajando en bases semanticas nativas que den viabilidad a la vision de la web semántica.

Tenemos ya las bases para publicar información semántica, sin embargo hace falta incentivar a la comunidad de desarrollo para que se generen las aplicaciones que provean el valor agregado tanto para los usuarios de los sitios web como para los generadores de contenido.

Page 40: Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes productivos

D.R. © 2012, FONDO DE INFORMACIÓN Y DOCUMENTACIÓN PARA LA INDUSTRIA – INFOTECAv. San Fernando, No. 37, Colonia Toriello Guerra, Delegación Tlalpan, C.P. 14050, México, D.F

Se prohíbe la reproducción parcial o total de este documento

¿Preguntas?

¡ Gracias !

ING. Javier Solís GonzálezGerente de Desarrollo de Nuevos Productos y Servicios

[email protected] Facebook / softjei

Twitter / softjei

www.infotec.com.mx

www.semanticwebbuilder.org.mx

Facebook / SemanticWebBuilder

Twitter / semius_SWB

YouTube / semiusinforma

SlideShare / semiusinforma