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.
4. ¿Quién es INFOTEC?
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
Oferta
Investigación Aplicada y Bajo
Demanda
Formación de Capital Humano
Consultoría Estratégica
Sistemas de Información Estratégica
Administración Integral de
Infraestructura
Estrategia basada en
Arquitecturas Empresariales
8. SemanticWebBuilder Suite
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
9. 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
10. SemanticWebBuilder como Código Abierto
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.
14. 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.
19. ¿Qué es Resource Definition Framework?
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.
TRIPLAS
Triple:
Sujeto – Propiedad – Objeto
<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>
21. Persistencia del RDF (Triple Stores)
• 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)
22. ¿Qué es SPARQL?
SPARQL es lenguaje de consulta sobre RDF, que permite hacer búsquedas sobre los
recursos de la Web Semántica utilizando distintas fuentes datos.
24. Transformación de Sparql a SQL
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
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 desc
limit 100 offset 10
25. Apis de desarrollo de la Web Semántica
• Jena y Sesame
Son 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.
26. ¿SemanticWebBuilder Platform?
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).
27. 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
30. Web service
client
SOAP & WSDL
XML & HTTP
RESTful Web
Services
Portal Management
User: groups, roles
External Data
LDAP server
Monitoring:
SWB resources,
memory, hits
HTML,
Servlets,
Portlets,
JSPs
Ajax, DOJO,
Xforms
SWB Architecture
Word
Excel
Power Point
Connection Pool
Databases
Jena RDF API
MySQL, Oracle, DB2,
Postgre SQL,
Microsoft SQL Server
2005, HSQLDB,
Apache Derby, Jena
SDB
SWB Resources,
templates, languages
Scheduling pages
HTTP/HTTPS
Versioning
SPARQL queries
Error handler
Calendars, blogs,
Forums,
banners,
Search engines.
RDF repositories
JDBC
Content:
SWB Resources
External portlets
Databases
Navigation
Office plug-in
User repositories
Rules: user,
display,
RDF repositories
Caching
Publishing flow
Bigdata, Jena
TDB, MongoDB
Logging
Querying tools
File systems
SPARQL Endpoint
Presentation tier
Business Logic tier
Data access tier
Application tier
Client tier
J2EE Application Server:
jBoss, jetty, Apache tomcat, Glasfish, WebLogic
Data store tier
Model-Driven Code Generation Platform
Security
34
31. ¿Qué es Ontology Web Language?
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.
32. Ventajas
• 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
36. 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.
RDF
RDF
RDF
RDF
RDF
RDF
RDF
RDF
RDF
RDF
RDF
link
A
RDF
links
B
RDF
links
C
RDF
links
D
E
37. 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
39. 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.