desarrollo orientado a la semántica - encuentro de la industria en el tecnológico universitario...
TRANSCRIPT
Desarrollo Orientado a la
Semántica
LSCA Victor Jesús Hernández Salinas
[email protected] @hersalvj
hersalvj
Somos un Centro de Investigación,
Innovación y Desarrollo de Tecnologías de
Información y Comunicación del
CONACYT que contribuye a la
competitividad del Gobierno y de las
PyME’s, a través del uso estratégico de las
TIC.
Web 3.0
¿Que es la Semántica?
Yo amo la tecnología!I love technology!I technology!
Orgullo Geek!
¿Qué es Semántica?
RAE > Semántico(ca)Perteneciente o relativo a la significación de las palabras.Estudio del significado de los signos lingüísticos y de sus combinaciones, desde un punto
de vista sincrónico o diacrónico.
RAE > SignificaciónSentido de una palabra o frase
RAE > SignificadoSignificación o sentido de una palabra o fraseContenido semántico de cualquier tipo de signo, condicionado por el sistema y el
contexto
RAE > SentidoEntendimiento o razón, en cuanto discierne las cosasModo particular de entender algo, o juicio que se hace de ello
¿Qué es Semántica?
*RAE -- Real Academia Española
Es la manera en que percibimos y entendemos el mundo que nos rodea.
Siempre se basa en las relaciones entre los objetos que conocemos del mundo.
Si no conocemos algo, para nosotros no existe.
Cuando descubrimos algo nuevo, lo relacionamos con lo que conocemos.
Nuestra semántica es conocimiento y tiene construcciones comunes a nuestro contexto.
¿Qué es Semántica?
¿Qué es Semántica?Cómo percibimos y describimos el mundo
Una casa es una construcción de piedra y madera que sirve para vivir.
Está dividida en habitaciones con puertas y ventanas para el acceso de los habitantes.
hecha de
tiene
hecha deusada para
es una
tiene
tienepertenece a
Cómo percibimos y describimos el mundo
¿Qué es Semántica?
Ontología
Ontología (Filosofía / Lógica)Conjunto de entidades presupuestas en una teoría [1].
Ontología (Ciencias de la Computación)Modelo de datos que representa un conjunto de conceptos dentro de un dominio y sus relaciones
[1].
Ontología (Ciencias de la Computación)En teoría, una ontología es “una especificación formal y explícita de una conceptualización
compartida”. Provee un vocabulario compartido que puede usarse para modelar un dominio – esto es, el tipo de objetos y/o conceptos que existen, sus propiedades y relaciones [2].
[1] Traducción de The free dictionary. http://www.thefreedictionary.com[2] Wikipedia, the free encyclopedia. http://en.wikipedia.org/wiki/Ontology_(information_science)
¿Qué es Semántica?
¿Que es la Web Semántica?
Web 3.0
Evolución de la Web
• Web 1.0 Personas conectándose a la Web “Web Solo Lectura”
• Web 2.0 Personas conectándose a personas “Web Social”
•Web 3.0 Aplicaciones Web conectándose a Aplicaciones web “Web Semántica”
La Web Semántica según Tim Berners Lee
Una 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.
• Hoy en día, las ideas propuestas por Berners-Lee sobre la Web Semántica [Berners-Lee] [Shadbolt ] son casi una realidad.
• La disponibilidad de recursos en la Web, el poder de cómputo, las técnicas y estándares semánticos como RDF [Klyne] y OWL [Motik] permiten a los grupos de investigación y desarrollo construir poderosos mecanismos de software para representar y explorar la Web de manera Semántica.
• Actualmente existen herramientas que permiten añadir Semántica a las piezas de código o páginas Web existentes [Chiu] [Bizer] [Story] [Cowan et.al], sin embargo, se cuenta con pocas herramientas que permiten la creación de código totalmente semántico desde su conceptualización [Koide ] [Völkel] [Kalyanpur].
• Más aún, sólo algunas herramientas integran una metodología y un API de desarrollo para construir aplicaciones semánticas [Solís et.al].
Como esta La Web Semántica hoy
?
El problema…
El problema…
El objetivo detrás de darle significado a la información es crecer al Internet a un plano de conocimiento.
Visión de la Web Semántica
Los resultados obtenidos a través de un buscador semántico ofrecen al usuario la información exacta que estaba buscando.
¿Cómo funciona?
DBPedia.org
No se trata de una inteligencia artificial mágica que permita a las máquinas entender
las palabras de los usuarios, es sólo la habilidad de una máquina para resolver
problemas bien definidos, a través de operaciones bien definidas que se llevarán
a cabo sobre datos existentes bien definidos.
Para obtener esa adecuada definición de los datos, la Web Semántica utiliza
esencialmente RDF, SPARQL, y OWL, mecanismos que ayudan a convertir la Web en
una infraestructura global en la que es posible compartir, y reutilizar datos y
documentos entre diferentes aplicaciones y usuarios.
Componentes de la Web Semántica
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
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?
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?
Desarrollo Orientado a la
Semántica
Web 3.0
Desarrollo Orientado a la Semántica
El Desarrollo Orientado a la Semántica 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
Desarrollo Orientado a la Semántica
El Desarrollo Orientado a la Semántica tiene como objetivo el proporcionar a los analistas y desarrolladores los siguientes elementos:
Una metodología de desarrollo basada en un lenguaje flexible y de alto nivel para capturar los requerimientos del sistema, soportado por el estándar OWL
Un API Semántica para el desarrollo acelerado y fácil mantenimiento de aplicaciones.
Un mecanismo de transformación de modelos que permita explotar el API semántica para la generación automática de aplicaciones.
Evolución de los paradigmas de desarrollo
Desarrollo Orientado a la Semántica
Modelos Ontológicos (conocimiento)
Desarrollo Dirigido por Modelos
Modelos orientados a objetos (relaciones)
Programación Orientada a Objetos
Lenguajes de Programación (objetos)
Niv
el d
e ab
stra
cció
nN
ivel de complejidad
Proceso de Desarrollo Orientado a la Semántica
Programar Lógica Específica
¿Qué hará el nuevo recurso?
¿Qué modos de despliegue necesita?
¿El recurso será administrable?
¿Qué diseño tendrá el recurso?
Proceso de Desarrollo Orientado a la Semántica
Modelar el Recurso
¿Qué va a hacer el nuevo recurso?
¿Qué objetos se relacionan con el recurso?
¿Que propiedades necesita tener el recurso?
¿Es necesaria una jerarquía de recursos?
¿Existen objetos que pueden ser reutilizados?
Proceso de Desarrollo Orientado a la Semántica
Modelar el Recurso
Proceso de Desarrollo Orientado a la Semántica
Generar Código
¿Dónde se colocará el nuevo código?
¿Qué paquete se va a crear?
¿Qué prefijo de la ontología se usará para generar código?
¿Qué otras ontologías se requieren?
Proceso de Desarrollo Orientado a la Semántica
Generar Código
Proceso de Desarrollo Orientado a la Semántica
Generar Código
Proceso de Desarrollo Orientado a la Semántica
Formatos de representación de ontologías
Estructura de árbol extensible
Resource, Literal, Triple
Class, DataType, Relation, SubClass
Class, ObjectProperty, InverseOf
Generar Código
Ventajas
Se enfocan los esfuerzos del equipo de desarrollo en el correcto modelado del dominio más que en la definición y programación del sistema
El modelo del sistema es comprensible por todas las partes involucradas en el desarrollo, pues se usan conceptos en un alto nivel de abstracción
Un cambio en el modelo afecta al código base del sistema, pero un cambio en el código extendido no afecta al modelo, lo que permite mantener y reutilizar la funcionalidad existente
El API se programación semántica permite a los programadores trabajar con ontologías, RDF y TripleStores sin requerir conocimientos profundos en esos tópicos
Los recursos humanos y el tiempo necesarios para el desarrollo se reducen considerablemente
Los datos de la aplicación se almacenan de manera semántica, por lo que es posible realizar consultas complejas y muy específicas
Linked Data
Web 3.0
¿Linked Data?
Linked Data es una propuesta para ayudar a construir la Web Semántica.
Linked Data describe la forma de exponer, compartir y conectar piezas de datos, información y conocimiento a través de la web
1. Utiliza URIs como nombres para objetos
2. Utiliza URIs HTTP para que las personas pueda buscar esos nombres.
3. Cuando alguien busque un URI, proporcionar información útil, utilizando las normas (RDF, SPARQL)
4. Incluir enlaces a otros URIs para que puedan descubrir más cosas (Datos enlazados).
Reglas para construir datos enlazados (Linked Data)
Open Data es una forma de publicar datos de organizaciones públicas y privadas, en formatos que sean reutilizables por personas e instituciones.
En su planteamiento, Open Data se asemeja al movimiento Open Source, pero a diferencia de éste no apunta a desarrollar software sino a posibilitar el acceso y reutilización de datos.
Wikipedia: Open Data es una filosofía y práctica que persigue que determinados datos estén disponibles de forma libre a todo el mundo, sin restricciones de copyright, patentes u otros mecanismos de control.
Tiene una ética similar a otros movimientos y comunidades abiertos como el código abierto (open source en inglés) y el acceso libre (open access en inglés).
¿Open Data?
Una estrella: ofrecer los datos en cualquier formato, aunque sean difíciles de manipular, como un pdf por ejemplo o una imagen escaneada..
Dos estrellas: entregar los datos de manera estructurada, como en un archivo excel con extension xls.
Tres estrellas: entregar los datos en un formato que no sea propietario, como csv en vez de excel, xml, rdf, etc.
Las cinco estrellas del Open Linked Data
Cuatro estrellas: usar URI (que es una dirección web de un dato que sirve para enlazarlo con otros datos) para identificar cosas y propiedades, de manera que se pueda apuntar a los datos. De preferencia usar el estándar de RDF
Cinco estrellas: vincular sus datos con los de otras personas, dotándolos de contexto. En la práctica, a que la información entregada también apunte a otras fuentes de datos. Por ejemplo, si coloco un país dentro de mis datos, puedo agregar una URI de referencia que apunte a los datos de ese país en Dbpedia o a Geonames.
Las cinco estrellas del Open Linked Data
Crecimiento de la nube de Linked Data
Mayo 2007 (12 Datasets)
Linking Open Data cloud diagram, by Richard Cyganiak and Anja Jentzsch. http://lod-cloud.net/
Septiembre 2008 (45 Datasets)
Linking Open Data cloud diagram, by Richard Cyganiak and Anja Jentzsch. http://lod-cloud.net/
Crecimiento de la nube de Linked Data
Julio 2009 (95 Datasets)
Linking Open Data cloud diagram, by Richard Cyganiak and Anja Jentzsch. http://lod-cloud.net/
Crecimiento de la nube de Linked Data
Septiembre 2010 (203 Datasets)
Linking Open Data cloud diagram, by Richard Cyganiak and Anja Jentzsch. http://lod-cloud.net/
Crecimiento de la nube de Linked Data
Septiembre 2011 (295 Datasets, 31 billions de triples)
Linking Open Data cloud diagram, by Richard Cyganiak and Anja Jentzsch. http://lod-cloud.net/
Crecimiento de la nube de Linked Data
La tecnología para una Ciudad Digital
Web 3.0
Internet de las cosasUna visión desde el mundo de la Web semántica, se centra en hacer que todas las cosas (no sólo
las electrónicas, inteligentes o RFID) tengan una dirección basada en alguno de los protocolos existentes, como URI. Los objetos, las cosas, no conversan, pero de esta forma podrían ser referenciados por otros agentes, tales como potentes servidores centralizados que actúen para sus propietarios humanos.
1. Internet de las cosas creará oportunidades y la combinación de mayores beneficios y bajos costes ayudará a empresas e industrias hacia la década de 2020.
2. Los 5 principales factores que alimentan a Internet de las Cosas son:a)Utilización de activos (reducción de costes)b)Productividad de los empleadosc) Cadena de aprovisionamiento y logística (eliminación de gastos)d)Experiencia de usuarios (aumento de clientes)e)Innovación (reducción del tiempo de llegada al mercado)
3. Las tendencias tecnológicas, que incluyen la nube, la movilidad, Big data, el incremento de
capacidad de proceso, y las económicas están dirigiendo la economía.
4. Esas tecnologías y tendencias en los negocios están impulsando a Internet de las Cosas, creando una oportunidad sin precedentes para conectar lo desconectado: personas, procesos, información y cosas.
5. Para obtener el mayor valor las empresas deben transformarse basándose en los casos de uso clave que constituyen la mayoría del valor. Estos casos incluyen edificios inteligentes, sanidad y monitorización de pacientes, industrias, educación, flotas comerciales de vehículos, marketing y publicidad, juegos y entretenimiento, entre otros.
6. Las capacidades de seguridad robustas (tanto lógicas como físicas) y las políticas de privacidad son características críticas de esta economía. Este crecimiento podría ser inhibido si las capacidades de seguridad de la tecnología no son combinadas con políticas y procesos diseñados para proteger la privacidad tanto de las compañías como de los particulares.
7. La siguiente oleada del imparable crecimiento de Internet vendrá de la confluencia entre personas, procesos, información y cosas. Todo ello sin olvidarnos de la Sustentabilidad.
Internet de las cosas
Palabra clave: «Apps»
Facebook Open Graph Protocol
Cada objeto en el social graph tiene un único ID
Cualquier sitio puede ser parte del ecosistema de Facebook
Google Knowledge Graph
Google está mejorando su enfoque de búsqueda para hacerla más semántica implementando su knowledge graph (semantic Web en vocabulario de Google).
SemanticWebBuilder es
una plataforma para el
desarrollo de aplicaciones
y portales semánticos.
Conclusiones
El Desarrollo Orientado a la Semántica es un nuevo paradigma que utiliza el conocimiento como punto de partida en el desarrollo de sistemas semánticos.
En lugar de agregar metadatos o anotaciones al código de los desarrolladores, el código es generado de manera automática a partir de un modelo ontológico y la persistencia en RDF es asegurada de manera nativa.
La suite de productos de SemanticWebBuilder® permite aplicar de manera eficiente el proceso de Desarrollo Orientado a la Semántica, que consiste en a) modelar los recursos; b) generar código y c) programar la lógica específica.
Con el Desarrollo Orientado a la Semántica de SemanticWebBuilder® se pueden desarrollar de manera rápida aplicaciones y Sitios Web Semánticos, cuya información es almacenada en un modelo de triplas y puede ser consultada a través de un endpoint.
Conclusiones
Linked Data es ya una realidad y nos abre las puertas a un nuevo mundo de posibilidades, en donde la integración de datos de diferentes fuentes es el punto principal.
Actualmente existen muchas fuentes de datos accesibles por medio de APIs de la Web 2.0 como eBay, Amazon, Yahoo, Google. Comparado con estas, Linked Data tiene la ventaja de proveer una solo mecanismo estándar para el intercambio de datos, permitiendo a las fuentes de datos sea:
• Más fácil para indexar por los buscadores• Es accesible por los navegadores genéricos• Permite ligar datos de diferentes fuentes.
Síguenos en nuestras redes sociales:
www.infotec.mxwww.semanticwebbuilder.org.mxclienteswb@infotec.com.mx
@SemWebBuilder SemanticWebBuilder SemanticWebBuilder
SemWebBuilder SemanticWebBuilder +SemanticwebbuilderOrgMx
L S C A VICTOR JESUS HERNANDEZ SALINAS
[email protected] /@hersalvj