Post on 12-Jun-2015
description
Presentación de
Web Semántica de la teoría a la prácticalecciones 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
¿Quién es INFOTEC?
¿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
INFOTEC y la Web Semántica
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
SemanticWebBuilder es una
suite de herramientas para el
desarrollo de aplicaciones y
portales semánticos.
¿Qué es SemanticWebBuilder?
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
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
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
SemanticWebBuilder Portal
SemanticWebBuilder Portal
Resumen de la Web Semántica
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.
?
El problema…
Web Semántica
RDF
Componentes de la Web Semántica
Sparql
OWLLinked Data
LINKED OPEN DATA
En la Práctica
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
RDF vs Relacional vs Objetos vs Herarquica
• 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)
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?
DBPedia.org
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
• 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
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?
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
Generar Código
Transformación de Modelo Ontológico a Código
Generar Código
Transformación de Modelo Ontológico a Código
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
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?
• 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
Ontología VisitMexico
Ontología SWB Portal
Ontología SWB Process
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
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
Ejemplos
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.
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
javier.solis@infotec.com.mx Facebook / softjei
Twitter / softjei
www.infotec.com.mx
www.semanticwebbuilder.org.mx
Facebook / SemanticWebBuilder
Twitter / semius_SWB
YouTube / semiusinforma
SlideShare / semiusinforma